Instale atrás de um proxy

Esta página mostra como configurar regras de proxy e firewall para o Google Distributed Cloud.

Configure o servidor proxy

Se as máquinas que está a usar para o arranque e os nós do cluster usarem um servidor proxy para aceder à Internet, tem de:

  • Configure o proxy para o gestor de pacotes nos nós do cluster
  • Configure os detalhes do proxy no ficheiro de configuração do cluster.

Pré-requisitos

O seu servidor proxy tem de permitir ligações aos seguintes endereços:

Endereço Finalidade
*.gcr.io Extrair imagens do Artifact Registry.
accounts.google.com Processar pedidos de autorização para o OpenID e descobrir chaves públicas para validar tokens.
binaryauthorization.googleapis.com Obrigatório se usar a autorização binária. Autorizar (ou rejeitar) pedidos de clusters para executar imagens de contentores.
cloudresourcemanager.googleapis.com Resolva os metadados relativos ao Google Cloud projeto ao qual o cluster está a ser ligado.
compute.googleapis.com Verifique a região do recurso do Cloud Logging e do Cloud Monitoring.
connectgateway.googleapis.com Ativar a capacidade de conceder ao apoio ao cliente do Google Cloud acesso só de leitura ao seu cluster para diagnosticar problemas.
dl.google.com Transfira e instale o SDK do Google Cloud.
gkeconnect.googleapis.com Estabeleça o canal usado para receber pedidos de Google Cloud e emitir respostas. Se o cluster foi registado na frota através de uma Google Cloud região, tem de adicionar REGION-gkeconnect.googleapis.com à lista de autorizações (por exemplo, us-central1-gkeconnect.googleapis.com). Se não especificou uma região, o cluster usa a instância do serviço Connect global e adiciona gkeconnect.googleapis.com à lista de autorizações. Se precisar de encontrar a localização da subscrição da frota para o seu cluster, execute gcloud container fleet memberships list. Para mais informações, consulte gkeConnect.location.
gkehub.googleapis.com Crie recursos de associação à frota do lado do Google Cloud que correspondam ao cluster com o qual está a estabelecer ligação Google Cloud.
gkeonprem.googleapis.com Crie e faça a gestão do ciclo de vida do cluster em infraestrutura de hardware físico e VMware.
gkeonprem.mtls.googleapis.com Crie e faça a gestão do ciclo de vida do cluster em infraestrutura de hardware físico e VMware. Esta versão da API é usada automaticamente com o mTLS.
iam.googleapis.com Criar contas de serviço que pode usar para fazer a autenticação em Google Cloud e fazer chamadas à API.
iamcredentials.googleapis.com Fornece controlo de admissão e relatórios de telemetria para o registo de auditoria.
kubernetesmetadata.googleapis.com Os clusters usam esta API como um ponto final para enviar metadados do Kubernetes para o Google Cloud. Os metadados são essenciais para a monitorização, a depuração e a recuperação de clusters.
logging.googleapis.com Escrever entradas de registo e gerir a configuração do Cloud Logging.
monitoring.googleapis.com Faça a gestão das suas configurações e dados do Cloud Monitoring.
oauth2.googleapis.com Autentique através da troca de tokens OAuth para aceder à conta.
opsconfigmonitoring.googleapis.com Recolha metadados para recursos do Kubernetes, como pods, implementações ou nós, para enriquecer as consultas de métricas.
releases.hashicorp.com Opcional. Use o cliente Terraform na sua estação de trabalho de administrador para executar comandos, como terraform apply.
securetoken.googleapis.com Obtenha tokens de atualização para autorização de identidade de carga de trabalho.
servicecontrol.googleapis.com Escrever entradas do registo de auditoria nos registos de auditoria do Cloud.
serviceusage.googleapis.com Ative e valide serviços e APIs.
stackdriver.googleapis.com Gerir metadados do Google Cloud Observability, como contas do Stackdriver.
storage.googleapis.com Gerir o armazenamento de objetos e os contentores, como os objetos do Artifact Registry.
sts.googleapis.com Troque credenciais da Google ou de terceiros por um token de acesso de curta duração para aceder a Google Cloud recursos.
www.googleapis.com Autenticar tokens de serviço de pedidos de Google Cloud serviço recebidos.

