變更叢集 Proxy 設定

AWS 上的 GKE 1.8 版新增了修改叢集 Proxy 設定的功能,不必重新建立叢集。

變更管理服務的 Proxy

如要修改 GKE on AWS 管理服務的 Proxy 設定,請按照下列步驟操作:

  1. 如「建立 Proxy 設定 JSON 檔案」一文所述,更新管理服務的 proxy.json 檔案內容。

  2. 重新執行 anthos-gke aws management initanthos-gke aws management apply,將變更套用至管理服務。

變更使用者叢集的 Proxy

建立使用者叢集時,系統會使用管理服務的 Proxy 設定。 如要變更使用者叢集的 Proxy 設定,但不要變更管理服務的設定,請建立包含 Proxy 資訊的 Kubernetes Secret,然後使用 kubectl 套用變更。

建立 Kubernetes Secret

  1. 首先,請建立含有下列內容的 YAML 檔案,說明 Secret。 Secret 必須定義為不透明且不可變動。本範例使用檔案名稱 proxy-secret.yaml

     apiVersion: v1
     kind: Secret
     metadata:
       name: PROXY_SECRET
     type: Opaque
     immutable: true
     stringData:
       # You can include additional key value pairs as you do with Opaque Secrets
       httpProxy: HTTP_PROXY
       httpsProxy: HTTPS_PROXY
       noProxy: NO_PROXY_LIST
     

    取代:

    • HTTP_PROXY,並提供 Proxy 伺服器位址,將 HTTP 要求轉送至
    • HTTPS_PROXY,並可選擇提供 Proxy 伺服器地址,以便透過該地址轉送 HTTPS 要求
    • NO_PROXY_LIST,並可選擇性提供 VPN 內不應使用 Proxy 的 IP、CIDR 範圍和網域清單
    • PROXY_SECRET 改成您為 Secret 選擇的名稱
  2. 套用變更來建立 Secret:

    env HTTPS_PROXY=http://localhost:8118 \
       kubectl apply -f ./proxy-secret.yaml
    

更新使用者叢集和節點集區設定

接著,更新 AWSCluster 和 AWSNodePool 設定,分別參照 spec.proxySecretNamespec.controlPlane.proxySecretName 下的 Secret 名稱。

最後,發出下列指令來更新使用者叢集。

   env HTTPS_PROXY=http://localhost:8118 \
     kubectl apply -f CLUSTER_YAML_FILE

CLUSTER_YAML_FILE 替換為定義叢集的 YAML 檔案名稱。

使用者叢集狀態變更

執行 kubectl apply 指令套用新的 Proxy 設定後,使用者叢集狀態會從 Provisioned 變更為 Updating,完成後則會返回 Provisioned

為多個使用者叢集設定 Proxy

如果您有多個使用者叢集,且想為每個叢集設定不同的 Proxy,請按照變更使用者叢集的 Proxy 指示操作。您必須為每個 Proxy 建立不同的 Kubernetes Secret,並分別更新每個使用者叢集設定,以參照該使用者叢集的 Secret 名稱。

輪替使用者叢集的 Proxy

如要變更已具備個別 Proxy 設定的叢集 Proxy 設定,請建立並套用具有新 Proxy 設定和不同密鑰名稱的新密鑰。如果重複使用目前的密鑰名稱,叢集的 Proxy 設定不會變更。

疑難排解

如果密鑰格式不正確或缺少必要金鑰,指令就會失敗,且系統不會套用變更。如要檢查 Secret 是否已正確驗證,請使用下列指令查看 AWSClusters 和 AWSNodePools 的 Kubernetes 事件記錄:

   env HTTPS_PROXY=http://localhost:8118 \
     kubectl get events

如果 Secret 設定有誤,請使用下列指令刪除 Secret:

  env HTTPS_PROXY=http://localhost:8118 \
    kubectl delete secret SECRET_NAME
  

SECRET_NAME 替換為您的 Secret 名稱。

然後使用格式正確的 Proxy Secret YAML 檔案重新建立 Secret,並重新套用變更。你可以使用與第一次嘗試相同的密鑰名稱。

瞭解詳情

如要首次設定 Proxy 設定,請參閱「使用 Proxy」。

如要建立專屬 AWS 虛擬私有雲,請參閱「安裝管理服務」。