Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

" eksctl " bloqué en attente des nœuds rejoignant le cluster

By Vladik KhononovOct 23, 20192 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

1 6azquqzs s3yzqi gx4tvw

Beaucoup de nos clients qui ont tenté de créer un cluster Kubernetes ont rencontré ce message d'erreur sans logs précis pour en identifier la cause. Voici comment nous le résolvons habituellement.

Lorsque l'on utilise `eksctl` pour créer des clusters Kubernetes sur AWS EKS, le processus reste souvent bloqué en attendant que les nœuds rejoignent le cluster, et l'erreur suivante apparaît :

> nodegroup "my-cluster" has 0 node(s) > waiting for at least 3 node(s) to become ready in "my-cluster" > timed out (after 25m0s) waiting for at least 3 nodes to join the cluster and become ready in "my-cluster"

Le message s'affiche sans aucun log supplémentaire et le processus finit par expirer, alors que les nœuds nouvellement créés ne parviennent pas à communiquer avec le cluster Kubernetes. D'après notre expérience chez DoiT International, ce problème a deux causes principales : un VPC mal configuré ou des politiques manquantes.

VPC mal configuré

Lorsque vous utilisez un réseau VPC existant, vous devez vous assurer qu'il respecte toutes les exigences propres à EKS [1, 2]. L'article de blog de logz.io détaille la configuration d'un réseau VPC et propose un exemple de modèle AWS Cloud Formation à utiliser comme point de départ [3].

Politiques IAM manquantes

Une autre cause fréquente concerne les politiques AmazonEKSWorkerNodePolicy et AmazonEKS_CNI_Policy [4], indispensables aux nœuds worker EKS pour communiquer avec le cluster. Par défaut, eksctl génère automatiquement un rôle contenant ces politiques. En revanche, lorsque vous utilisez la propriété " attachPolicyARNs " pour rattacher des politiques spécifiques par ARN, vous devez les inclure explicitement [5] :

nodeGroups:
- name: my-special-nodegroup
iam:
attachPolicyARNs:

- arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy

- arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess

Vous rencontrez toujours ces erreurs ? Partagez votre situation en commentaire de cet article.

[1] https://docs.aws.amazon.com/eks/latest/userguide/create-public-private-vpc.html

[2] https://eksctl.io/usage/vpc-networking/

[3] https://logz.io/blog/amazon-eks/

[4] https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html

[5] https://eksctl.io/usage/iam-policies/