Зонды Kubernetes Liveness и готовности вызывают журналы ошибок http: ошибка рукопожатия TLS из 10.234.0.1:49330: EOF

Я настраиваю зонды готовности и живучести для моего развертывания kuberenetes.

Вот как я это добавил:

        ports:
    - name: http
      containerPort:  {{ .Values.service.internalPort }}
      protocol: TCP
  livenessProbe:
    tcpSocket:
      port: http
  readinessProbe:
    tcpSocket:
      port: http

Но это вызывает журналы ошибок в модуле:

      2021/03/24 03:23:06 http: TLS handshake error from 10.244.0.1:48476: EOF

Если я удалю зонды и создам развертывание, эти журналы не появятся.

У меня есть такая настройка входа, что все HTTP-запросы к этому контейнеру как https. Потому что мой контейнер ожидает к нему только https-запросы.

Я думал, что эти журналы ошибок показаны, потому что зонды tcp не отправляют здесь https-запросы.

Есть ли другой способ настроить зонды без этих журналов ошибок?

1 ответ

если вы хотите отправить HTTPS-запрос службе, вам необходимо изменить scheme.

      livenessProbe:
  httpGet:
    path: /
    port: 443
    scheme: HTTPS
readinessProbe:
  httpGet:
    path: /
    port: 443
    scheme: HTTPS

вы можете проверить больше на: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#http-probes

Схема: Схема, используемая для подключения к хосту (HTTP или HTTPS). По умолчанию HTTP.

если установлен HTTPS, kubelet будет отправлять HTTPS-запрос, иначе по умолчанию это будет HTTP.

если запрос, в случае сбоя вы увидите журналы, например: 400 неверный запрос

      10.165.18.52 - - [24/March/2021:17:06:40 +0000] "GET / HTTP/1.1" 400 271 "-" "kube-probe/1.16"

для успешного запроса это будет 200 запросов

      10.165.18.52 - - [24/March/2021:18:10:06 +0000] "GET / HTTP/1.1" 200 "-" "kube-probe/1.16"
Другие вопросы по тегам