Сбой проверки готовности с кодом состояния: 401 - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь включить проверку готовности в файле развертывания yaml, как показано ниже, но мне не удается выполнить проверку готовности: HTTP probe failed with statuscode: 401, я подтвердил расшифровку секрета, и мой код авторизации правильный.

spec:
  containers:
  - name: mycontainer
    image: myimage
    env:
      - name: MY_SECRET
        valueFrom:
          secretKeyRef:
            name: actuator-token
            key: token
    livenessProbe:
        httpGet:
          path: test/actuator/health
          port: 9001
          httpHeaders:
          - name: Authorization
            value: $MY_SECRET

ОБНОВЛЕНИЯ

Если я жестко закодирую токен в поле значения .. он работает нормально.

Любая помощь высоко ценится.

1 Ответ

1 голос
/ 10 февраля 2020

Секрет доступен только внутри контейнера, поэтому обычный тест живучести (который запускается из внутреннего контейнера k8s) не может решить эту проблему, прочитайте здесь .

Одним из обходных путей является запуск вашего livenessProbe в виде команды в самом модуле:

 livenessProbe:
    exec:
      command:
      - bash 
      - "-c" 
      - | 
        curl http://localhost:9001/test/actuator/health --header "Authorization: $MY_TOKEN"

вам может понадобиться возиться с синтаксисом curl, чтобы он работал правильно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...