Se a organização usar um proxy HTTP para o tráfego da Internet, será necessário configurar os clusters anexados ao GKE de maneira adequada. Neste documento, descrevemos como executar essa configuração.
Antes de começar
Os clusters anexados ao GKE exigem conectividade com vários serviços do Google Cloud . Verifique se o servidor proxy permite tráfego para os seguintes domínios:
.gcr.iocloudresourcemanager.googleapis.comcontainer.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comoauth2.googleapis.comsecuretoken.googleapis.comstorage.googleapis.comsts.googleapis.comwww.googleapis.comservicecontrol.googleapis.comlogging.googleapis.commonitoring.googleapis.comopsconfigmonitoring.googleapis.comGCP_LOCATION-gkemulticloud.googleapis.com
Substitua GCP_LOCATION pela Google Cloud região em
que o cluster reside. Especifique us-west1 ou outra
região compatível.
Configurar o suporte a proxy para clusters anexados ao GKE
Para configurar o suporte a proxy para clusters anexados do GKE, siga estas etapas:
Crie um arquivo de configuração de proxy que contenha valores para as chaves
httpProxy,noProxyehttpsProxy:{ "httpProxy": HTTP_PROXY_AUTHENTICATION_URL, "httpsProxy": HTTPS_PROXY_AUTH_URL, "noProxy": NO_PROXY_ADDRESSES }Substitua:
HTTP_PROXY_AUTHENTICATION_URL: o URL do servidor proxy, que consiste em um nome do host/endereço IP e, opcionalmente, uma porta, nome de usuário e senha. Por exemplo:http://user:password@192.0.2.0:80ou apenas198.51.100.255.HTTPS_PROXY_AUTH_URL: o URL do proxy para tráfego HTTPS criptografado, que consiste em um nome do 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 direciona os clusters anexados ao GKE para 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 (*). O uso de um único asterisco (
*) no camponoProxyinstrui os clusters anexados ao GKE a pular o proxy para todo o tráfego. - Um domínio à esquerda com um ponto, como
.google.com, tem como alvo todos os subdomínios. Por exemplo,.google.cominclui endereços comomail.google.comedrive.google.com, mas excluigoogle.com. - Inclua os domínios
kubernetes.default.svc.cluster.localekubernetes.default.svcpara uma geração de registros adequada. Acesse um exemplo:198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc.
- Os valores podem ser endereços IP individuais, intervalos CIDR, nomes de domínio ou até mesmo o caractere asterisco (*). O uso de um único asterisco (
Ao criar o arquivo de configuração de proxy, siga estas diretrizes:
- Os campos
httpProxyehttpsProxynão aceitam prefixoshttps://. Usehttp://, mesmo que o endereço real do servidor proxy comece comhttps://. Por exemplo, representehttps://proxy.example.com:3128comohttp://proxy.example.com:3128. - É obrigatório informar valores para os três campos:
httpProxy,httpsProxyenoProxy. - Considere anexar outros domínios, endereços IP ou CIDRs à
lista
noProxy. Recomendamos que você inclua o intervalo de IP da VPC.
Execute o seguinte comando para criar um secret do Kubernetes, que contenha a configuração do proxy:
kubectl create secret generic SECRET_NAME \ --from-file=PROXY_CONFIGURATION_FILESubstitua:
SECRET_NAME: o nome do secret do KubernetesPROXY_CONFIGURATION_FILE: o caminho para a configuração do proxy que você criou na etapa 1.
Marque o secret do Kubernetes como imutável definindo o campo
immutablecomotrue:kubectl edit secret SECRET_NAMESubstitua
SECRET_NAMEpelo nome do secret do Kubernetes.Configure um cluster novo ou atual 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. Informe os argumentos opcionais--proxy-secret-namee--proxy-secret-namespace:gcloud container attached clusters register CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACESubstitua:
CLUSTER_NAME: o nome do cluster.SECRET_NAME: o nome do Secret do Kubernetes que contém a configuração de proxySECRET_NAMESPACE: o namespace do Kubernetes em que o Secret está armazenado.
Para mais informações sobre todos os argumentos que podem ser usados ao registrar um cluster, consulte 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. Informe os argumentos opcionais--proxy-secret-namee--proxy-secret-namespace:gcloud container attached clusters update CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACESubstitua:
CLUSTER_NAME: o nome do cluster.SECRET_NAME: o nome do Secret do Kubernetes que contém a configuração de proxySECRET_NAMESPACE: o namespace do Kubernetes em que o Secret está armazenado.
Esta etapa é necessária se os detalhes do servidor proxy tiverem sido alterados ou se um registro inicial do cluster ignorou os requisitos de proxy.
Para mais informações sobre todos os argumentos que podem ser usados ao atualizar um cluster, consulte comando
gcloud container attached clusters update.
Depois de executar essas etapas, os clusters anexados do GKE processarão o tráfego de saída da Internet usando o servidor proxy especificado no arquivo de configuração.