Ваш модуль аварийно завершает работу или неработоспособен
Сначала просмотрите журналы текущего контейнера:
kubectl logs ${POD_NAME} ${CONTAINER_NAME}
Если ваш контейнер ранее разбилсяВы можете получить доступ к журналу аварий предыдущего контейнера с помощью:
kubectl logs --previous ${POD_NAME} ${CONTAINER_NAME}
В качестве альтернативы, вы можете запускать команды внутри этого контейнера с помощью exec:
kubectl exec ${POD_NAME} -c ${CONTAINER_NAME} -- ${CMD} ${ARG1} ${ARG2} ... ${ARGN}
Примечание: -c ${CONTAINER_NAME}
необязательно.Вы можете опустить его для модулей, которые содержат только один контейнер.
Например, чтобы просмотреть журналы работающего модуля Cassandra, вы можете запустить:
kubectl exec cassandra -- cat /var/log/cassandra/system.log
Если ни один изэти подходы работают, вы можете найти хост-машину, на которой запущен модуль, и SSH на этом хосте.
В заключение проверьте Logging в Google StackDriver.
Отладка модулей
Первый шаг в отладке модуля - посмотреть на него.Проверьте текущее состояние модуля и последние события с помощью следующей команды:
kubectl describe pods ${POD_NAME}
Посмотрите на состояние контейнеров в модуле.Они все бегут?Были ли недавние перезапуски?
Продолжить отладку в зависимости от состояния модулей.
Отладка ReplicationControllers
ReplicationControllers довольно просты.Они могут создавать стручки или не могут.Если они не могут создавать модули, пожалуйста, обратитесь к инструкциям выше для отладки ваших модулей.
Вы также можете использовать kubectl describe rc ${CONTROLLER_NAME}
для проверки событий, связанных с контроллером репликации.
Надеюсь, что это такпоможет вам найти именно проблему.