Зонды готовности K8s с HTTPS и сертификатами - PullRequest
1 голос
/ 26 мая 2020

У меня есть приложение для весенней загрузки, размещенное на k8s и принудительно использующее mTLS в самом приложении. Я могу выполнить mTLS для подключения, выполнив завершение SSL на уровне Ingress, а затем снова перенаправив сертификаты в модуль Springboot.

Проблема в том, что зонды живучести и готовности в настоящее время не уверены, как отправлять сертификаты в зондах готовности / живучести?

Любая помощь приветствуется.

1 Ответ

1 голос
/ 27 мая 2020

Из официальной документации настройка зондов :

Если в поле схемы установлено значение HTTPS, кубелет отправляет HTTPS-запрос, пропуская проверку сертификата.

Вот как будет выглядеть манифест:

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nginx
  name: alive-n-ready-https
spec:
  containers:
  - name: nginx
    image: viejo/nginx-mockit
    livenessProbe:
      httpGet:
        path: /
        port: 443
        scheme: HTTPS
    readinessProbe:
      httpGet:
        path: /
        port: 443
        scheme: HTTPS

И хотя без схемы, зонды завершатся ошибкой с 400 (неверный запрос), так как вы отправляете http-пакет в конечную точку, которая ожидает https:

10.132.15.199 - - [27/May/2020:18:10:36 +0000] "GET / HTTP/1.1" 400 271 "-" "kube-probe/1.17"

С scheme: HTTPS будет успешно:

10.132.15.199 - - [27/May/2020:18:26:28 +0000] "GET / HTTP/2.0" 200 370 "-" "kube-probe/1.17"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...