透過 Proxy 設定憑證授權單位連線

本指南說明如何在無法透過側載注入的工作負載建立直接連線 (例如因防火牆或其他限制性功能而無法連線) 時,透過 Proxy 設定憑證授權單位 (CA) 連線。這項設定僅適用於使用憑證授權單位服務的 Cloud Service Mesh 安裝作業。

在典型的叢集內 Cloud Service Mesh 安裝作業中,您會在應用程式 Pod 中部署 sidecar,以便直接連線至 CA 服務 (例如 meshca.googleapis.comprivateca.googleapis.com)。在無法使用直接連線的情況下,您必須設定明確的 CONNECT 型 HTTPS Proxy。

事前準備

透過 Proxy 設定 CA 連線之前,請確認您已:

  • 建立從所有補充 Pod 到 HTTPS Proxy 的網路連線。
  • 已授予已部署的 HTTPS Proxy 存取所有 Google Cloud 服務的權限。

設定 ProxyConfig 自訂資源

  1. 設定 Istio ProxyConfig 自訂資源 (CR),以便將其插入 sidecar proxy,並將其指向 HTTPS proxy。例如:

    apiVersion: networking.istio.io/v1beta1
    kind: ProxyConfig
    metadata:
     labels:
      istio.io/rev: <istio-rev>   # To target proxies mapped to a specific control plane if needed.
     name: test-proxy-inject
     namespace: istio-system      # To ensure side-cars injected into all namespaces process this CR
    spec:
     environmentVariables:
      CA_PLUGIN_PROXY_URL: http://<proxy-service>.<proxy-ns>:<proxy-port>
    

    其中:

    • CA_PLUGIN_PROXY_URL 是 sidecar 使用的設定,可與 Proxy 建立 CONNECT 握手,然後將所有 CA 目的地流量轉送至相關端點。
    • proxy-service 會部署在 proxy-ns 命名空間中,並監聽 proxy-port 通訊埠上的 CONNECT 握手。這個環境變數的格式類似標準 HTTPS_PROXY 環境變數。
  2. 安裝 Cloud Service Mesh 控制層後,請在叢集上套用適當的 ProxyConfig CR (在步驟 1 中設定),然後在 Cloud Service Mesh 標記命名空間中重新啟動工作負載,以確保設定正確插入 sidecar。這個設定是 sidecar 取得 CA 簽署的工作負載憑證所需的,可確保 sidecar 注入的 Pod 能啟動。