Instalar por trás de um 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.
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.
dl.fedoraproject.org Instale Pacotes extras para o Enterprise Linux (EPEL) ao usar distribuições do Red Hat Enterprise Linux (RHEL).
download.docker.com Adicione o repositório do Docker. Isso é necessário se você executar a estação de trabalho do administrador atrás do proxy. Ele é necessário para máquinas de nós que são executadas por trás de um proxy quando o Docker é usado para o ambiente de execução do contêiner.
gkeconnect.googleapis.com Estabelece o canal usado para receber solicitações do Google Cloud e envia respostas.
gkehub.googleapis.com Criar recursos de assinatura do hub do Google Cloud que correspondam ao cluster que você está conectando ao Google Cloud.
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.
packages.cloud.google.com Faça o download de pacotes no espelho de pacotes do Google Cloud.
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.
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 Gerencie os metadados do conjunto de operações do Google Cloud, como as 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 Anthos em bare metal usa o gerenciador de pacotes APT no Ubuntu e o gerenciador de pacotes DNF no CentOS e Red Hat 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.

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.

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.

proxy.noProxy

Uma lista de endereços IP, nomes de host e nomes de domínio que não devem passar pelo servidor proxy.

Na maioria dos casos, você não precisa adicionar itens a essa lista. Não adicione CIDR de serviço e pod.

Casos de uso 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

Modificar a configuração de proxy

É possível executar sua máquina de inicialização por trás de um proxy diferente daquele usado por suas máquinas de nó 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. Caso você não execute o bmctl como raiz, configure o proxy do Docker manualmente.