Suporte de proxy para clusters anexados ao AKS

Se a sua organização usa um proxy HTTP para tráfego de internet, você precisa configurar os clusters conectados ao GKE adequadamente. Este documento descreve como realizar essa configuração.

Antes de começar

Os clusters anexados do GKE exigem conectividade com vários Google Cloud serviços. Certifique-se de que seu servidor proxy permita tráfego para os seguintes domínios:

  • .gcr.io
  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • oauth2.googleapis.com
  • securetoken.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com
  • www.googleapis.com
  • servicecontrol.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • GCP_LOCATION -gkemulticloud.googleapis.com

Substitua GCP_LOCATION por Google Cloud região em que seu cluster reside. Especifique us-west1 ou outra região suportada .

Configurar suporte a proxy para clusters conectados ao GKE

Para configurar o suporte a proxy para clusters conectados ao GKE, siga estas etapas:

  1. Crie um arquivo de configuração de proxy que contenha valores para as chaves httpProxy , noProxy e httpsProxy :

    {
    "httpProxy": HTTP_PROXY_AUTHENTICATION_URL,
    "httpsProxy": HTTPS_PROXY_AUTH_URL,
    "noProxy": NO_PROXY_ADDRESSES
    }
    

    Substitua o seguinte:

    • HTTP_PROXY_AUTHENTICATION_URL : a URL do servidor proxy, que consiste em um nome de host/endereço IP e, opcionalmente, uma porta, nome de usuário e senha. Por exemplo: http://user:password@192.0.2.0:80 ou apenas 198.51.100.255 .
    • HTTPS_PROXY_AUTH_URL : a URL do proxy para tráfego HTTPS criptografado, que consiste em um nome de host/endereço IP e, opcionalmente, uma porta, nome de usuário e senha.
    • NO_PROXY_ADDRESSES : uma lista separada por vírgulas de URLs, blocos CIDR e nomes DNS de recursos que podem ignorar o proxy. Isso instrui os clusters conectados ao GKE a evitar o uso do proxy para os recursos especificados. Lembre-se do seguinte:
      • Os valores podem ser endereços IP individuais, intervalos CIDR, nomes de domínio ou até mesmo o caractere asterisco (*). Usar um único asterisco ( * ) no campo noProxy informa aos clusters conectados ao GKE para ignorar o proxy para todo o tráfego.
      • Um domínio com um ponto, como .google.com , tem como alvo todos os seus subdomínios. Por exemplo, .google.com inclui endereços como mail.google.com e drive.google.com , mas exclui google.com .
      • Certifique-se de incluir os domínios kubernetes.default.svc.cluster.local e kubernetes.default.svc para um registro adequado. Veja um exemplo: 198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc .

    Ao criar o arquivo de configuração do proxy, siga as seguintes diretrizes:

    • Os campos httpProxy e httpsProxy não aceitam prefixos https:// . Use http:// , mesmo que o endereço real do servidor proxy comece com https:// . Por exemplo, represente https://proxy.example.com:3128 como http://proxy.example.com:3128 .
    • É obrigatório fornecer valores para todos os três campos: httpProxy , httpsProxy e noProxy .
    • Considere adicionar domínios, endereços IP ou CIDRs adicionais à lista noProxy . Recomendamos que você inclua o intervalo de IP da VPC.
  2. Crie um segredo do Kubernetes, que contém a configuração do proxy, executando o seguinte comando:

    kubectl create secret generic SECRET_NAME \
    --from-file=PROXY_CONFIGURATION_FILE
    

    Substitua o seguinte:

    • SECRET_NAME : o nome do segredo do Kubernetes
    • PROXY_CONFIGURATION_FILE : o caminho para a configuração de proxy que você criou na etapa 1.
  3. Marque o segredo do Kubernetes como imutável definindo seu campo immutable como true :

    kubectl edit secret SECRET_NAME
    

    Substitua SECRET_NAME pelo nome do segredo do Kubernetes.

  4. Configure um cluster novo ou existente para usar o proxy:

    Novo cluster

    Para registrar um novo cluster e aplicar a configuração de proxy, use o comando gcloud container attached clusters register . Certifique-se de fornecer os argumentos opcionais --proxy-secret-name e --proxy-secret-namespace :

    gcloud container attached clusters register CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Substitua o seguinte:

    • CLUSTER_NAME : o nome do cluster
    • SECRET_NAME : o nome do segredo do Kubernetes que contém a configuração do proxy
    • SECRET_NAMESPACE : o namespace do Kubernetes onde o segredo é armazenado

    Para obter informações sobre todos os argumentos que você pode usar ao registrar um cluster, consulte o comando gcloud container attached clusters register .

    Cluster existente

    Para atualizar um cluster registrado anteriormente com uma nova configuração de proxy, use o comando gcloud container attached clusters update . Certifique-se de fornecer os argumentos opcionais --proxy-secret-name e --proxy-secret-namespace :

    gcloud container attached clusters update CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Substitua o seguinte:

    • CLUSTER_NAME : o nome do cluster
    • SECRET_NAME : o nome do segredo do Kubernetes que contém a configuração do proxy
    • SECRET_NAMESPACE : o namespace do Kubernetes onde o segredo é armazenado

    Esta etapa é necessária se os detalhes do seu servidor proxy foram alterados ou se um registro de cluster inicial ignorou os requisitos de proxy.

    Para obter informações sobre todos os argumentos que você pode usar ao atualizar um cluster, consulte o comando gcloud container attached clusters update .

Depois de executar essas etapas, os clusters conectados ao GKE processam o tráfego de saída da Internet usando o servidor proxy especificado no arquivo de configuração.