透過 Proxy 設定憑證授權單位連線
本指南說明如何在無法透過側載注入的工作負載建立直接連線 (例如因防火牆或其他限制性功能而無法連線) 時,透過 Proxy 設定憑證授權單位 (CA) 連線。這項設定僅適用於使用憑證授權單位服務的 Cloud Service Mesh 安裝作業。
在典型的叢集內 Cloud Service Mesh 安裝作業中,您會在應用程式 Pod 中部署 sidecar,以便直接連線至 CA 服務 (例如 meshca.googleapis.com
和 privateca.googleapis.com
)。在無法使用直接連線的情況下,您必須設定明確的 CONNECT
型 HTTPS Proxy。
事前準備
透過 Proxy 設定 CA 連線之前,請確認您已:
- 建立從所有補充 Pod 到 HTTPS Proxy 的網路連線。
- 已授予已部署的 HTTPS Proxy 存取所有 Google Cloud 服務的權限。
設定 ProxyConfig 自訂資源
設定 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
環境變數。
安裝 Cloud Service Mesh 控制層後,請在叢集上套用適當的
ProxyConfig
CR (在步驟 1 中設定),然後在 Cloud Service Mesh 標記命名空間中重新啟動工作負載,以確保設定正確插入 sidecar。這個設定是 sidecar 取得 CA 簽署的工作負載憑證所需的,可確保 sidecar 注入的 Pod 能啟動。