eksctl застрял в ожидании присоединения узлов к кластеру - PullRequest
2 голосов
/ 23 октября 2019

При использовании eksctl для создания кластера Kubernetes с использованием AWS EKS процесс застревает в ожидании присоединения узлов к кластеру:

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"

Сообщение отображается без каких-либо дополнительных журналов до тех пор, покапроцесс в конечном итоге истекает. Похоже, что за кулисами вновь созданные узлы не могут связаться с кластером Kubernetes

1 Ответ

2 голосов
/ 23 октября 2019

При использовании существующей сети VPC вы должны убедиться, что VPC соответствует всем специфическим требованиям EKS [1, 2]. В блоге logz.io содержится подробное руководство по настройке сети VPC, а также пример шаблона AWS Cloud Formation, который вы можете использовать в качестве основы [3]. Отсутствующие политики IAM Политики AmazonEKSWorkerNodePolicy и AmazonEKS_CNI_Policy [4] требуются рабочим узлам EKS для связи с кластером.

По умолчанию eksctl автоматически создает роль, содержащую эти политики. Однако, когда вы используете свойство «attachPolicyARNs» для присоединения определенных политик ARN, вы должны явно включить эти политики [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

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

...