gpt4 book ai didi

nginx - kubernetes liveness探针重新启动以CrashLoopback结尾的Pod

转载 作者:行者123 更新时间:2023-12-02 12:21:45 24 4
gpt4 key购买 nike

我有一个带有openconnect vpn代理容器的2个nginx副本的部署(一个容器只有一个容器)。

它们启动时没有任何问题,并且一切正常,但是一旦连接崩溃并且我的 Activity 探针失败,nginx容器就会重新启动,最终以CrashLoopbackoff结尾,因为openconnect和nginx重新启动会失败

nginx:

host not found in upstream "example.server.org" in /etc/nginx/nginx.conf:11

openconnect:
getaddrinfo failed for host 'vpn.server.com': Temporary failure in name resolution

似乎/etc/resolv.conf是由openconnect编辑的,并且在pod重启时,它保持不变(尽管它不是持久卷的一部分),我相信整个容器都应该从干净的docker镜像运行, /etc/resolv.conf没有修改的地方,对吗?

修复CrashLoopback的唯一方法是删除Pod,并且部署rc运行一个有效的新Pod。

与通过 liveness 探针restart重新启动pod中的容器时,创建新的pod有何不同?容器是否以干净的图像重新启动?

最佳答案

restartPolicy适用于Pod中的所有容器,而不适用于Pod本身。通常只有在有人explicitly deletes时才重新创建Pod。

我认为这可以解释为什么重新启动的容器具有不好的resolv.conf失败,但是新的pod可以工作的原因。

“重新启动的容器”就是这样,它不是从下载的Docker镜像中产生的。这就像杀死一个进程并启动它一样-新进程的文件系统与旧进程正在更新的文件系统相同。但是一个新的pod将创建一个新容器,其本地文件系统 View 与下载的docker镜像中打包的容器相同-全新开始。

关于nginx - kubernetes liveness探针重新启动以CrashLoopback结尾的Pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47979144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com