Убедитесь, что услуги существуют

Я собираюсь развернуть Keycloak на своем кластере K8S и в качестве базы данных выбрал PostgreSQL.

Чтобы настроить бизнес-требования, мы должны добавить в Keycloak дополнительные функции, например настраиваемую тему и т. Д. Это означает, что для каждого изменения в Keycloak мы будем запускать конвейер CI / CD. Мы используем Drone для CI и ArgoCD для CD.

В конвейере, прежде чем он попадет в часть компакт-диска, мы хотели бы убедиться, что PostgreSQL запущен и работает.
Вопрос в том, существует ли инструмент для K8S, который мы можем проверить, работают ли определенные службы и Бег.


person softshipper    schedule 14.05.2020    source источник


Ответы (2)


"Готово"! = "Существует"

1. Чтобы проверить, существует ли служба, просто выполните kubectl get service <svc>

2: Чтобы проверить, есть ли активные конечные точки, выполните kubectl get endpoints <svc>

3: Вы также можете проверить, находятся ли опоры в состоянии готовности.

2 и 3 требует, чтобы зонд готовности был правильно настроен на модуле / развертывании.

person Radek 'Goblin' Pieczonka    schedule 14.05.2020
comment
Есть ли более простой способ проверить это? - person softshipper; 14.05.2020

Радек прав в своем ответе, но я хотел бы расширить его с помощью официальная документация. Чтобы убедиться, что сервис существует и работает правильно, вам необходимо:

  • Убедитесь, что модули действительно работают и обслуживаются: kubectl get pods -o go-template='{{range .items}}{{.status.podIP}}{{"\n"}}{{end}}'

  • Проверить, существует ли служба: kubectl get svc

  • Проверьте, существуют ли Endopints: kubectl get endopints

  • При необходимости проверьте, работает ли Сервис по DNS-имени: nslookup hostnames (из модуля в том же пространстве имен) или nslookup hostnames.<namespace> (если он находится в другом).

  • При необходимости проверьте, работает ли Сервис по IP: for i in $(seq 1 3); do wget -qO- <IP:port> done

  • Убедитесь, что Служба определена правильно: kubectl get service <service name> -o json

  • Проверяем, работает ли kube-proxy: ps auxw | grep kube-proxy

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

Что касается вашего вопроса в комментариях: я не думаю, что есть более простой способ, учитывая, что вам нужно убедиться, что все работает нормально. Вы можете пропустить некоторые шаги, но это будет зависеть от вашего варианта использования.

Я надеюсь, что это помогает.

person Wytrzymały Wiktor    schedule 15.05.2020