Como alterar as configurações de proxy do cluster

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

Como alterar o proxy do serviço de gerenciamento

Para modificar as configurações de proxy do serviço de gerenciamento do GKE na AWS, siga as etapas a seguir:

  1. Atualize o conteúdo do arquivo proxy.json do serviço de gerenciamento, conforme descrito em Como criar o arquivo JSON de configuração do proxy.

  2. Execute anthos-gke aws management init e anthos-gke aws management apply novamente para aplicar as alterações ao serviço de gerenciamento.

Como alterar o proxy do cluster de usuário

Quando você cria um cluster de usuário, ele usa as configurações de proxy do serviço de gerenciamento. Para alterar as configurações de proxy de um cluster de usuário sem alterar as configurações do serviço de gerenciamento, crie um secret do Kubernetes que contenha as informações do proxy e use kubectl para aplicar as alterações.

Criar um secret do Kubernetes

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

    Substitua:

    • HTTP_PROXY pelo endereço do servidor proxy para rotear solicitações HTTP
    • HTTPS_PROXY com um endereço de servidor proxy opcional para encaminhar solicitações HTTPS
    • NO_PROXY_LIST com uma lista opcional de IPs, intervalos CIDR e domínios na VPN para os quais um proxy não pode ser usado
    • PROXY_SECRET pelo nome escolhido para o secret
  2. Aplique as alterações para criar o secret:

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

Atualizar as configurações de cluster de usuário e de pool de nós

Em seguida, atualize a configuração do AWSCluster e do AWSNodePool para se referir ao nome do secret em spec.proxySecretName e spec.controlPlane.proxySecretName, respectivamente.

Por fim, emita o comando a seguir para atualizar o cluster de usuário.

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

Substitua CLUSTER_YAML_FILE pelo nome do arquivo yaml que define o cluster.

Alterações no status do cluster de usuário

Depois de executar o comando kubectl apply para aplicar as novas configurações de proxy, o status do cluster de usuário mudará de Provisioned para Updating e retornará para Provisioned quando terminar.

Como definir proxies para mais de um cluster de usuário

Se você tiver vários clusters de usuário e quiser configurar proxies diferentes para cada um deles, siga as instruções de Como alterar o proxy para o cluster de usuário para cada um dos clusters. É necessário criar um Kubernetes Secret diferente para cada proxy e atualizar cada configuração de cluster de usuário separadamente para se referir ao nome do secret desse cluster de usuário.

Como fazer a rotação de proxies para um cluster de usuário

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

Solução de problemas

Se o secret não estiver bem formado ou não tiver chaves necessárias, o comando falhará e a alteração não será aplicada. Para verificar se o secret foi validado corretamente, use o comando a seguir no log de eventos do Kubernetes para AWSClusters e AWSNodePools:

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

Se houver um erro na configuração do secret, exclua o secret com o seguinte comando:

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

Substitua SECRET_NAME pelo nome do seu secret.

Em seguida, recrie o secret com um arquivo YAML de proxy formatado corretamente e aplique a alteração novamente. É possível usar o mesmo nome de secret que foi usado na primeira tentativa.

Para saber mais

Para definir as configurações de proxy pela primeira vez, consulte Como usar um proxy.

Para criar uma VPC dedicada da AWS, consulte Como instalar o serviço de gerenciamento.