我能够创建EKS集群,但是当我尝试添加节点组时,出现“创建失败”错误,并显示以下详细信息: “ NodeCreationFailure”:实例无法加入kubernetes集群
我尝试了各种实例类型,并增加了没有运气的更大卷大小(60gb)。 查看EC2实例,我只会看到以下问题。但是,由于我没有直接启动EC2实例(EKS NodeGroup UI向导正在执行此操作),因此很难做任何事情。
考虑到故障发生的发生,甚至在我跳入ec2机器并“修复”它们之前,如何前进?
Amazon Linux 2
x86_64上的内核4.14.198-152.320.amzn2.x86_64
ip-187-187-187-175登录:[54.474668] cloud-init [3182]: 配置的存储库失败(未知), [54.475887] cloud-init [3182]:yum缓存不足 数据继续。在这一点上唯一 [54.478096] cloud-init [3182]:yum可以做的安全的事情是失败。那里 有几种方法可以“解决”此问题: [54.480183] cloud-init [3182]:1.联系上游以获取 存储库,并让他们解决问题。 [54.483514] cloud-init [3182]:2.重新配置baseurl / etc。对于 储存库,指向工作中的 [54.485198] cloud-init [3182]:上游。这是最有用的 如果您使用的是较新的 [54.486906] cloud-init [3182]:发行版本超出 存储库支持(以及 [54.488316] cloud-init [3182]:以前的软件包 发行版仍然有效)。 [54.489660] cloud-init [3182]:3.使用以下命令运行命令 储存库暂时停用 [54.491045] cloud-init [3182]:yum --disablerepo = ... [54.491285] cloud-init [3182]:4.禁用存储库 永久使用,因此yum默认不会使用它。百胜 [54.493407] cloud-init [3182]:然后将忽略存储库 直到您永久启用它 [54.495740] cloud-init [3182]:再次或使用--enablerepo 临时用途: [54.495996] cloud-init [3182]:yum-config-manager --disable
答案 0 :(得分:1)
我注意到这里没有答案,但在过去六个月中,这个问题的访问量大约为 2,000 次。您可能会看到这些失败的原因似乎有很多。要重新引用此处找到的 AWS 文档: https://docs.aws.amazon.com/eks/latest/userguide/troubleshooting.html
<块引用>aws-auth-cm.yaml 文件没有正确的 IAM 角色 ARN 你的节点。确保节点 IAM 角色 ARN(不是实例 profile ARN) 在您的 aws-auth-cm.yaml 文件中指定。更多 信息,请参阅启动自我管理的 Amazon Linux 节点。
您的节点 AWS CloudFormation 模板中的 ClusterName 没有 与您希望节点加入的集群名称完全匹配。 向该字段传递不正确的值会导致错误 节点的 /var/lib/kubelet/kubeconfig 文件的配置,以及 节点不会加入集群。
该节点没有被标记为归集群所有。您的节点必须 将以下标签应用于它们,在哪里 替换为您的集群名称。
Key Value kubernetes.io/cluster/<cluster-name>
Value owned
<块引用>
节点可能无法使用公共 IP 访问集群 地址。确保为部署在公共子网中的节点分配了一个 公共 IP 地址。如果没有,您可以将弹性 IP 地址关联到 启动后的一个节点。有关更多信息,请参阅关联 具有正在运行的实例或网络接口的弹性 IP 地址。如果 公共子网未设置为自动分配公共 IP 地址部署到它的实例,然后我们建议启用 环境。有关更多信息,请参阅修改公共 IPv4 子网的寻址属性。如果节点部署到 私有子网,那么子网必须有一个路由到 NAT 网关 分配给它的公共 IP 地址。
您将节点部署到的区域的 STS 端点是 未为您的帐户启用。要启用该区域,请参阅激活和 停用 AWS 区域中的 AWS STS。
工作节点没有私有 DNS 条目,导致 kubelet 日志包含节点 "" not found 错误。确保 VPC 创建工作节点的位置为 domain-name 和 域名服务器作为 DHCP 选项集中的选项。默认的 值为 domain-name:.compute.internal 和 域名服务器:AmazonProvidedDNS。有关详细信息,请参阅 DHCP Amazon VPC 用户指南中的选项集。
我自己在需要大写字母的标记上遇到了问题。实际上,如果您可以使用其他途径来部署 EKS 集群,我会推荐它(eksctl、aws cli、甚至 terraform)。