После успешной установки CAM модуль "cam-mongo" вышел из строя
После успешного развертывания CAM (был запущен и работал в течение нескольких дней), внезапно микросервис "cam-mongo" вышел из строя и при проверке журналов для модуля pod с помощью команды ниже 2 выдает модуль ошибки синхронизации
1) kubectl описать pods -n услуг
Предупреждение BackOff 3s (x3 over 18s) kubelet, 9.109.191.126 Откат, повторный запуск, сбой контейнера
Предупреждение FailedSync 3s (x3 over 18s) kubelet, 9.109.191.126 Модуль синхронизации с ошибкой
С этой информацией вы не знаете, что пошло не так и как вы это исправили
2) kubectl -n services logs cam-mongo-5c89fcccbd-r2hv4 -p (с опцией -p вы можете получить журналы из ранее запущенного контейнера). Приведенная выше команда показывает следующую информацию:
исключение в initAndListen: 98 Невозможно заблокировать файл: /data/db/mongod.lock Ресурс временно недоступен. Экземпляр mongod уже запущен?, terminatingConclusion:
При запуске контейнера внутри модуля "cam-mongo" он не смог использовать существующий файл /data/db/mongod.lock, и, следовательно, ваш модуль не будет работать и вы не сможете получить доступ к CAM
1 ответ
После дальнейшего анализа я решил проблему следующим образом:
1) раскрутить контейнер и установить в него объем cam-mongo.
Чтобы сделать это, я использовал ниже yaml создания pod, который будет монтировать pv'а концерна, где присутствует / data / db /.
вид: Pod
apiVersion: v1
метаданные:
имя: Монго-Устранение неполадок
спецификация:
объемы:
имя: Cam-Mongo-PV
persistentVolumeClaim:
имя_применения: cam-mongo-pv
контейнеры:
имя: Монго-устранение неполадок
изображение: nginx
порты:
КонтейнерПорт: 80
имя: "http-сервер"
volumeMounts:
mountPath: "/ data / db"
имя: Cam-Mongo-PV
RUN: службы kubectl -n создают -f./mongo-troubleshoot-pod.yaml
2) Используйте "docker exec -it /bin/bash " (ищите его в "kubectl -n services description info для po / mongo-Troubleshoot-pod-xxxxx")
кд / данные / дб
rm mongod.lock
рм WiredTiger.lock
3) убить модуль, который вы создали для устранения неполадок
4) убить поврежденный модуль cam-mongo, используя команду ниже
kubectl удалить пакеты -n услуги
Это исправило проблему.