Configuración del proxy para nodos híbridos - Amazon EKS

Ayude a mejorar esta página

¿Quiere contribuir a esta guía del usuario? Elija el enlace Editar esta página en GitHub que se encuentra en el panel derecho de cada página. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.

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 entorno periférico, debe configurar el sistema operativo, containerd, kubelet y kube-proxy para utilizar el servidor proxy. Debe configurar kube-proxy después de crear el clúster de Amazon EKS. Puede realizar los cambios para el sistema operativo, containerd, y el kubelet durante el proceso de compilación de las imágenes del sistema operativo o antes de ejecutar nodeadm init en cada nodo híbrido.

Configuración a nivel de nodo

Las configuraciones de esta sección se deben aplicar en las imágenes del 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 del proxy de 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 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

  1. Configure snap para usar el proxy con los siguientes comandos:

    sudo snap set system proxy.https=http://proxy-domain:port sudo snap set system proxy.http=http://proxy-domain:port
  2. Para habilitar el proxy para apt, cree un archivo llamado apt.conf en 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 y Red Hat Enterprise Linux

  1. Configure yum para utilizar el proxy. Cree un archivo /etc/yum.conf con los valores proxy-domain y de puerto correspondientes al entorno.

    proxy=http://proxy-domain:port

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.

  1. Edite el DaemonSet kube-proxy con el siguiente comando

    kubectl -n kube-system edit ds kube-proxy

    Esto abrirá la definición del DaemonSet kube-proxy en el editor configurado.

  2. Agregue las variables de entorno para HTTP_PROXY y HTTPS_PROXY. Tenga en cuenta que la variable de entorno NODE_NAME ya debe existir en la configuración. Sustituya proxy-domain y port por 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