Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Configurar proxy para nós híbridos
Caso esteja usando um servidor proxy no ambiente on-premises para tráfego que sai do data center ou do ambiente de borda, você precisa configurar em separado os nós e o cluster para usar o servidor proxy.
- Cluster
-
No cluster, você precisa configurar
kube-proxypara usar o servidor proxy. Você deve configurarkube-proxyapós criar o cluster do Amazon EKS. - Nós
-
Nos nós, você deve configurar o sistema operacional,
containerd,kubelete o agente Amazon SSM para usar o servidor proxy. Você pode fazer essas alterações durante o processo de criação para as imagens do sistema operacional ou antes de executarnodeadm initem cada nó híbrido.
Configuração no nível do nó
Você deve aplicar as configurações a seguir nas imagens do sistema operacional ou antes de executar nodeadm init em cada nó híbrido.
Configuração do proxy containerd
containerd é o runtime padrão de gerenciamento de contêineres para o Kubernetes. Caso esteja usando um proxy para acesso à internet, você deverá configurar o containerd para que ele possa extrair as imagens de contêiner exigidas pelo Kubernetes e pelo Amazon EKS.
Crie um arquivo em cada nó híbrido denominado http-proxy.conf no diretório /etc/systemd/system/containerd.service.d com os conteúdos a seguir. Substitua proxy-domain e port pelos valores do seu ambiente.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuração do containerd dos dados do usuário
O diretório containerd.service.d precisará ser criado para esse arquivo. Você precisará recarregar o systemd para obter o arquivo de configuração sem reinicializar. No AL2023, o serviço provavelmente já estará em execução quando seu script for executado, então você também precisará reiniciá-lo.
mkdir -p /etc/systemd/system/containerd.service.d echo '[Service]' > /etc/systemd/system/containerd.service.d/http-proxy.conf echo 'Environment="HTTP_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf echo 'Environment="HTTPS_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/containerd.service.d/http-proxy.conf systemctl daemon-reload systemctl restart containerd
Configuração do proxy kubelet
kubelet é o agente de nó do Kubernetes que é executado em cada nó do Kubernetes e é responsável por gerenciar os nós e pods em execução nele. Caso esteja usando um proxy no ambiente on-premises, você deverá configurar o kubelet para que ele possa se comunicar com os endpoints públicos ou privados do cluster do Amazon EKS.
Crie um arquivo em cada nó híbrido denominado http-proxy.conf no diretório /etc/systemd/system/kubelet.service.d/ com o conteúdo a seguir. Substitua proxy-domain e port pelos valores do seu ambiente.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuração do kubelet dos dados do usuário
O diretório kubelet.service.d deve ser criado para esse arquivo. Você precisará recarregar o systemd para obter o arquivo de configuração sem reinicializar. No AL2023, o serviço provavelmente já estará em execução quando seu script for executado, então você também precisará reiniciá-lo.
mkdir -p /etc/systemd/system/kubelet.service.d echo '[Service]' > /etc/systemd/system/kubelet.service.d/http-proxy.conf echo 'Environment="HTTP_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf echo 'Environment="HTTPS_PROXY=http://proxy-domain:port"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf echo 'Environment="NO_PROXY=localhost"' >> /etc/systemd/system/kubelet.service.d/http-proxy.conf systemctl daemon-reload systemctl restart kubelet
Configuração do proxy ssm
O ssm é um dos provedores de credenciais que podem ser usados para inicializar um nó híbrido. O ssm é responsável pela autenticação na AWS e pela geração de credenciais temporárias que são usadas pelo kubelet. Caso esteja usando um proxy no ambiente on-premises e usando o ssm como provedor de credenciais no nó, você deverá configurar o ssm para que ele possa se comunicar com os endpoints do serviço do Amazon SSM.
Crie um arquivo em cada nó híbrido chamado http-proxy.conf no caminho abaixo, dependendo do sistema operacional
-
Ubuntu -
/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/http-proxy.conf -
Amazon Linux 2023 e Red Hat Enterprise Linux:
/etc/systemd/system/amazon-ssm-agent.service.d/http-proxy.conf
Preencha o arquivo com o seguinte conteúdo. Substitua proxy-domain e port pelos valores do seu ambiente.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuração do ssm dos dados do usuário
O serviço ssm systemd deve ser criado para esse arquivo. O caminho do diretório dependerá do sistema operacional usado no nó.
-
Ubuntu -
/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d -
Amazon Linux 2023 e Red Hat Enterprise Linux:
/etc/systemd/system/amazon-ssm-agent.service.d
Substitua o nome do serviço systemd no comando restart abaixo, dependendo do sistema operacional usado no nó
-
Ubuntu -
snap.amazon-ssm-agent.amazon-ssm-agent -
Amazon Linux 2023 e Red Hat Enterprise Linux:
amazon-ssm-agent
mkdir -psystemd-service-file-directory echo '[Service]' > [.replaceable]#systemd-service-file-directory/http-proxy.conf echo 'Environment="HTTP_PROXY=http://[.replaceable]#proxy-domain:port"' >>systemd-service-file-directory/http-proxy.conf echo 'Environment="HTTPS_PROXY=http://[.replaceable]#proxy-domain:port"' >> [.replaceable]#systemd-service-file-directory/http-proxy.conf echo 'Environment="NO_PROXY=localhost"' >> [.replaceable]#systemd-service-file-directory/http-proxy.conf systemctl daemon-reload systemctl restart [.replaceable]#systemd-service-name
Configuração de proxy do sistema operacional
Caso esteja usando um proxy para acesso à internet, você deve configurar o sistema operacional para poder extrair as dependências dos nós híbridos do gerenciador de pacotes do sistema operacional.
Ubuntu
-
Configure
snappara usar o proxy com os seguintes comandos:sudo snap set system proxy.https=http://proxy-domain:portsudo snap set system proxy.http=http://proxy-domain:port -
Para habilitar o proxy para
apt, crie um arquivo denominadoapt.confno diretório/etc/apt/. Substitua proxy-domain e a porta pelos valores do seu ambiente.Acquire::http::Proxy "http://proxy-domain:port"; Acquire::https::Proxy "http://proxy-domain:port";
Amazon Linux 2023
-
Configure
dnfpara usar o proxy. Crie um arquivo/etc/dnf/dnf.confcom os valores de proxy-domain e port para seu ambiente.proxy=http://proxy-domain:port
Red Hat Enterprise Linux
-
Configure
yumpara usar o proxy. Crie um arquivo/etc/yum.confcom os valores de proxy-domain e port para seu ambiente.proxy=http://proxy-domain:port
Configuração de proxies do IAM Roles Anywhere
O serviço de provedor de credenciais do IAM Roles Anywhere é responsável por atualizar as credenciais ao usar o IAM Roles Anywhere com o sinalizador enableCredentialsFile (consulte Atendente de Identidade de Pods do EKS). Caso esteja usando um proxy no ambiente on-premises, você deverá configurar o serviço para que ele possa se comunicar com os endpoints do IAM Roles Anywhere.
No diretório /etc/systemd/system/aws_signing_helper_update.service.d/, crie um arquivo denominado http-proxy.conf com o conteúdo a seguir. Substitua proxy-domain e port pelos valores do seu ambiente.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuração de todo o cluster
As configurações nesta seção devem ser aplicadas depois de você criar o cluster do Amazon EKS e antes de executar nodeadm init em cada nó híbrido.
Configuração do proxy kube-proxy
O Amazon EKS instala automaticamente o kube-proxy em cada nó híbrido como um DaemonSet quando os nós híbridos se unem ao cluster. O kube-proxy permite o roteamento entre serviços que são apoiados por pods nos clusters do Amazon EKS. Para configurar cada host, o kube-proxy requer resolução de DNS para o endpoint de cluster do Amazon EKS.
-
Editar o DaemonSet do
kube-proxycom o comando a seguirkubectl -n kube-system edit ds kube-proxyIsso abrirá a definição do DaemonSet do
kube-proxyno editor configurado. -
Adicione variáveis de ambiente para
HTTP_PROXYeHTTPS_PROXY. Observe que a variável de ambienteNODE_NAMEjá deve existir na configuração. Substituaproxy-domaineportpelos valores do seu ambiente.containers: - command: - kube-proxy - --v=2 - --config=/var/lib/kube-proxy-config/config - --hostname-override=$(NODE_NAME) env: - name: HTTP_PROXY value: http://proxy-domain:port- name: HTTPS_PROXY value: http://proxy-domain:port- name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName