kubernetes - 副本集的 Kubernetes 入口控制器部署循环失败
问题描述
这个周末我在生产中遇到了一些问题,我需要一些帮助:
周六,我收到一条警报,说我的一个集群(托管在 Google Cloud 上)中的所有应用程序都停止接收流量。
我开始寻找,发生的事情是我CrashLoopBackOff
在创建 Ingress 控制器 pod 时遇到了问题。
我尝试了几件事并最终设法修复它,但现在虽然它正在工作,但它一直处于奇怪的状态。
现在我有 2 个replicasets
而不是 1 个,其中一个正确创建了 pod,这就是它工作的原因,但另一个仍然处于错误循环中:
NAME DESIRED CURRENT READY AGE
replicaset.apps/nginx-ingress-nginx-ingress-7855 1 1 0 33h
replicaset.apps/nginx-ingress-nginx-ingress-7b8b 1 1 1 34h
NAME READY STATUS RESTARTS AGE
pod/nginx-ingress-nginx-ingress-7855 0/1 CrashLoopBackOff 397 33h
pod/nginx-ingress-nginx-ingress-7b8b 1/1 Running 12 34h
奇怪的是,如果我描述入口控制器的部署,我会看到以下内容:
OldReplicaSets: nginx-ingress-nginx-ingress-7b8b (1/1 replicas created)
NewReplicaSet: nginx-ingress-nginx-ingress-7855 (1/1 replicas created)
如您所见,新Replicaset
的是创建失败 pod 的,而旧的是正常工作的。我的第一个想法是通过做来重新启动部署,kubectl -n service rollout restart deployment ${DEPLOYMENT_NAME}
但现在我担心剩下的状态是 2Replicasets
都失败了......
此外,我无法删除Replicasets
失败的内容,因为它会再次自动创建并出现同样的问题。
两者的 Docker 映像也是相同的Replicasets
:nginx/nginx-ingress:1.10.0
所以我的问题是我无法清理“腐败” Replicasets
。任何想法将不胜感激!
谢谢!
解决方案
推荐阅读
- python - Plotly dash - 从上传的 csv 中选择列作为下拉列表
- python - Pyqt5 QLCDNumber 不显示秒(第三个对象)
- amazon-web-services - 能够在 Amazon CloudWatch Events 规则中指定唯一参数
- html - 如何使两个左浮动div不重叠?
- python - wxpython中三个面板网格布局中的嵌套sizer
- c# - Microsoft Cognitive Speech to Text - 不转换整个 .wav 文件
- javascript - 从数组向对象添加值,并且在数组用完时不会变为未定义
- excel - 如何在 VBA IE 自动化中相对单击复选框(通过提供来自 excel 单元格的数据)?
- matlab - 如何将 TF 训练的网络导出到 h5 文件
- python - PyQt5 QSlider 根据滑块移动的方向关闭一个