首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制EKS替换EKS的托管组节点?

如何强制EKS替换EKS的托管组节点?
EN

Stack Overflow用户
提问于 2022-09-01 12:09:35
回答 1查看 221关注 0票数 0

在将我的EKS集群升级到1.22 (第一次升级控制平面,然后是节点)之后,托管组节点的更新成功地完成了,但是过了一段时间,EKS决定提供一个新的节点,无论出于什么原因使用旧的kubernetes版本。

如果我运行kubectl get nodes,您可以看到其中一个节点正在运行1.21

代码语言:javascript
复制
NAME                                              STATUS   ROLES    AGE     VERSION
ip-10-13-10-186.ap-northeast-1.compute.internal   Ready    <none>   4h39m   v1.22.12-eks-ba74326
ip-10-13-26-91.ap-northeast-1.compute.internal    Ready    <none>   3h3m    v1.21.14-eks-ba74326
ip-10-13-40-42.ap-northeast-1.compute.internal    Ready    <none>   4h33m   v1.22.12-eks-ba74326

如果我运行并检查我的托管组,我会发现它实际上是1.22版本

eksctl get nodegroup default-20220901053307980400000010 --cluster mycluster-dev -o yaml

代码语言:javascript
复制
- AutoScalingGroupName: eks-default-20220901053307980400000010-f8c17xc4-f750-d608-d166-113925c1g9c5
  Cluster: mycluster-dev
  CreationTime: "2022-09-01T05:33:11.484Z"
  DesiredCapacity: 3
  ImageID: AL2_x86_64
  InstanceType: t3.large
  MaxSize: 3
  MinSize: 3
  Name: default-20220901053307980400000010
  NodeInstanceRoleARN: arn:aws:iam::XXXXXXXXXXX:role/eks_node_group_dev_role-20220901052135822100000004
  StackName: ""
  Status: ACTIVE
  Type: managed
  Version: "1.22"

我还可以在AWS控制台中看到版本为1.22。

我再次尝试运行升级命令,但没有结果。

我还尝试使用以前部署的集群手动从托管组中删除一个节点,但是没有重新部署一个新节点,而是只剩下两个节点。

我的问题是,我怎样才能强制替换这个节点,希望它能以正确的kubelet版本启动?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-01 13:32:58

诚恳地说,有时我会经历EKS的一些不合逻辑的行为,我对你的情况并不感到奇怪。

在我看来,您应该在自动标度组级别应用更改,只需定位与目标节点组关联的自动标号组,然后手动从它中删除节点,方法是先分离该节点,然后终止它。根据我的经验,应用于节点组的更改有时需要一些时间才能在自动标度组级别上得到反映,而且我认为,有时,两者之间的交互会受到这种行为的影响。

在分离节点之前,请确保最小和所需的容量设置为3,当分离它时,AWS将询问您是否要替换该节点,然后说是。

检查启动模板版本

由于我不清楚是通过节点组设置实例类型,还是通过附加到它的启动模板设置实例类型,那么正如您在注释中确认的(启动模板),在这种情况下,您应该验证您总是使用它的最新版本来使相关更改得到反映。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73569120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档