Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

'eksctl' bloccato in attesa che i nodi entrino nel cluster

By Vladik KhononovOct 23, 20192 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

1 6azquqzs s3yzqi gx4tvw

Molti dei nostri clienti che hanno provato a creare un cluster Kubernetes si sono imbattuti in questo messaggio di errore senza log specifici utili a capirne la causa. Ecco come lo risolviamo di solito.

Spesso, quando si usa `eksctl` per creare cluster Kubernetes su AWS EKS, il processo si blocca in attesa che i nodi entrino nel cluster e compare il seguente errore:

> 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"

Il messaggio appare senza alcun log aggiuntivo e il processo va in timeout, mentre i nodi appena creati non riescono a comunicare con il cluster Kubernetes. In base alla nostra esperienza in DoiT International, le cause principali di questo problema sono due: una VPC configurata male oppure delle policy mancanti.

VPC configurata in modo errato

Quando si utilizza una rete VPC esistente, è necessario verificare che sia conforme a tutti i requisiti specifici di EKS [1, 2]. L'articolo di logz.io fornisce indicazioni dettagliate sulla configurazione di una rete VPC, oltre a un esempio di template AWS Cloud Formation da usare come punto di partenza [3].

Policy IAM mancanti

L'altra causa principale riguarda le policy AmazonEKSWorkerNodePolicy e AmazonEKS_CNI_Policy [4], indispensabili affinché i nodi worker EKS possano comunicare con il cluster. Per impostazione predefinita, eksctl genera automaticamente un ruolo che le contiene. Tuttavia, se si usa la proprietà "attachPolicyARNs" per associare policy specifiche tramite ARN, occorre includerle esplicitamente [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

Continua a riscontrare questi errori? Ci descriva la sua situazione nei commenti a questo contenuto.

[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/