Acceso al clúster - Guía del usuario de Eksctl

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Acceso al clúster

Administración del acceso a los puntos finales del servidor API de Kubernetes

De forma predeterminada, un clúster de EKS expone el servidor de API de Kubernetes de forma pública, pero no directamente desde las subredes de la VPC (public=true, private=false). El tráfico destinado al servidor de API desde la VPC debe salir primero de las redes de VPC (pero no de la red de Amazon) y, a continuación, volver a entrar para llegar al servidor de API.

El acceso al punto final del servidor API de Kubernetes para un clúster se puede configurar para el acceso público y privado al crear el clúster mediante el archivo de configuración del clúster. Ejemplo siguiente:

vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false>

Hay algunas advertencias adicionales a la hora de configurar el acceso al punto final de la API de Kubernetes:

  1. EKS no permite clústeres sin el acceso público o privado habilitado.

  2. EKS permite crear una configuración que solo permita habilitar el acceso privado, pero eksctl no lo admite durante la creación del clúster, ya que impide que eksctl pueda unir los nodos de trabajo al clúster.

  3. La actualización de un clúster para que solo tenga acceso privado al punto final de la API de Kubernetes significa que los comandos de Kubernetes, de forma predeterminada (por ejemplokubectl), así como, y posiblemente el comando eksctl delete clustereksctl utils write-kubeconfig, eksctl utils update-kube-proxy deben ejecutarse dentro de la VPC del clúster.

    • Esto requiere algunos cambios en varios recursos de AWS. Para obtener más información, consulte el punto final del servidor de la API de clúster.

    • Puedes proporcionar vpc.extraCIDRs lo que añadirá rangos de CIDR adicionales a la ControlPlaneSecurityGroup, lo que permitirá que las subredes ajenas a la VPC lleguen al punto final de la API de kubernetes. Del mismo modo, también puedes añadir rangos de CIDRvpc.extraIPv6CIDRs. IPv6

El siguiente es un ejemplo de cómo se puede configurar el acceso al punto final de la API de Kubernetes mediante el subcomando: utils

eksctl utils update-cluster-vpc-config --cluster=<clustername> --private-access=true --public-access=false

Para actualizar la configuración mediante un ClusterConfig archivo, usa:

eksctl utils update-cluster-vpc-config -f config.yaml --approve

Ten en cuenta que si no pasas una bandera, esta mantendrá el valor actual. Una vez que esté satisfecho con los cambios propuestos, añada la approve marca para realizar el cambio en el clúster en ejecución.

Restringir el acceso al punto final de la API pública de EKS Kubernetes

La creación predeterminada de un clúster de EKS expone públicamente el servidor de la API de Kubernetes.

Esta función solo se aplica al punto final público. Las opciones de configuración de acceso al punto final del servidor API no cambiarán y, de todas formas, tendrás la opción de deshabilitar el punto final público para que no se pueda acceder al clúster desde Internet. (Fuente: https://github.com/aws/ containers-roadmap/issues/108 #issuecomment -552766489)

Para restringir el acceso al punto final de la API pública a un conjunto de al crear un clúster, defina el campo: CIDRs publicAccessCIDRs

vpc: publicAccessCIDRs: ["1.1.1.1/32", "2.2.2.0/24"]

Para actualizar las restricciones de un clúster existente, usa:

eksctl utils update-cluster-vpc-config --cluster=<cluster> 1.1.1.1/32,2.2.2.0/24

Para actualizar las restricciones mediante un ClusterConfig archivo, defina la nueva CIDRs entrada vpc.publicAccessCIDRs y ejecute:

eksctl utils update-cluster-vpc-config -f config.yaml
importante

Si la configuración publicAccessCIDRs y la creación de grupos de nodos se privateAccess debe configurar en true o se IPs deben añadir los nodos a la lista. publicAccessCIDRs

Si los nodos no pueden acceder al punto final de la API del clúster debido a un acceso restringido, la creación del clúster fallará context deadline exceeded debido a que los nodos no pueden acceder al punto final público y no pueden unirse al clúster.

Para actualizar el acceso al punto final del servidor API y el acceso CIDRs público de un clúster con un solo comando, ejecuta:

eksctl utils update-cluster-vpc-config --cluster=<cluster> --public-access=true --private-access=true --public-access-cidrs=1.1.1.1/32,2.2.2.0/24

Para actualizar la configuración mediante un archivo de configuración:

vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false> publicAccessCIDRs: ["1.1.1.1/32"]
eksctl utils update-cluster-vpc-config --cluster=<cluster> -f config.yaml