Nesta página, mostramos como configurar regras de proxy e firewall para o GKE em Bare Metal.
Configurar seu servidor proxy
Se as máquinas usadas para executar os nós de inicialização e de cluster usarem um servidor proxy para acessar a Internet, será necessário:
- configurar o proxy para o gerenciador de pacotes nos nós do cluster;
- configurar os detalhes do proxy no arquivo de configuração do cluster.
Pré-requisitos
O servidor proxy precisa permitir conexões com estes endereços:
Endereço | Finalidade |
---|---|
*.gcr.io |
Extraia imagens do Container Registry. |
accounts.google.com |
Processe solicitações de autorização para o OpenID e descubra chaves públicas para verificação de tokens. |
binaryauthorization.googleapis.com |
Obrigatório se estiver usando autorização binária. Autorize (ou rejeite) solicitações de clusters para executar imagens de contêiner. |
cloudresourcemanager.googleapis.com |
Resolve os metadados referentes ao projeto do Google Cloud a que o cluster está sendo conectado. |
compute.googleapis.com |
Verifique a região de recursos do Cloud Logging e do Cloud Monitoring. |
connectgateway.googleapis.com |
Ative o recurso Conceder ao Cloud Customer Care acesso para ler o cluster para diagnosticar problemas. |
dl.google.com |
Faça o download e instale o SDK Google Cloud. |
gkeconnect.googleapis.com |
Estabelece o canal usado para receber solicitações do Google Cloud e envia respostas. Se o cluster tiver sido registrado na frota usando uma
região do Google Cloud, será preciso incluir
REGION-gkeconnect.googleapis.com na lista de permissões (por exemplo,
us-central1-gkeconnect.googleapis.com ). Se você não tiver especificado uma
região, o cluster usará a instância do serviço global Connect, e você autorizará
gkeconnect.googleapis.com . Se você precisar encontrar o local da associação da frota
do cluster, execute gcloud container fleet memberships list .
Para mais informações, consulte
gkeConnect.location .
|
gkehub.googleapis.com |
Crie recursos de assinatura da frota do Google Cloud que correspondam ao cluster que você está conectando ao Google Cloud. |
gkeonprem.googleapis.com |
Crie e gerencie o ciclo de vida do cluster em infraestrutura bare metal e VMware. |
gkeonprem.mtls.googleapis.com |
Crie e gerencie o ciclo de vida do cluster em infraestrutura bare metal e VMware. Esta versão da API é usada automaticamente com mTLS. |
iam.googleapis.com |
Crie contas de serviço que possam ser usadas para autenticar no Google Cloud e fazer chamadas de API. |
iamcredentials.googleapis.com |
Oferece controle de admissão e geração de relatórios de telemetria para a geração de registros de auditoria. |
logging.googleapis.com |
Grave entradas de registro e gerencie sua configuração do Cloud Logging. |
monitoring.googleapis.com |
Gerencia dados e configurações do Cloud Monitoring. |
oauth2.googleapis.com |
Autenticar por meio de troca de token OAuth para acesso à conta. |
opsconfigmonitoring.googleapis.com |
Colete metadados de recursos do Kubernetes, como pods, implantações ou nós, para enriquecer consultas de métricas. |
releases.hashicorp.com |
Opcional. Use o cliente do Terraform na estação de trabalho do administrador para executar
comandos, como terraform apply . |
securetoken.googleapis.com |
Recupere tokens de atualização para autorização da identidade da carga de trabalho. |
servicecontrol.googleapis.com |
Gravar entradas de registro de auditoria nos Registros de auditoria do Cloud. |
serviceusage.googleapis.com |
Ativar e validar serviços e APIs. |
stackdriver.googleapis.com |
Gerenciar metadados de observabilidade do Google Cloud, como contas do Stackdriver. |
storage.googleapis.com |
Gerencie o armazenamento e os intervalos de objetos, como objetos Container Registry. |
sts.googleapis.com |
Trocar as credenciais do Google ou de terceiros por um token de acesso de curta duração aos recursos do Google Cloud |
www.googleapis.com |
Autentica os tokens de serviço das solicitações de serviço recebidas do Google Cloud. |
Além desses URLs, o servidor proxy também precisa permitir todos os espelhos de pacotes exigidos pelo gerenciador de pacotes do sistema operacional. É possível atualizar a configuração do gerenciador de pacotes para usar uma lista mais determinística, que é mais fácil de gerenciar.
configurar o proxy para o gerenciador de pacotes nos nós do cluster;
O GKE em Bare Metal usa o gerenciador de pacotes APT no Ubuntu e o gerenciador de pacotes DNF no Red Hat Enterprise Linux. Verifique se o gerenciador de pacotes do SO tem a configuração de proxy correta.
Consulte a documentação de distribuição do sistema operacional para obter os detalhes sobre como configurar o proxy. Os exemplos a seguir mostram uma maneira de definir as configurações de proxy:
APT
Estes comandos demonstram como configurar o proxy para 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 proxy não exigir um login, não
inclua USERNAME:PASSWORD@
com DOMAIN
.
DNF
Este comando demonstra como configurar o proxy para 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 proxy não exigir um login, não
inclua USERNAME:PASSWORD@
com DOMAIN
.
Configurar os detalhes do proxy no arquivo de configuração do cluster
No arquivo de configuração do cluster, defina os valores a seguir para configurar o cluster para usar o proxy:
proxy.url
Uma string que especifica o URL do proxy. As máquinas de inicialização e de nó usam esse proxy para acessar a Internet. A string do URL do proxy precisa começar com o esquema,
por exemplo, http://
ou https://
.
proxy.noProxy
Uma lista de endereços IP, nomes de host e nomes de domínio que não podem passar pelo servidor proxy.
Na maioria dos casos, você não precisa adicionar itens a essa lista.
Casos de uso de noProxy
:
Usando um espelho de pacote particular, localizado na mesma rede privada (não precisa de proxy para acessar)
Usando um espelho de registro privado, localizado na mesma rede privada (não é necessário ter proxy para acessar)
Exemplo
Veja abaixo um exemplo de configuração de proxy em um arquivo de configuração de cluster:
proxy:
url: http://USERNAME:PASSWORD@DOMAIN
noProxy:
- example1.com
- example2.com
Configurações de proxy para o serviço de identidade do GKE
Se você usa o serviço de identidade do GKE para autenticação em clusters do GKE em clusters Bare Metal, as outras etapas a seguir são necessárias para garantir que o serviço de identidade do GKE funcione quando por trás de um proxy.
No arquivo de configuração do cluster, defina os detalhes do proxy na seção
authentication
do OIDC para as configurações do serviço de identidade do GKE.authentication: oidc: proxy: http://USERNAME:PASSWORD@DOMAIN
Atualize a configuração do servidor proxy para permitir conexões com os URLs de autenticação do provedor OIDC.
Como o proxy é usado no cluster
Como regra geral, os comandos bmctl
e os processos que eles geram usam a configuração de proxy definida pelas variáveis de ambiente HTTPS_PROXY
e NO_PROXY
, if eles foram definidos. Caso contrário, bmctl
usa a configuração de proxy do
arquivo de configuração do cluster. Outros comandos executados na estação de trabalho do
administrador, em máquinas de nó do cluster ou pelo cluster de bootstrap usam a configuração de proxy
do arquivo de configuração do cluster.
O gerenciador de pacotes do SO em cada nó usa os próprios arquivos de configuração para as configurações de proxy.
Substituir a configuração do proxy na sua máquina de inicialização
É possível executar a estação de trabalho do administrador por trás de um proxy diferente do usado pelas máquinas de nós, substituindo as configurações de proxy no arquivo de configuração do cluster. Para modificar as configurações de proxy, defina as seguintes variáveis de ambiente na máquina de inicialização:
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 host e nomes de domínio que não podem passar pelo servidor proxy.
Efeitos colaterais
Se executado como raiz, o bmctl
atualiza a configuração do proxy do Docker na máquina de inicialização. Se você não executar bmctl
como raiz, configure o proxy do Docker
manualmente.
Regras de firewall
Configure as regras de firewall conforme descrito nas seções a seguir para permitir o tráfego descrito necessário para clusters do GKE em Bare Metal.
Para acessar os requisitos de porta de pré-requisito para o GKE em Bare Metal, consulte Uso da porta.
Regras de firewall para endereços IP de nós do cluster
Veja na tabela a seguir as regras de firewall para endereços IP disponíveis nos clusters.
De |
Porta de origem |
To |
Porta |
Protocolo |
Descrição |
---|---|---|---|---|---|
Nó do cluster | 1024 - 65535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com |
443 | TCP/HTTPS | Você precisa acessar a página de registro da frota. |
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 | |
Coletor de metadados do Cloud, que é executado no nó do cluster | 1024 - 65535 | opsconfigmonitoring.googleapis.com |
443 | TCP/HTTPS | |
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ó do cluster | 1024 - 65535 | Registro local do Docker | Depende do registro | TCP/HTTPS | Obrigatório se o GKE em Bare Metal estiver configurado para usar um registro particular local
do Docker em vez de gcr.io . |
Nó do cluster | 1024 - 65535 | gcr.io oauth2.googleapis.com storage.googleapis.com Qualquer URL da API do Google no formato *.googleapis.com obrigatório para a
serviços ativados para o cluster de administrador. |
443 | TCP/HTTPS | Faz o download de imagens de registros públicos do Docker. Não é necessário se você estiver usando um registro particular do Docker. |
Agente do Connect, que é executado em um 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 | Veja mais informações sobre o tráfego gerenciado pelo Connect Agent em Visão geral do Connect Agent. |
Nó do cluster | 1024 - 65535 |
gkeonprem.googleapis.com gkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Crie e gerencie o ciclo de vida do cluster em infraestrutura bare metal e VMware. |
Regras de firewall para os componentes restantes
As regras descritas na tabela a seguir se aplicam a todos os outros componentes não listados na seção anterior.
De |
Porta de origem |
To |
Porta |
Protocolo |
Descrição |
---|---|---|---|---|---|
Clientes e usuários finais do aplicativo | Tudo | VIP da entrada do Istio | 80, 443 | TCP | Tráfego de usuário final para o serviço de entrada de um cluster de usuário. |
Estação de trabalho do administrador | 32768 - 60999 | gcr.io cloudresourcemanager.googleapis.com oauth2.googleapis.com storage.googleapis.com Qualquer URL *.googleapis.com obrigatório para os serviços ativados
para este cluster |
443 | TCP/HTTPS | Faz o download de imagens do Docker a partir de registros 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 usuário |
443 | TCP/HTTPS | Verificações de simulação (validação). |