Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Configuración del proxy para nodos híbridos
Si utiliza un servidor proxy en el entorno en las instalaciones para el tráfico que sale del centro de datos o del entorno periférico, debe configurar por separado los nodos y el clúster para usar el servidor proxy.
- Clúster
-
En el clúster, debe configurar
kube-proxypara usar el servidor proxy. Debe configurarkube-proxydespués de crear el clúster de Amazon EKS. - Nodos
-
En los nodos, debe configurar el sistema operativo,
containerd,kubelety el agente Amazon SSM para usar el servidor proxy. Puede realizar estos cambios durante el proceso de creación de las imágenes del sistema operativo o antes de ejecutarnodeadm initen cada nodo híbrido.
Configuración a nivel de nodo
Debe aplicar las siguientes configuraciones ya sea en las imágenes de sistema operativo o antes de ejecutar nodeadm init en cada nodo híbrido.
Configuración del proxy containerd
containerd es el tiempo de ejecución de administración de contenedores predeterminado para Kubernetes. Si utiliza un proxy para acceder a Internet, debe configurar containerd de modo que pueda extraer las imágenes de contenedor necesarias para Kubernetes y Amazon EKS.
Cree un archivo en cada nodo híbrido llamado http-proxy.conf en el directorio /etc/systemd/system/containerd.service.d con el siguiente contenido. Sustituya proxy-domain y port por los valores correspondientes al entorno.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuración de containerd a partir de datos de usuarios
Será necesario crear el directorio containerd.service.d para este archivo. Tendrá que volver a cargar systemd para recuperar el archivo de configuración sin necesidad de reiniciar. En AL2023, es probable que el servicio ya esté en ejecución cuando se ejecute el script, por lo que también tendrá que reiniciarlo.
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
Configuración del proxy kubelet
kubelet es el agente de nodos de Kubernetes que se ejecuta en cada nodo de Kubernetes y es responsable de administrar el nodo y los pods que se ejecutan en este. Si utiliza un proxy en el entorno en las instalaciones, debe configurar el kubelet para que pueda comunicarse con los puntos de conexión públicos o privados del clúster de Amazon EKS.
Cree un archivo en cada nodo híbrido llamado http-proxy.conf en el directorio /etc/systemd/system/kubelet.service.d/ con el siguiente contenido. Sustituya proxy-domain y port por los valores correspondientes al entorno.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuración de kubelet a partir de datos de usuarios
Se debe crear el directorio kubelet.service.d para este archivo. Tendrá que volver a cargar systemd para recuperar el archivo de configuración sin necesidad de reiniciar. En AL2023, es probable que el servicio ya esté en ejecución cuando se ejecute el script, por lo que también tendrá que reiniciarlo.
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
Configuración del proxy ssm
ssm es uno de los proveedores de credenciales que se pueden utilizar para inicializar un nodo híbrido. ssm es responsable de autenticarse con AWS y generar credenciales temporales que son utilizadas por kubelet. Si utiliza un proxy en el entorno en las instalaciones y usa ssm como proveedor de credenciales en el nodo, debe configurar ssm para que pueda comunicarse con los puntos de conexión del servicio de Amazon SSM.
Cree un archivo en cada nodo híbrido llamado http-proxy.conf en la siguiente ruta, según el sistema operativo
-
Ubuntu -
/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d/http-proxy.conf -
Amazon Linux 2023 y Red Hat Enterprise Linux -
/etc/systemd/system/amazon-ssm-agent.service.d/http-proxy.conf
Rellene el archivo con el siguiente contenido. Sustituya proxy-domain y port por los valores correspondientes al entorno.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuración de ssm a partir de datos de usuarios
Es necesario crear el directorio para el archivo de servicio systemd de ssm. La ruta del directorio depende del sistema operativo utilizado en el nodo.
-
Ubuntu -
/etc/systemd/system/snap.amazon-ssm-agent.amazon-ssm-agent.service.d -
Amazon Linux 2023 y Red Hat Enterprise Linux -
/etc/systemd/system/amazon-ssm-agent.service.d
Reemplace el nombre del servicio systemd en el comando de reinicio a continuación, en función del sistema operativo utilizado en el nodo.
-
Ubuntu -
snap.amazon-ssm-agent.amazon-ssm-agent -
Amazon Linux 2023 y 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
Configuración del proxy del sistema operativo
Si utiliza un proxy para acceder a Internet, debe configurar el sistema operativo de modo que pueda extraer las dependencias de los nodos híbridos del administrador de paquetes del sistema operativo.
Ubuntu
-
Configure
snappara usar el proxy con los siguientes comandos:sudo snap set system proxy.https=http://proxy-domain:portsudo snap set system proxy.http=http://proxy-domain:port -
Para habilitar el proxy para
apt, cree un archivo llamadoapt.confen el directorio/etc/apt/. Sustituya proxy-domain y puerto por los valores correspondientes al entorno.Acquire::http::Proxy "http://proxy-domain:port"; Acquire::https::Proxy "http://proxy-domain:port";
Amazon Linux 2023
-
Configure
dnfpara utilizar el proxy. Cree un archivo/etc/dnf/dnf.confcon los valores proxy-domain y de puerto correspondientes al entorno.proxy=http://proxy-domain:port
Red Hat Enterprise Linux
-
Configure
yumpara utilizar el proxy. Cree un archivo/etc/yum.confcon los valores proxy-domain y de puerto correspondientes al entorno.proxy=http://proxy-domain:port
Configuración del proxy de IAM Roles Anywhere
El servicio de proveedor de credenciales de IAM Roles Anywhere se ocupa de actualizar las credenciales cuando se utiliza IAM Roles Anywhere con la marca enableCredentialsFile (consulte Agente de Pod Identity de EKS). Si utiliza un proxy en el entorno en las instalaciones, debe configurar el servicio para que pueda comunicarse con los puntos de conexión de IAM Roles Anywhere.
Cree un archivo llamado http-proxy.conf en el directorio /etc/systemd/system/aws_signing_helper_update.service.d/ con el siguiente contenido. Sustituya proxy-domain y port por los valores correspondientes al entorno.
[Service] Environment="HTTP_PROXY=http://proxy-domain:port" Environment="HTTPS_PROXY=http://proxy-domain:port" Environment="NO_PROXY=localhost"
Configuración de todo el clúster
Las configuraciones de esta sección se deben aplicar después de crear el clúster de Amazon EKS y antes de ejecutar nodeadm init en cada nodo híbrido.
Configuración del proxy kube-proxy
Amazon EKS instala automáticamente kube-proxy en cada nodo híbrido como DaemonSet cuando los nodos híbridos se unen al clúster. kube-proxy permite el enrutamiento entre servicios respaldados por pods en clústeres de Amazon EKS. Para configurar cada host, kube-proxy requiere la resolución DNS para el punto de conexión del clúster de Amazon EKS.
-
Edite el DaemonSet
kube-proxycon el siguiente comandokubectl -n kube-system edit ds kube-proxyEsto abrirá la definición del DaemonSet
kube-proxyen el editor configurado. -
Agregue las variables de entorno para
HTTP_PROXYyHTTPS_PROXY. Tenga en cuenta que la variable de entornoNODE_NAMEya debe existir en la configuración. Sustituyaproxy-domainyportpor los valores correspondientes al entorno.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