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.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
pela região do Google Cloud em
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
,noProxy
ehttpsProxy
:{ "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:80
ou 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 camponoProxy
instrui 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.com
inclui endereços comomail.google.com
edrive.google.com
, mas excluigoogle.com
. - Inclua os domínios
kubernetes.default.svc.cluster.local
ekubernetes.default.svc
para 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
httpProxy
ehttpsProxy
não aceitam prefixoshttps://
. Usehttp://
, mesmo que o endereço real do servidor proxy comece comhttps://
. Por exemplo, representehttps://proxy.example.com:3128
comohttp://proxy.example.com:3128
. - É obrigatório informar valores para os três campos:
httpProxy
,httpsProxy
enoProxy
. - 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_FILE
Substitua:
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
immutable
comotrue
:kubectl edit secret SECRET_NAME
Substitua
SECRET_NAME
pelo nome do servidor Secreto.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-name
e--proxy-secret-namespace
:gcloud container attached clusters register CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACE
Substitua:
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-name
e--proxy-secret-namespace
:gcloud container attached clusters update CLUSTER_NAME \ --proxy-secret-name=SECRET_NAME \ --proxy-secret-namespace=SECRET_NAMESPACE
Substitua:
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 o 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.