Индивидуальная проверка здоровья с помощью GCP

Привет я пытаюсь использовать пользовательские проверки здоровья с GCP LoadBalancer.

я добавил readinessProbe & livenessProbe как это:

    readinessProbe:
      httpGet:
        path: /health
        port: dash
      initialDelaySeconds: 5
      periodSeconds: 1
      timeoutSeconds: 1
      successThreshold: 1
      failureThreshold: 10
    livenessProbe:
      httpGet:
        path: /health
        port: dash
      initialDelaySeconds: 5
      periodSeconds: 1
      timeoutSeconds: 1
      successThreshold: 1
      failureThreshold: 10

Но когда я создаю свой вход, я не получаю свою специальную проверку здоровья

Путь LB

2 ответа

Решение

Я завершил ответ. То, что я пытался сделать, было невозможно. Мой GCE Ingress использовал бэкэнд в порту 80, Но в моем ReadinessProbe я сказал ему, чтобы проверить порт 8080 и на /health дорожка. Это невозможно!

Порт службы, указанный в бэкэнде Ingress, должен быть таким же, как и порт, указанный в readinessProbe, Только путь может быть другим. Если мы не уважаем эту модель, это / это связано с путем проверки работоспособности GCP.

С точки зрения сети это логично, GCP проверки работоспособности "выходит" из кластера Kube, если мы сообщим ему выполнить маршрутизацию через порт. 80 но наш ReadinessProbe находится на другом порту, как он может гарантировать, что даже если порт, связанный с ReadinessProbe, встречает порт 80 (который является тем, на который он должен направлять трафик) также отвечает.

Таким образом, порт бэкэнда, объявленный в Ingress, должен иметь readinessProbe на том же порту. Единственное, что мы можем настроить - это путь.

Я думаю, что вы путаетесь между ресурсами в GCP.

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

Я собираюсь догадаться, что у вас есть входной ресурс где-то в вашем kubernetes conf, который создает lb и все ресурсы вокруг него, такие как проверка состояния (все еще предполагаю, что изображение, которое вы разместили, относится к этому).

Если вы используете GKE, вам следует оставить конфигурацию автоматизированного ресурса google из конфигурации k8s, которую вы развернули, как есть, потому что вы можете затормозить некоторые вещи, которые Google уже поддерживает для вас.

Другие вопросы по тегам