eksctl 停留在等待节点加入集群
eksctl stuck on Waiting for Nodes to join the cluster
当使用 eksctl
使用 AWS EKS 创建 Kubernetes 集群时,进程卡住等待节点加入集群:
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 集群通信
使用现有 VPC 网络时,您必须确保 VPC 符合所有 EKS 特定要求 [1、2]。 logz.io 的博客 post 提供了有关设置 VPC 网络的详细指导,以及您可以用作基础的示例 AWS Cloud Formation 模板 [3]。
缺少 IAM 政策
EKS 工作线程节点需要 AmazonEKSWorkerNodePolicy 和 AmazonEKS_CNI_Policy 策略 [4] 才能与集群通信。
默认情况下,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
我遇到了同样的问题,并找到了这个问题的真正原因。
问题出在创建的 VPC 上。我还创建了 VPC 和子网,但我没有创建导致问题的路由 table 和互联网入口。
问题已解决,一旦映射了路由 table 和互联网网关。
当使用 eksctl
使用 AWS EKS 创建 Kubernetes 集群时,进程卡住等待节点加入集群:
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 集群通信
使用现有 VPC 网络时,您必须确保 VPC 符合所有 EKS 特定要求 [1、2]。 logz.io 的博客 post 提供了有关设置 VPC 网络的详细指导,以及您可以用作基础的示例 AWS Cloud Formation 模板 [3]。 缺少 IAM 政策 EKS 工作线程节点需要 AmazonEKSWorkerNodePolicy 和 AmazonEKS_CNI_Policy 策略 [4] 才能与集群通信。
默认情况下,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
我遇到了同样的问题,并找到了这个问题的真正原因。
问题出在创建的 VPC 上。我还创建了 VPC 和子网,但我没有创建导致问题的路由 table 和互联网入口。
问题已解决,一旦映射了路由 table 和互联网网关。