Além destes URLs, o servidor proxy também tem de permitir todos os espelhos de pacotes que o gestor de pacotes do seu sistema operativo requer. Pode atualizar a configuração do gestor de pacotes para usar uma lista mais determinística, que é mais fácil de gerir.

Configure o proxy para o gestor de pacotes nos nós do cluster

O Google Distributed Cloud usa o gestor de pacotes APT no Ubuntu e o gestor de pacotes DNF no Red Hat Enterprise Linux. Certifique-se de que o gestor de pacotes do SO tem a configuração de proxy correta.

Consulte a documentação da distribuição do SO para ver detalhes sobre a configuração do proxy. Os exemplos seguintes mostram uma forma de configurar as definições de proxy:

APT

Estes comandos demonstram como configurar o proxy para o APT:

sudo touch /etc/apt/apt.conf.d/proxy.conf

echo 'Acquire::http::Proxy "http://USERNAME:PASSWORD@DOMAIN";' \
    >> /etc/apt/apt.conf.d/proxy.conf

echo 'Acquire::https::Proxy "http://USERNAME:PASSWORD@DOMAIN";' \
    >> /etc/apt/apt.conf.d/proxy.conf

Substitua USERNAME:PASSWORD@DOMAIN por detalhes específicos da sua configuração. Por exemplo, se o seu proxy não exigir um início de sessão, não inclua USERNAME:PASSWORD@ com DOMAIN.

DNF

Este comando demonstra como configurar o proxy para o DNF:

echo "proxy=http://USERNAME:PASSWORD@DOMAIN" >> /etc/dnf/dnf.conf

Substitua USERNAME:PASSWORD@DOMAIN por detalhes específicos da sua configuração. Por exemplo, se o seu proxy não exigir um início de sessão, não inclua USERNAME:PASSWORD@ com DOMAIN.

Configure os detalhes do proxy no ficheiro de configuração do cluster

No ficheiro de configuração do cluster, defina os seguintes valores para configurar o cluster de modo a usar o proxy:

proxy.url

Uma string que especifica o URL do proxy. As máquinas de arranque e de nós usam este proxy para aceder à Internet. A string do URL do proxy tem de começar com o respetivo esquema, por exemplo, http:// ou https://.

proxy.noProxy

Uma lista de endereços IP, nomes de anfitriões e nomes de domínios que não devem passar pelo servidor proxy.

Na maioria dos casos, não tem de adicionar nenhum item a esta lista.

noProxy exemplos de utilização:

  • Usar uma réplica privada de pacotes, localizada na mesma rede privada (não precisa de proxy para aceder)

  • Usar uma imagem espelhada de registo privado, localizada na mesma rede privada (não precisa de proxy para aceder)

Exemplo

Segue-se um exemplo das definições de proxy num ficheiro de configuração de cluster:

  proxy:
     url: http://USERNAME:PASSWORD@DOMAIN
     noProxy:
     - example1.com
     - example2.com

Configurações de proxy para o GKE Identity Service

Se usar o GKE Identity Service para autenticação em clusters do Google Distributed Cloud, são necessários os seguintes passos adicionais para garantir que o GKE Identity Service funciona quando está atrás de um proxy.

  1. No ficheiro de configuração do cluster, defina os detalhes do proxy na secção OIDC authentication para as definições do serviço de identidade do GKE.

      authentication:
        oidc:
          proxy: http://USERNAME:PASSWORD@DOMAIN
    
  2. Atualize a configuração do servidor proxy para permitir ligações aos URLs de autenticação do fornecedor de OIDC.

Como é usado o proxy no cluster

Como regra geral, os comandos bmctl e os processos que geram usam a configuração de proxy definida pelas variáveis de ambiente HTTPS_PROXY e NO_PROXY, se estiverem definidas. Caso contrário, o bmctl usa a configuração de proxy do ficheiro de configuração do cluster. Outros comandos executados na estação de trabalho do administrador, em máquinas de nós do cluster ou pelo cluster de arranque usam a configuração de proxy do ficheiro de configuração do cluster.

