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:
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 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 apenas198.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 camponoProxy
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 comomail.google.com
edrive.google.com
, mas excluigoogle.com
. - Certifique-se de incluir os domínios
kubernetes.default.svc.cluster.local
ekubernetes.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
.
- Os valores podem ser endereços IP individuais, intervalos CIDR, nomes de domínio ou até mesmo o caractere asterisco (*). Usar um único asterisco (
Ao criar o arquivo de configuração do proxy, siga as seguintes 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 fornecer valores para todos os três campos:
httpProxy
,httpsProxy
enoProxy
. - Considere adicionar domínios, endereços IP ou CIDRs adicionais à lista
noProxy
. Recomendamos que você inclua o intervalo de IP da VPC.
-
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.
-
Marque o segredo do Kubernetes como imutável definindo seu campo
immutable
comotrue
:kubectl edit secret SECRET_NAME
Substitua
SECRET_NAME
pelo nome do segredo do Kubernetes.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.