Проба живучести Kubernetes - PullRequest
2 голосов
/ 26 мая 2020

Как я могу написать тест готовности kubernetes для моего приложения весенней загрузки, запуск которого занимает около 20 секунд? Я попытался последовать примеру Настроить зонды жизнеспособности, готовности и запуска , но я не уверен, как Kubernetes определяет код состояния 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

Ответы [ 2 ]

3 голосов
/ 26 мая 2020

Kubernetes kubelet сделает http-запрос по пути /healthz в вашем приложении и ожидает, что от этой конечной точки будет возвращен HTTP-код состояния 200, чтобы зонд был успешным. Итак, вам нужно иметь конечную точку отдыха в контроллере отдыха, который вернет 200 из /healthz. Простым способом добиться этого было бы включить зависимость привода пружинного кожуха и изменить путь датчика живучести на /actuator/health/liveness. Пружинный привод по умолчанию поставляется с конечной точкой контроллера покоя, которая возвращает 200 из /actuator/health/liveness.

https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production -ready-kubernetes-probes

2 голосов
/ 26 мая 2020
Поле

initialDelaySeconds сообщает кубелету, что он должен подождать 20 секунд перед выполнением первой проверки. Таким образом, это обычно настраивается на значение / время, которое требуется контейнеру / поду для запуска.

Настройте initialDelaySeconds: 20 со значением 20 секунд.

...