Kubernetes 库伯内特斯活性探针

Kubernetes 库伯内特斯活性探针,kubernetes,google-kubernetes-engine,Kubernetes,Google Kubernetes Engine,我如何为我的spring启动应用程序编写kubernetes readiness probe,启动大约需要20秒?我试着从中学习,但我不确定库伯内特斯是如何将状态代码200理解为成功的 apiVersion: v1 kind: Pod metadata: labels: app: backend name: liveness-http spec: containers: - name: liveness image: k8s.gcr.io/liveness

我如何为我的spring启动应用程序编写kubernetes readiness probe,启动大约需要20秒?我试着从中学习,但我不确定库伯内特斯是如何将状态代码200理解为成功的

apiVersion: v1
kind: Pod
metadata:
  labels:
    app: backend
    name: liveness-http
spec:
  containers:
  - name: liveness
    image: k8s.gcr.io/liveness
    args:
    - /server
    livenessProbe:
      httpGet:
        path: /healthz
        port: 8080
        httpHeaders:
        - name: Custom-Header
          value: Awesome
      initialDelaySeconds: 3
      periodSeconds: 3

Kubernetes kubelet将在应用程序中的
/healthz
路径发出http请求,并期望从该端点返回http状态代码200,以便探测成功。因此,您需要在rest控制器中有一个rest端点,它将从
/healthz
返回200。实现它的一个简单方法是包含spring boot actuator依赖项,并将活动性探测路径更改为
/actuator/health/liveness
。默认情况下,Spring boot actuator附带一个rest控制器端点,该端点从
/actuator/health/liveness
返回200


initialDelaySeconds
字段告诉kubelet在执行第一次探测之前应该等待20秒。因此,这通常配置为容器/吊舱启动所需的值/时间

配置
initialDelaySeconds:20
,值为20秒