Добавление проб работоспособности в службу

По умолчанию контроллер объекта ingress предоставляет пробу HTTP GET для всех подготовленных pod. Свойства этой пробы можно изменить, добавив в спецификацию deployment/podпробу готовности или пробу активности

Наличие readinessProbe или livenessProbe

apiVersion: networking.k8s.io/v1
kind: Deployment
metadata:
  name: aspnetapp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        service: site
    spec:
      containers:
      - name: aspnetapp
        image: mcr.microsoft.com/dotnet/samples:aspnetapp
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80
        readinessProbe:
          httpGet:
            path: /
            port: 80
          periodSeconds: 3
          timeoutSeconds: 1

Справочник по API Kubernetes:

Примечание.

  • readinessProbe и livenessProbe поддерживаются при настройке вместе с httpGet.
  • Проверка других портов, кроме предоставленных в pod, в настоящее время не поддерживается.
  • HttpHeadersSuccessThreshold, InitialDelaySecondsне поддерживаются.

Без readinessProbe или livenessProbe

Если указанные выше пробы не предоставляются, контроллер входящего трафика предполагает, что служба доступен для Path заметок backend-path-prefix или path указанная в ingress определении службы.

Значения по умолчанию для пробы работоспособности

Для любого свойства, которое не может быть выведено пробой готовности и активности, значения по умолчанию задаются.

Свойство пробы работоспособности Шлюза приложений Значение по умолчанию
Path /
Host localhost
Protocol HTTP
Timeout 30
Interval 30
UnhealthyThreshold 3