kubernetes - Kubernetes 部署关于活性和就绪性的 tomcat 问题
问题描述
我尝试在 kubernetes 上部署我的 tomcat,但是当我运行时:kubectl create -f deploy-tomcat.yaml
我总是遇到同样的错误:
error from server (need to declare liveness (found 0), need to declare readiness (found 0)
部署 tomcat.yaml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: tomcat-deployment
labels:
app: tomcat
spec:
replicas: 1
selector:
matchLabels:
app: tomcat
template:
metadata:
labels:
app: tomcat
spec:
containers:
- name: tomcat
image: tomcat-image
ports:
- containerPort: 8080
解决方案
我建议您在清单(containers
级别)中添加一个 liveness 和 readinessProbe ,例如:
readinessProbe:
tcpSocket:
port: 8080
livenessProbe:
tcpSocket:
port: 8080
请注意,这不是 K8s 强制这些探测器存在的默认行为。我假设它已通过验证准入 webhook添加到您的 K8s 集群中。
推荐阅读
- ruby-on-rails - Devise Invitable controller 好像没有到达?
- django - 如何在 django 中修复 NoReverseMatch?
- javascript - 如何将 json 数据推送到 React-vis 的 XY 数组中?
- javascript - 有没有办法让浏览器要求用户允许弹出窗口?
- c# - 如何通过 C#(实体框架)获取行的 MAX ID
- python - boto3 - 列出名称包含的子文件夹中的文件
- laravel - Laravel Eloquent - 不要返回关系
- rxjs - RxJs Subject 让我们先处理新的订阅
- forms - symfony 表单自定义选择类型小部件名称
- r - 如何为 R shinyWidgets > prettyToggle > label_on(和 label_off)换行文本