首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >readinessProbe似乎不等待初始延迟。

readinessProbe似乎不等待初始延迟。
EN

Stack Overflow用户
提问于 2020-09-24 01:13:00
回答 1查看 292关注 0票数 0

概述

这是我第一次设置readinessProbe,所以我可能缺少一些非常基本的东西。

我有两个吊舱的部署。一个运行nginx,另一个构建应用程序,并将资产放到构建目录中,这是两个容器共享的卷。构建资产的容器需要一两分钟才能完成。这是我的deployment.yaml (简写):

代码语言:javascript
复制
 ...
  containers:
  - name: personal-site-container
    readinessProbe:
      exec:
        command:
        - ls
        - /opt/dist/js/app.*.js
      initialDelaySeconds: 120
    image: <username>/<image>:latest
    volumeMounts:
    - name: build-volume
      mountPath: /opt/dist
  - name: nginx-server
    readinessProbe:
      exec:
        command:
        - ls
        - /usr/share/nginx/html/js/app.*.js
      initialDelaySeconds: 120
    image: nginx:1.19.0
    ports:
    - containerPort: 80
    volumeMounts:
    - name: build-volume
      mountPath: /usr/share/nginx/html

我所期望的

因为当构建了资产时,ls命令将成功,而当具有该名称的资产不存在时则会失败,因此我预计探测将在两分钟后运行,然后将两个容器的状态设置为就绪。

实际发生了什么

当我应用这个部署时,一切都按预期进行(个人站点容器中的日志显示静态资产正在生成,0/2容器处于就绪状态),在第一分钟内,容器进入崩溃退避循环。当我以下列方式查看事件时:

代码语言:javascript
复制
k get event --field-selector involvedObject.name=personal-site-5b595d46db-tmsrb

我看到一个“后退重新启动失败的容器”事件,它的类型是“警告”,但没有任何类型的错误。

问题(S)

我还能做些什么来调查为什么readinessProbe似乎不等待120秒钟才能更改就绪状态?如果解决方案很明显,我在这里遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-25 09:03:48

“后退重新启动失败的容器”与准备状态探测无关。失败的准备状态探测永远不会导致容器被杀死或重新启动。它只负责考虑为服务请求准备好的容器,并将其添加到服务的负载均衡器中。

另一个则构建一个应用程序,并将这些资产放到构建目录中。

我在这里怀疑的是个人站点容器构建资产和出口。由于默认的重新启动策略是always,容器被重新启动,等等,所以它进入了一个“回退重新启动”循环。

顺便说一句,个人现场集装箱的准备状态探测没有多大意义。第一,它不属于任何服务,第二,它是为了完成工作和退出(据我所知)。您可能想看看Kubernetes 工作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64038227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档