Kyma 的 Application Connectivity 負責解決下列領域的問題:
- 簡化和保護外部系統和 Kyma 之間的連線
- 註冊外部事件和 API 並簡化 API 使用
- 透過事件機制提供與部署在 Kyma 中的服務和功能的非同步通訊
- 管理對外部系統的安全訪問
- 提供監控和跟蹤功能,便於運維人員管理
根據實際的應用場景,Application Connectivity 以下兩種模式之一工作:
- 傳統模式(預設) - 使用應用程式登錄檔和聯結器服務等元件
- Compass 模式 - 使用 Runtime Agent 並與 Compass 整合
應用程式聯結器 (AC) 是一個自定義的內部構建的 Kyma 元件,允許 Kyma 連線外部解決方案。無論要整合本地系統還是雲系統,整合過程都不會改變,這可以避免任何與配置或網路相關的問題。
使用 AC 連線到 Kyma 的外部解決方案,在 Kyma 建模流程裡的實體被描述為一個應用程式。連線的解決方案和應用程式之間始終存在一對一的關係,這有助於確保最高階別的安全性和分離性。這意味著理論上來說,必須在叢集中建立 N
個單獨的應用程式, 以連線 N
個不同的外部解決方案, 並在 Kyma 中使用它們的 API 和事件目錄。
應用程式聯結器由 Istio Ingress Gateway 驗證的客戶端證書保護。根 CA 證書由 Application Connector Certs Setup 作業生成並儲存為 Kubernetes Secret。預設情況下,伺服器金鑰和證書是自動生成的,但可以在安裝過程中提供自定義伺服器證書和金鑰。
應用聯結器:
- 管理應用程式的生命週期。
- 建立安全連線並生成連線的外部解決方案使用的客戶端證書。
- 註冊連線的外部解決方案的 API 和事件目錄。
- 將事件從連線的外部解決方案傳遞到 Eventing。
- 從 Kyma 傳送到連線的外部解決方案註冊的外部 API 的代理呼叫。
所有 AC 元件都獨立擴充套件,允許對其進行調整以適應使用 Kyma 構建的實施的需求。
Application Gateway
應用程式閘道器是函式或服務與外部 API 之間的中間元件。
它根據儲存在 Secrets 中的配置將來自 Kyma 中的功能和服務的請求代理到外部 API。
應用程式閘道器可以呼叫不安全的服務,或者透過以下方式保護:
- Basic Authentication
- OAuth
- Client certificates
此外,應用程式閘道器支援跨站點請求偽造 (cross-site request forgery ,CSRF) 令牌作為 API 保護的可選層。