Se a sua organização usar um proxy HTTP para o tráfego da Internet, tem de configurar os clusters anexados do GKE em conformidade. Este documento descreve como realizar esta configuração.
Antes de começar
Os clusters anexados do GKE requerem conetividade a vários Google Cloud serviços. Certifique-se de que o seu servidor proxy permite o 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 Google Cloud região em que o cluster reside. Especifique us-west1
ou outra
região suportada.
Configure o suporte de proxy para clusters anexados do GKE
Para configurar o suporte de proxy para clusters anexados do GKE, siga estes passos:
Crie um ficheiro 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
: o URL do servidor proxy, que consiste num nome de anfitrião/endereço IP e, opcionalmente, numa porta, num nome de utilizador e numa palavra-passe. 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 encriptado, que consiste num nome de anfitrião/endereço IP e, opcionalmente, numa porta, num nome de utilizador e numa palavra-passe.NO_PROXY_ADDRESSES
: uma lista separada por vírgulas de URLs, blocos CIDR e nomes DNS de recursos que podem ignorar o proxy. Isto direciona os clusters anexados do GKE para evitar a utilização do proxy para os recursos especificados. Tenha em atenção o seguinte:- Os valores podem ser endereços IP individuais, intervalos CIDR, nomes de domínio ou até mesmo o caráter asterisco (*). Se usar um único asterisco (
*
) no camponoProxy
, indica aos clusters anexados do GKE que devem ignorar o proxy para todo o tráfego. - Um domínio que começa com um ponto, como
.google.com
, segmenta todos os respetivos subdomínios. Por exemplo,.google.com
inclui endereços comomail.google.com
edrive.google.com
, mas excluigoogle.com
. - Certifique-se de que inclui os domínios
kubernetes.default.svc.cluster.local
ekubernetes.default.svc
para um registo adequado. Segue-se 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 caráter asterisco (*). Se usar um único asterisco (
Quando criar o ficheiro de configuração do proxy, siga as seguintes diretrizes:
- Os campos
httpProxy
ehttpsProxy
não aceitam prefixoshttps://
. Usehttp://
, mesmo que o endereço do servidor proxy real comece porhttps://
. 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 anexar domínios, endereços IP ou CIDRs adicionais à lista
noProxy
. Recomendamos que inclua o intervalo de IPs 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 KubernetesPROXY_CONFIGURATION_FILE
: o caminho para a configuração do proxy que criou no passo 1.
Marque o secret do Kubernetes como imutável definindo o respetivo 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 registar um novo cluster e aplicar a configuração de proxy, use o comando
gcloud container attached clusters register
. Certifique-se de que fornece 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 clusterSECRET_NAME
: o nome do segredo do Kubernetes que contém a configuração do proxySECRET_NAMESPACE
: o namespace do Kubernetes onde o segredo está armazenado
Para obter informações sobre todos os argumentos que pode usar ao registar um cluster, consulte o comando
gcloud container attached clusters register
.Cluster existente
Para atualizar um cluster registado anteriormente com uma nova configuração de proxy, use o comando
gcloud container attached clusters update
. Certifique-se de que fornece 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 clusterSECRET_NAME
: o nome do segredo do Kubernetes que contém a configuração do proxySECRET_NAMESPACE
: o namespace do Kubernetes onde o segredo está armazenado
Este passo é necessário se os detalhes do servidor proxy tiverem sido alterados ou se um registo inicial do cluster tiver ignorado os requisitos do proxy.
Para ver informações sobre todos os argumentos que pode usar ao atualizar um cluster, consulte o comando
gcloud container attached clusters update
.
Depois de realizar estes passos, os clusters anexados do GKE processam o tráfego de Internet de saída através do servidor proxy especificado no ficheiro de configuração.