Ошибка проверки готовности: версия оболочки MongoDB v4.0.10 - PullRequest
1 голос
/ 08 июня 2019

При запуске monogodb в kubernetes выдает следующую ошибку: -

Я пытался изменить образ mongodb

Warning  Unhealthy  2m28s  kubelet, minikube  Readiness probe failed: MongoDB 
shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2019-06-08T15:25:01.774+0000 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed
 Warning  Unhealthy  2m17s  kubelet, minikube  Readiness probe failed: MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2019-06-08T15:25:12.008+0000 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed

1 Ответ

1 голос
/ 10 июня 2019

Я наблюдал ту же ошибку, как только я увеличил значение initialDelaySeconds: до более высокого значения в Готовность Спецификация зонда внутри развертывания, проблема исчезла, и mongodb Pod был создан без ошибки , На самом деле, докеру требуется некоторое время для получения изображения docker.io/bitnami/mongodb и инициализации прослушивателя сокета mongodb, поэтому проверка готовности указывает на проблему, пока процесс контейнера не готов к сетевым подключениям.

    readinessProbe:
      exec:
        command:
        - mongo
        - --eval
        - db.adminCommand('ping')
      failureThreshold: 6
      initialDelaySeconds: 360
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 5

Между тем, вы можете проверить mongodb Pod на наличие статусов входящих подключений или любых соответствующих событий.

kubectl logs <mongodb-Pod-name>

Я использовал stable / mongodb Диаграмма Helm для развертывания MongoDB и обнаружил ошибку, похожую на вашу:

helm install --name mongodb stable/mongodb

Предупреждение Нездоровый 38м кубелец, gke-helm-test-default-pool-efed557c-52tf Ошибка проверки готовности: Версия оболочки MongoDB v4.0.9 для подключения к: MongoDB: //127.0.0.1: 27017 / gssapiServiceName = MongoDB 2019-06-10T12: 46: 46.054 + 0000 E QUERY [js] Ошибка: не удалось подключиться к серверу 127.0.0.1:27017, попытка подключения не удалась: SocketException: Ошибка подключения к 127.0.0.1:27017 :: вызвана :: Соединение отказано : connect@src/mongo/shell/mongo.js: 343: 13 @ (подключение): исключение 2: 6: Ошибка подключения

Когда я произвел некоторую настройку и набрал readinessProbe.initialDelaySeconds от 5 секунд до 360 секунд, контейнер mongodb запустился без сбоев.

helm install --name mongodb stable/mongodb --set readinessProbe.initialDelaySeconds=360
...