更改集群代理设置

1.8 版 GKE on AWS 在不重新创建集群的情况下修改集群的代理设置的功能。

更改管理服务的代理

如需修改 GKE on AWS 管理服务的代理设置,请执行以下步骤:

  1. 更新管理服务的 proxy.json 文件的内容,如创建代理配置 JSON 文件中所述。

  2. 重新运行 anthos-gke aws management initanthos-gke aws management apply 以将更改应用到管理服务。

更改用户集群的代理

创建用户集群时,它使用管理服务的代理设置。如需更改用户集群的代理设置,而不更改管理服务的代理设置,您必须创建包含代理信息的 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 替换为代理服务器地址,以通过其路由 HTTP 请求
    • HTTPS_PROXY 替换为可选的代理服务器地址,以通过其路由 HTTPS 请求
    • NO_PROXY_LIST 替换为您的 VPN 中不应使用代理的 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 命令以应用新代理设置后,用户集群状态会从 Provisioned 更改为 Updating,并在完成后变回 Provisioned

为多个用户集群设置代理

如果您有多个用户集群,并且想为每个集群配置不同的代理,请按照更改用户集群的代理中的说明,为每个集群进行操作。您必须为每个代理创建一个不同的 Kubernetes Secret,并且必须分别更新每个用户集群配置,以引用该用户集群的 Secret 名称。

轮替用户集群的代理

如需更改已具有单独代理设置的集群的代理设置,请使用新代理设置和不同的 Secret 名称创建并应用新的 Secret。如果您重复使用当前 Secret 名称,则集群的代理设置将不会发生变化。

问题排查

如果 Secret 格式不正确或缺少必需的密钥,则命令会失败,并且不会应用更改。要检查您的 Secret 是否已正确验证,请使用以下命令查看 AWSCluster 和 AWSNodePool 的 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 的名称。

然后使用格式正确的代理 Secret YAML 文件重新创建 Secret,然后重新应用更改。您可以使用在首次尝试中使用的相同 Secret 名称。

了解详情

如需首次配置代理设置,请参阅使用代理

如需创建专用 AWS VPC,请参阅安装管理服务