與 Istio 服務網格的事件整合¶
旗標名稱: istio
階段: Beta,預設為停用
追蹤問題: #6596
概述¶
管理員可以使用 Istio 與事件處理,來加密、驗證和授權對事件處理元件的請求。
先決條件¶
- 為了啟用 istio 整合,您需要依照 Istio 安裝指南 安裝 Istio。
安裝¶
某些事件處理元件使用 ExternalName
類型的服務,對於這類服務,需要手動設定 Istio 以使用相互 TLS 連線到這些服務。
事件處理會發布一個控制器,該控制器會自動設定 Istio,以便任何屬於 Istio 網格一部分的 pod 都可以與同樣屬於同一個 Istio 網格的事件處理元件通訊。
- 建立事件處理命名空間並啟用 Istio 注入
kubectl create namespace knative-eventing --dry-run=client -oyaml | kubectl apply -f - kubectl label namespace knative-eventing istio-injection=enabled
-
安裝
eventing-istio-controller
kubectl apply -f https://github.com/knative-extensions/eventing-istio/releases/download/knative-v1.16.0/eventing-istio.yaml
- 確認
eventing-istio-controller
已就緒範例輸出kubectl get deployment -n knative-eventing
NAME ... READY eventing-istio-controller ... True # other deployments omitted ...
啟用 istio 整合¶
istio
功能旗標是一個列舉組態,會設定 eventing-istio-controller
為事件處理資源建立 Istio 資源。
istio
的可能值為
停用
- 停用事件處理與 Istio 的整合
啟用
- 啟用事件處理與 Istio 的整合
例如,若要啟用 istio
整合,config-features
ConfigMap 會如下所示
apiVersion: v1
kind: ConfigMap
metadata:
name: config-features
namespace: knative-eventing
data:
istio: "enabled"