我们在使用kubernetes / helm进行AWS部署时遇到了问题,我们看到“Pod沙箱已更改,它将被终止并重新创建”。这种情况之前没有发生过,但是我们最新的部署开始了,我们删除了以前使用helm delete部署并使用helm install创建了新部署。不确定这是否与我们对AWS SQS的新依赖关系或更新kubertetes / helm / kops版本有关。在同一个kubernetes节点上还有其他pod,它们工作正常。
这些pod继续被杀死并重新启动,并重复以下消息:
手动杀死pod会像k8s那样启动新的pod,但这并不能解决相关线程中某些人提到的问题。
cpu和内存的值
资源:限制:cpu:100m内存:128Mi请求:cpu:100m内存:128Mi
版本信息:
- client version 1.9 (also tried 1.6 and 1.7)
- server version 1.7 (git vresion 1.7.2)
- helm vresion 2.7.2
- kops version 1.8.0
- Kernel Version: 4.4.102-k8s
- OS Image: Debian GNU/Linux 8 (jessie)
- Container Runtime Version: docker://1.12.6
- Kubelet Version: v1.7.2
- Kube-Proxy Version: v1.7.2
- Operating system: linux
- Architecture: amd64
已经通过所有相关线程来解决此错误,但此问题似乎针对不同的环境,并且我们未使用这些线程中列出的版本。
- https://stackoverflow.com/questions/46826164/kubernetes-pods-failing-on-pod-sandbox-changed-it-will-be-killed-and-re-create
- https://stackoverflow.com/questions/46922452/kubernetes-1-7-on-google-cloud-failedsync-error-syncing-pod-sandboxchanged-pod
任何关于找到根本原因或解决问题的指针都会非常有帮助。非常感谢。
修复结果证明是增加内存限制。我们更改了helm使用的values.yaml文件(以下部分)并提升了限制...
资源:
limits:
cpu: 100m
memory: 128Mi <--- increased this value...
requests:
cpu: 100m
memory: 128Mi
希望显示的错误消息比“Pod沙箱更改,它将被杀死并重新创建”更具体:-)