O gestor de pacotes do SO em cada nó usa os seus próprios ficheiros de configuração para as definições de proxy.

Substitua a configuração de proxy na sua máquina de arranque

Pode executar a estação de trabalho de administrador atrás de um proxy diferente do usado pelas máquinas dos nós ao substituir as definições de proxy no ficheiro de configuração do cluster. Para substituir as definições de proxy, defina as seguintes variáveis de ambiente na máquina de arranque:

export HTTPS_PROXY=http://USERNAME:PASSWORD@DOMAIN

Substitua USERNAME:PASSWORD@DOMAIN por detalhes específicos da sua configuração.

export NO_PROXY=example1.com,example2.com

Substitua example1.com,example2.com por endereços IP, nomes de anfitrião e nomes de domínio que não devem passar pelo servidor proxy.

Efeitos secundários

Quando executado como root, o bmctl atualiza a configuração do proxy do Docker na máquina de arranque. Se não executar o bmctl como raiz, configure o proxy do Docker manualmente.

Regras de firewall

Configure as regras da firewall conforme descrito nas secções seguintes para permitir o tráfego descrito necessário para o Google Distributed Cloud.

Para ver os requisitos de portas pré-requisitos para o Google Distributed Cloud, consulte o artigo Utilização de portas.

Regras de firewall para endereços IP de nós de cluster

A tabela seguinte descreve as regras de firewall para endereços IP disponíveis nos seus clusters.

De

Porta de origem

Para

Porta

Protocolo

Descrição

Nó de cluster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
443 TCP/HTTPS O acesso é necessário para o registo de frotas.
O coletor do Cloud Logging, que é executado no nó do cluster 1024 - 65535 oauth2.googleapis.com
logging.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com
443 TCP/HTTPS
O Cloud Metadata Collector, que é executado no nó do cluster 1024 - 65535 opsconfigmonitoring.googleapis.com 443 TCP/HTTPS
O coletor do Cloud Monitoring, que é executado no nó do cluster 1024 - 65535 oauth2.googleapis.com
monitoring.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
443 TCP/HTTPS
Nó de cluster 1024 - 65535 Registo Docker local no local Depende do seu registo TCP/HTTPS Obrigatório se o Google Distributed Cloud estiver configurado para usar um registo Docker privado local em vez de gcr.io.
Nó de cluster 1024 - 65535 gcr.io
oauth2.googleapis.com
storage.googleapis.com
Qualquer URL da API Google no formato *.googleapis.com necessário para os serviços ativados para o cluster de administrador.
443 TCP/HTTPS Transferir imagens de registos públicos do Docker. Não é necessário se usar um registo do Docker privado.
O Connect Agent, que é executado num nó do cluster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
www.googleapis.com
iam.googleapis.com
iamcredentials.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
sts.googleapis.com
accounts.google.com
443 TCP/HTTPS Para mais informações sobre o tráfego gerido pelo Connect Agent, consulte a vista geral do Connect Agent.
Nó de cluster 1024 - 65535 gkeonprem.googleapis.com
gkeonprem.mtls.googleapis.com
443 TCP/HTTPS Crie e faça a gestão do ciclo de vida do cluster em infraestrutura de hardware físico e VMware.

Regras de firewall para os restantes componentes

As regras descritas na tabela seguinte aplicam-se a todos os outros componentes não indicados na secção anterior.

De

Porta de origem

Para

Porta

Protocolo

Descrição

Clientes e utilizadores finais da aplicação Tudo VIP de entrada do Istio 80 443 TCP Tráfego do utilizador final para o serviço de entrada de um cluster de utilizadores.
Estação de trabalho do administrador 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
Qualquer URL *.googleapis.com necessário para os serviços ativados para este cluster
443 TCP/HTTPS Transferir imagens do Docker de registos públicos do Docker.
Estação de trabalho do administrador 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
Qualquer URL *.googleapis.com necessário para os serviços ativados para os clusters de administrador ou de utilizador
443 TCP/HTTPS Verificações prévias (validação).