Готовность контейнера Openshift показывает 0/1 - PullRequest
0 голосов
/ 07 мая 2020

Я развернул службу, работающую при весенней загрузке в openshift. Служба весенней загрузки инициализируется хорошо, и мы видим следующие журналы, что хорошо.

2020-05-06 19:32:33.930  INFO 1 --- [           main] c.a.r.l.MyApplication   : Started MyApplication in 44.227 seconds (JVM running for 67.578)
2020-05-06 19:32:38.706  INFO 1 --- [nio-8198-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-05-06 19:32:38.709  INFO 1 --- [nio-8198-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-05-06 19:32:38.802  INFO 1 --- [nio-8198-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 93 ms

Однако состояние готовности контейнеров показывает 0/1, и через 5 минут я вижу это предупреждение, и модуль перезагружается.

The container has been running for more than five minutes and has not passed its readiness check

и я вижу

Readiness probe failed: HTTP probe failed with statuscode: 404

Что может быть не так?

1 Ответ

0 голосов
/ 07 мая 2020
Readiness probe failed: HTTP probe failed with statuscode: 404

Это означает, что URL-адрес, который вы указали для своего readinessProbe, не существует (HTTP 404). Итак, проверьте, как определяется ваш readinessProbe (какой URI называется), и убедитесь, что есть действительный ответ.

Для Spring Boot доступен исполнительный механизм для конечных точек Health, см. Следующую документацию: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html

Вот пример:

[..]
spec:
  containers:
  - args:
    image: k8s.gcr.io/readiness 
    readinessProbe: 
    httpGet:
      path: /healthz

В приведенном выше примере убедитесь, что конечная точка /healthz существует.

Вы можете дополнительные сведения о настройке зондов готовности см. в документации OpenShift .

...