Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 快速重启吊舱_Kubernetes - Fatal编程技术网

Kubernetes 快速重启吊舱

Kubernetes 快速重启吊舱,kubernetes,Kubernetes,我最近一直在试验kubernetes,我一直在尝试在pods中测试故障切换,方法是使用一个复制控制器,其中的容器在使用后立即崩溃(从而导致重新启动) 我已将bashttpd项目改编为: (在中,我将其设置为服务于容器的主机名,然后退出) 这很好,除了重启速度远远慢于我正在尝试做的事情,因为它适用于前几个请求,然后停止一段时间,然后在重启POD时再次开始工作。(理想情况下,我希望在访问服务时不出现任何中断) 我认为(但不确定)这里提到的备份延迟是罪魁祸首: 一些输出: #] kubectl g

我最近一直在试验kubernetes,我一直在尝试在pods中测试故障切换,方法是使用一个复制控制器,其中的容器在使用后立即崩溃(从而导致重新启动)

我已将bashttpd项目改编为:

(在中,我将其设置为服务于容器的主机名,然后退出)

这很好,除了重启速度远远慢于我正在尝试做的事情,因为它适用于前几个请求,然后停止一段时间,然后在重启POD时再次开始工作。(理想情况下,我希望在访问服务时不出现任何中断)

我认为(但不确定)这里提到的备份延迟是罪魁祸首:

一些输出:

#] kubectl get pods
NAME                         READY     STATUS    RESTARTS   AGE
chronojam-blog-a23ak         1/1       Running   0          6h
chronojam-blog-abhh7         1/1       Running   0          6h
chronojam-serve-once-1cwmb   1/1       Running   7          4h
chronojam-serve-once-46jck   1/1       Running   7          4h
chronojam-serve-once-j8uyc   1/1       Running   3          4h
chronojam-serve-once-r8pi4   1/1       Running   7          4h
chronojam-serve-once-xhbkd   1/1       Running   4          4h
chronojam-serve-once-yb9hc   1/1       Running   7          4h
chronojam-tactics-is1go      1/1       Running   0          5h
chronojam-tactics-tqm8c      1/1       Running   0          5h
#] curl http://serve-once.chronojam.co.uk
<h3> chronojam-serve-once-j8uyc </h3>
#] curl http://serve-once.chronojam.co.uk
<h3> chronojam-serve-once-r8pi4 </h3>
#] curl http://serve-once.chronojam.co.uk
<h3> chronojam-serve-once-yb9hc </h3>
#] curl http://serve-once.chronojam.co.uk
<h3> chronojam-serve-once-46jck </h3>
#] curl http://serve-once.chronojam.co.uk
#] curl http://serve-once.chronojam.co.uk
kubectl获得豆荚 名称就绪状态重新启动 chronojam-blog-a23ak 1/1运行0 6小时 chronojam-blog-abhh7 1/1运行0 6小时 chronojam-serve-once-1cwmb 1/1运行7小时4小时 chronojam-serve-once-46jck 1/1运行7小时 chronojam-serve-once-j8uyc 1/1运行3 4小时 chronojam-serve-once-r8pi4 1/1运行7小时 chronojam服务一次xhbkd 1/1运行4小时 chronojam-serve-once-yb9hc 1/1运行7小时 chronojam-tactics-is1go 1/1运行0.5小时 chronojam-tactics-tqm8c 1/1运行0.5小时 #]卷曲http://serve-once.chronojam.co.uk chronojam-serve-once-j8uyc #]卷曲http://serve-once.chronojam.co.uk chronojam-serve-once-r8pi4 #]卷曲http://serve-once.chronojam.co.uk chronojam-serve-once-yb9hc #]卷曲http://serve-once.chronojam.co.uk chronojam-serve-once-46jck #]卷曲http://serve-once.chronojam.co.uk #]卷曲http://serve-once.chronojam.co.uk 您还将注意到,尽管那里应该有2个仍然健康的豆荚,但它在第4个豆荚之后停止返回

所以我的问题有两个:

(一)

我可以调整退避延迟吗

(二)

为什么我的服务不将我的请求发送到健康容器

观察:
我认为可能是Web服务器本身无法如此快速地开始服务请求,因此kubernetes认为这些POD是健康的,并将请求发送到那里(但由于过程尚未启动而什么也没有返回?

我提出了一个问题来记录推荐的做法。我在本期文章中简要介绍了该方法:

  • 确保POD设置了非零终止时间
  • 在POD的主服务容器上配置readinessProbe
  • 在应用程序中处理SIGTERM:使readinessProbe失败,但继续*处理正常请求,不退出
  • 将maxUnavailable和/或maxSurge设置得足够大,以确保部署API规范中有足够的服务实例(1.2中提供)

容器重启,特别是当它们拉取映像时,对于系统来说代价相当高。Kubelet拒绝重新启动崩溃的容器,以便在docker、注册表、apiserver等方面正常降级。

嘿,这正是我想要的,谢谢:)在启动该列表之前,可以添加一个准备例程,以便在重新启动之前将使用中的最新图像拉到每个节点。我认为这样可以让容器像没有图像变化一样燃烧起来。