Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accès au cluster
Gestion de l'accès aux points de terminaison du serveur d'API Kubernetes
Par défaut, un cluster EKS expose le serveur d'API Kubernetes publiquement, mais pas directement depuis les sous-réseaux VPC (public=true, private=false). Le trafic destiné au serveur d'API depuis le VPC doit d'abord quitter les réseaux VPC (mais pas le réseau d'Amazon), puis y entrer à nouveau pour atteindre le serveur d'API.
L'accès au point de terminaison du serveur d'API Kubernetes pour un cluster peut être configuré pour un accès public et privé lors de la création du cluster à l'aide du fichier de configuration du cluster. Exemple ci-dessous :
vpc: clusterEndpoints: publicAccess: <true|false> privateAccess: <true|false>
Il existe quelques mises en garde supplémentaires lors de la configuration de l'accès aux points de terminaison de l'API Kubernetes :
-
EKS n'autorise pas les clusters dont l'accès privé ou public n'est pas activé.
-
EKS permet de créer une configuration qui autorise uniquement l'accès privé, mais eksctl ne le prend pas en charge lors de la création du cluster car il empêche eksctl de joindre les nœuds de travail au cluster.
-
La mise à jour d'un cluster pour avoir un accès privé aux points de terminaison de l'API Kubernetes uniquement signifie que les commandes Kubernetes, par défaut, (par exemple
kubectl) ainsi que, et éventuellement la commandeeksctl delete clustereksctl utils write-kubeconfig,eksctl utils update-kube-proxydoivent être exécutées dans le VPC du cluster.-
Cela nécessite de modifier certaines ressources AWS. Pour plus d'informations, consultez la section Point de terminaison du serveur Cluster API.
-
Vous pouvez fournir
vpc.extraCIDRsce qui ajoutera des plages CIDR supplémentaires au ControlPlaneSecurityGroup, permettant aux sous-réseaux extérieurs au VPC d'atteindre le point de terminaison de l'API Kubernetes. De même, vous pouvez égalementvpc.extraIPv6CIDRsprévoir d'ajouter des plages IPv6 CIDR.
-
Voici un exemple de la façon dont on peut configurer l'accès au point de terminaison de l'API Kubernetes à l'aide de la sous-commande : utils
eksctl utils update-cluster-vpc-config --cluster=<clustername> --private-access=true --public-access=false
Pour mettre à jour le paramètre à l'aide d'un ClusterConfig fichier, utilisez :
eksctl utils update-cluster-vpc-config -f config.yaml --approve
Notez que si vous ne passez pas d'indicateur, il conservera la valeur actuelle. Une fois que vous êtes satisfait des modifications proposées, ajoutez l'approveindicateur pour apporter la modification au cluster en cours d'exécution.
Restreindre l'accès au point de terminaison de l'API publique EKS Kubernetes
La création par défaut d'un cluster EKS expose le serveur d'API Kubernetes publiquement.
Cette fonctionnalité s'applique uniquement au point de terminaison public. Les options de configuration de l'accès au point de terminaison du serveur API ne changeront pas et vous aurez toujours la possibilité de désactiver le point de terminaison public afin que votre cluster ne soit pas accessible depuis Internet. (Source : feuille de https://github.com/aws/ route-conteneurs/issues/108 #issuecomment -552766489)
Pour limiter l'accès au point de terminaison d'API public à un ensemble de CIDRs lors de la création d'un cluster, définissez le publicAccessCIDRs champ :
vpc: publicAccessCIDRs: ["1.1.1.1/32", "2.2.2.0/24"]
Pour mettre à jour les restrictions sur un cluster existant, utilisez :
eksctl utils update-cluster-vpc-config --cluster=<cluster> 1.1.1.1/32,2.2.2.0/24
Pour mettre à jour les restrictions à l'aide d'un ClusterConfig fichier, définissez le nouveau CIDRs fichier vpc.publicAccessCIDRs et exécutez :
eksctl utils update-cluster-vpc-config -f config.yaml
Important
Si vous définissez publicAccessCIDRs et créez des groupes de nœuds, vous privateAccess devez définir la valeur « nœuds » true ou les nœuds IPs doivent être ajoutés à la liste. publicAccessCIDRs
Si les nœuds ne peuvent pas accéder au point de terminaison de l'API du cluster en raison d'un accès restreint, la création du cluster échouera context deadline exceeded car les nœuds ne pourront pas accéder au point de terminaison public et ne pourront pas rejoindre le cluster.
Pour mettre à jour à la fois l'accès aux terminaux du serveur API et CIDRs l'accès public d'un cluster en une seule commande, exécutez :
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
Pour mettre à jour le paramètre à l'aide d'un fichier de configuration :
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