跳至內容

與 Istio 服務網格的事件整合

旗標名稱: istio

階段: Beta,預設為停用

追蹤問題: #6596

概述

管理員可以使用 Istio 與事件處理,來加密、驗證和授權對事件處理元件的請求。

先決條件

安裝

某些事件處理元件使用 ExternalName 類型的服務,對於這類服務,需要手動設定 Istio 以使用相互 TLS 連線到這些服務。

事件處理會發布一個控制器,該控制器會自動設定 Istio,以便任何屬於 Istio 網格一部分的 pod 都可以與同樣屬於同一個 Istio 網格的事件處理元件通訊。

  1. 建立事件處理命名空間並啟用 Istio 注入
    kubectl create namespace knative-eventing --dry-run=client -oyaml | kubectl apply -f -
    kubectl label namespace knative-eventing istio-injection=enabled
    
  2. 依照事件處理安裝

  3. 安裝 eventing-istio-controller

    kubectl apply -f https://github.com/knative-extensions/eventing-istio/releases/download/knative-v1.16.0/eventing-istio.yaml
    

  4. 確認 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"

我們使用分析和 Cookie 來了解網站流量。關於您使用我們網站的資訊會與 Google 分享,以達到該目的。瞭解更多。