Alterar as definições de proxy do cluster

A versão 1.8 do GKE no AWS adiciona a capacidade de modificar as definições de proxy de um cluster sem recriar um cluster.

Alterar o proxy do seu serviço de gestão

Para modificar as definições de proxy do serviço de gestão do GKE on AWS, siga estes passos:

  1. Atualize o conteúdo do ficheiro proxy.json do serviço de gestão, conforme descrito em Criar o ficheiro JSON de configuração do proxy.

  2. Volte a executar anthos-gke aws management init e anthos-gke aws management apply para aplicar as alterações ao serviço de gestão.

Alterar o proxy para o cluster de utilizadores

Quando cria um cluster de utilizadores, este usa as definições de proxy do serviço de gestão. Para alterar as definições de proxy de um cluster de utilizadores sem alterar as do serviço de gestão, tem de criar um segredo do Kubernetes que contenha as informações do proxy e, em seguida, usar kubectl para aplicar as alterações.

Crie um segredo do Kubernetes

  1. Primeiro, crie um ficheiro YAML com o seguinte conteúdo para descrever o segredo. O segredo tem de ser definido como opaco e imutável. Este exemplo usa o nome do ficheiro 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
     

    Substituição:

    • HTTP_PROXY com o endereço do servidor proxy para encaminhar pedidos HTTP através de
    • HTTPS_PROXY com um endereço de servidor proxy opcional para encaminhar pedidos HTTPS através de
    • NO_PROXY_LIST com uma lista opcional de IPs, intervalos CIDR e domínios na sua VPN para os quais não deve ser usado um proxy
    • PROXY_SECRET com o nome que escolher para o Secret
  2. Aplique as alterações para criar o segredo:

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

Atualize as configurações do cluster de utilizadores e do node pool

Em seguida, atualize a configuração de AWSCluster e AWSNodePool para fazer referência ao nome do segredo em spec.proxySecretName e spec.controlPlane.proxySecretName, respetivamente.

Por último, execute o seguinte comando para atualizar o cluster de utilizadores.

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

Substitua CLUSTER_YAML_FILE pelo nome do ficheiro YAML que define o cluster.

Alterações ao estado do cluster de utilizadores

Depois de executar o comando kubectl apply para aplicar as novas definições de proxy, o estado do cluster de utilizadores muda de Provisioned para Updating e, em seguida, volta a Provisioned quando terminar.

Definir proxies para mais do que um cluster de utilizadores

Se tiver vários clusters de utilizadores e quiser configurar proxies diferentes para cada um deles, siga as instruções em Alterar o proxy para o cluster de utilizadores para cada um dos seus clusters. Tem de criar um Kubernetes Secret diferente para cada proxy e tem de atualizar a configuração de cada cluster de utilizadores separadamente para fazer referência ao nome do Secret desse cluster de utilizadores.

Rotação de proxies para um cluster de utilizadores

Para alterar as definições de proxy de um cluster que já tem definições de proxy individuais, crie e aplique um novo segredo com as novas definições de proxy e um nome de segredo diferente. Se reutilizar o nome do segredo atual, as definições de proxy do cluster não são alteradas.

Resolução de problemas

Se o segredo não estiver formatado corretamente ou faltarem chaves obrigatórias, o comando falha e a alteração não é aplicada. Para verificar se o segredo foi validado corretamente, consulte o registo de eventos do Kubernetes para AWSClusters e AWSNodePools com o seguinte comando:

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

Se tiver ocorrido um erro na configuração do segredo, elimine o segredo com o seguinte comando:

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

Substitua SECRET_NAME pelo nome do seu segredo.

Em seguida, recrie o segredo com um ficheiro YAML de segredo do proxy formatado corretamente e volte a aplicar a alteração. Pode usar o mesmo nome do segredo que foi usado na primeira tentativa.

Para obter mais informações

Para configurar as definições de proxy pela primeira vez, consulte o artigo Usar um proxy.

Para criar uma VPC da AWS dedicada, consulte o artigo Instalar o serviço de gestão.