POD 不能移除&不能排水
集群ID:ce196c6229074492f91b76f6cc7d3b636
节点ID:i-gw87awmorxspkicxd4he
这个节点卡在不可调度状态,上边的pod不能被移除掉
节点不能正常排水,节点上有这么个报错
解决方案
webhook设置了干扰预算
目前是 一个副本 ,最小可用 80%
建议两种方式:
1、删除干扰预算(做好备份)
2、修改干扰预算
①调整minAvailable为0
②扩容副本,调小minAvailable
a.minAvailable设置成1 ,可以保证 1个副本可用,可以设置成1
b.或者minAvailable 50% 然后将webhook的副本调成2个
升级时长过长(超20 分钟)
节点升级时间过长,20分钟还未升级完成
解决方案
升级到containerd 会涉及到 替换系统盘,排水,会比较慢,现在正常运行,即使有之前的pdb 干扰,我们也有干扰预算机制,依然会升级。
Container Runtime Version: containerd://1.5.10
[2023-07-04 15:08:52—15:37:59] 【节点池升级】 状态:running,
已弃用的 K8S API
集群 ID: c4fbc8b8a0ae24e20b0faf20be7fa3e6c
问题现象
解决方案
对于弃用的 api资源,已经存在的不需要改动,如果有用 helm 或者 cicd 的话,需要把手头上的 yaml 改下 apiversion 升级 的话 ack会把running的deployment等资源的apiversion升级成新的,主要改本地的以及cicd之类的存放yaml的apiversion即可
集群ID:c50e73ed43df446958357b058d5ef4824
问题现象
废弃API问题
解决方案
Ingress和IngressC lass资源不再支持networking.k8s.io/v1beta1和extensions/v1beta1 API。
忽略不影响升级。 存量默认会自动把这两个api 升级到networking.k8s.io/v1替代,手头有还没创建的 资源,apiversion 需要换成 v1
具体参考:
https://help.aliyun.com/document_detail/390170.html?spm=a2c4g.212872.0.0
升级时出现废弃API,说明如下:
Kubernetes 1.20及之后版本的集群升级前检查时,支持检查废弃API信息。在检查结果的实例列表中可以看到集群使用的废弃API。
如果集群在1.22版本中继续使用废弃API,可能会有安全隐患。如果有业务正在使用这些废弃API,需要进行处理
废弃API说明
https://help.aliyun.com/document_detail/606069.htm?spm=a2c4g.86497.0.0.3aa63ec84FfOvc#section-bff-eip-5xe
资源变更及废弃说明
https://help.aliyun.com/document_detail/390170.html?spm=a2c4g.155809.0.0.328a7003r6FzQB
注意事项
1)、CCM组件升级失败大多由yaml和SLB两侧配置差异引起,其他CCM组件升级问题参考:https://help.aliyun.com/document_detail/164988.html?spm=a2c4g.215497.0.i7
2)、如需对集群CLB进行规格、配置等进行调整,建议通过ACK集群进行管理
3)、节点运行时替盘升级前,请不要在系统盘中保存重要数据或者提前做好备份
SVC与SLB的监听配置不一致
集群ID:cd7a6e3f10bef4367abf852a5f4e9f977
SVC与SLB的监听配置不一致
解决方案
需要到对应 slb 控制台443 https 监听,把证书 1098831533399102_1876e458dee_-845411940_-1678535794 换成 1098831533399102_17ffe514f27_1938710420_150127723
后期一切关于k8s service slb 监听,参数等都需要统一在service 去更改,不能在slb 控制台去操作。
如果是slb 控制台如果改了原证书 1098831533399102_17ffe514f27_1938710420_150127723 改成了 1098831533399102_1876e458dee_-845411940_-1678535794
这个操作不允许,需要统一service 去更改
目标SVC 查看命令:
kubect get svc -n 命名空间 svc-name -o yaml
修改POD 挂载路径
ack升级需要修改挂载路径,排水时可能会丢失数据
解决方案
kubectl get pods