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:
-
EKS no permite clústeres sin el acceso público o privado habilitado.
-
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.
-
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 ejemplo
kubectl), así como, y posiblemente el comandoeksctl delete clustereksctl utils write-kubeconfig,eksctl utils update-kube-proxydeben 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.extraCIDRslo 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