Kubernetes - Датчик готовности не работает для развертывания
Может кто-нибудь подскажите, пожалуйста, в чем проблема с моим файлом yaml для развертывания. Когда я снимаю датчик готовности, я вижу свой деплимент в kubectl get deployments
как доступно. Но с проверкой готовности он остается недоступным, как показано ниже.
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
neg-demo-app 1 1 1 0 2m33s
Ниже мой файл yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
run: neg-demo-app # Label for the Deployment
name: neg-demo-app # Name of Deployment
spec: # Deployment's specification
minReadySeconds: 60 # Number of seconds to wait after a Pod is created and its status is Ready
selector:
matchLabels:
run: neg-demo-app
template: # Pod template
metadata:
labels:
run: neg-demo-app # Labels Pods from this Deployment
spec: # Pod specification; each Pod created by this Deployment has this specification
containers:
- image: container_name # Application to run in Deployment's Pods
name: hostname # Container name
livenessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
readinessProbe:
httpGet:
path: /healthz
port: 8080
scheme: HTTP
terminationGracePeriodSeconds: 60 # Number of seconds to wait for connections to terminate before shutting down Pods
1 ответ
Что я думаю, что вы добавили
minReadySeconds: 60 # Number of seconds to wait after a Pod is created and its status is Ready
minReadySeconds - это необязательное поле, которое задает минимальное количество секунд, в течение которых вновь созданный Pod должен быть готов без сбоев любого из его контейнеров, чтобы его можно было считать доступным. По умолчанию это 0 (Pod будет считаться доступным, как только он будет готов).
So your newly created app pod have to be ready for minReadySeconds 60 seconds to be considered as available.
initialDelaySeconds: Number of seconds after the container has started before liveness or readiness probes are initiated.
Поэтому initialDelaySeconds предшествует minReadySeconds.
container in the pod has started at 5 seconds. Readiness probe will be initiated at 5+initialDelaySeconds seconds. Assume Pod become ready at 7 seconds(7 > 5+initialDelaySeconds). So this pod will be available after 7+minReadySeconds seconds.
Пожалуйста, попробуйте добавить initialDelaySeconds
в датчике покраснения и живучести, в противном случае попробуйте удалить minReadySeconds
,