首页 > 解决方案 > 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

标签: kubernetes

解决方案


我建议您在清单(containers级别)中添加一个 liveness 和 readinessProbe ,例如:

  readinessProbe:
    tcpSocket:
      port: 8080
  livenessProbe:
    tcpSocket:
      port: 8080

请注意,这不是 K8s 强制这些探测器存在的默认行为。我假设它已通过验证准入 webhook添加到您的 K8s 集群中。


推荐阅读