我可以创建EKS群集,但当我尝试添加节点组时,收到"Create failed"(创建失败)错误,详细信息如下:"节点创建失败":示例无法加入kubernetes群集
我尝试了各种示例类型,并增加了更大的卷大小(60gb),但运气不佳。查看EC2示例,我只看到以下问题。然而,由于我没有直接启动EC2示例(EKS NodeGroup UI向导正在执行此操作),因此很难执行任何操作。
考虑到故障甚至在我能够跳进ec2机器并"修复"它们之前就发生了,一个人将如何前进呢?
亚马逊Linux 2
x86_64上的内核4.14.198 - 152.320.amzn2.x86_64
IP-187 - 187 - 187 - 175登录:[54.474668]云初始化[3182]:其中一个配置的存储库失败(未知),[54.475887] cloud-init [3182]:并且yum没有足够的缓存数据来继续。此时,只有[54.478096] cloud-init [3182]:百胜可以做的安全的事情是失败。有几种方法可以"修复"这个问题:[54.480183]云初始化[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]:[54.491285]云初始化[3182]:4.永久禁用存储库,因此百胜在默认情况下不会使用它。百胜[54.493407] cloud-init [3182]:然后将忽略存储库,直到您永久启用它[54.495740] cloud-init [3182]:或使用--enablerepo临时使用:[54.495996]云初始化[3182]:yum配置管理器--禁用
9条答案
按热度按时间hzbexzde1#
在列表中添加另一个原因:
在我的例子中,节点在私有子网中运行,*我没有在 API服务器端点访问 * 下配置私有端点。
更新后,节点组没有自动更新,所以我必须重新创建它们。
9gm1akwq2#
我注意到这里没有答案,但在过去的六个月里,这个问题的访问量达到了2k。你可能会看到这些失败的原因似乎有很多。回顾一下这里找到的AWS文档:https://docs.aws.amazon.com/eks/latest/userguide/troubleshooting.html
我自己在标记需要大写字母的地方遇到了问题。实际上,如果你可以使用另一种方法来部署你的EKS集群,我会推荐它(eksctl,aws cli,terraform even)。
agyaoht73#
在我的例子中,问题是我在一个私有子网中部署我的节点组,但是这个私有子网没有关联的NAT网关,因此没有互联网访问。
1.创建NAT网关
1.使用以下路由创建新的路由表(第二个是Internet访问路由,通过NAT):
*Destination: 0.0.0.0/0 Target: NAT-gateway-id
1.将私有子网与第二步中创建的可路由表关联。
之后,节点组就可以毫无问题地加入集群。
ubby3x7f4#
我会尽量简短地回答,强调一些事情,可以出错的前线。
**1.**将附加到EKS工作节点的IAM角色添加到kube-system名称空间中的
aws-auth
配置Map。Ref**2.**登录到已创建但未能加入群集的工作节点。尝试使用nc从内部连接到API服务器。例如:
nc -vz 9FCF4EA77D81408ED82517B9B7E60D52.yl4.eu-north-1.eks.amazonaws.com 443
**3.**如果您没有使用AWS控制台下拉列表中的EKS节点(这意味着您正在AWS EC2中使用LT或LC),请不要忘记在启动模板中添加
userdata
部分。Ref**4.**检查EKS工作程序IAM节点策略,查看是否已添加适当的权限。
AmazonEKS_CNI_Policy
是必须的。**5.**您的节点必须应用以下标记,其中cluster-name将替换为群集的名称。
kubernetes.io/cluster/cluster-name: owned
我希望你的问题就在这张单子里。
参考编号:https://docs.aws.amazon.com/eks/latest/userguide/troubleshooting.htmlhttps://aws.amazon.com/premiumsupport/knowledge-center/resolve-eks-node-failures/
5lwkijsr5#
首先,我把nat网关放在了我的私有子网里,然后我把nat网关移回了公共子网,这样就可以正常工作了。
地形代码如下:
mm9b1k5b6#
尝试向部署工作节点的专用子网添加标记。
kubernetes.io/cluster/ <cluster_name>=共享
gtlvzcf87#
我们需要检查什么类型的nat网关我们配置。它应该是公共的,但在我的情况下,我配置为私人。
一旦我从私人转为公共,问题就解决了。
jm2pwxwz8#
自动缩放组日志显示我们已达到报价限制。
Launching a new EC2 instance. Status Reason: You've reached your quota for maximum Fleet Requests for this account. Launching EC2 instance failed.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fleet-quotas.htmlaydmsdu99#
我有一个类似的问题,任何提供的解决方案工作。经过一些调查和运行:
在日志中,我有:
因此,很自然地,解决方案似乎禁用了与
然后运行正常,节点已注册,使用
jounralctl
和systemctl status kubelet
检查时输出正常。