Так что в конечном итоге все будет работать нормально, иногда в течение нескольких дней. Однако время от времени, когда я развертываю свой код (весь содержащийся в его собственном контейнере Docker с изображениями, хранящимися в Dockerhub), это вызывает сбой Kubernetes, что вызывает сбой всего остального. Я не смог придумать ни рифмы, ни причины этого. И по большей части я еще не нашел ничего, что действительно помогло бы решить проблемы. Обычно он просто снова начинает работать по какой-то причине - хотя я знаю, что по крайней мере однажды я удалил всю группу экземпляров и начал заново. Что сработало.
Теперь, когда я выполняю развертывание, все, что я делаю, это запускаю kubectl set image deployment
команда. Что работает в большинстве случаев, только время от времени случаются странные вещи.
А если точнее, то странные вещи случаются, если я пытаюсь перейти на https://<master node>/ui
Я получу такую ошибку:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "no endpoints available for service \"kubernetes-dashboard\"",
"reason": "ServiceUnavailable",
"code": 503
}
Это результат kubectl cluster-info
Kubernetes master is running at https://104.198.207.42
GLBCDefaultBackend is running at https://104.198.207.42/api/v1/proxy/namespaces/kube-system/services/default-http-backend
Heapster is running at https://104.198.207.42/api/v1/proxy/namespaces/kube-system/services/heapster
KubeDNS is running at https://104.198.207.42/api/v1/proxy/namespaces/kube-system/services/kube-dns
kubernetes-dashboard is running at https://104.198.207.42/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard
и на полпути к написанию этого он волшебным образом снова начал работать, поэтому я действительно не могу вставить больше вывода (или, по крайней мере, я не знаю, где его искать).
Но если у кого-то есть идеи о том, что вызывает это, и как я могу попытаться исправить это в следующий раз, когда это произойдет, это было бы потрясающе. Крайне неприятно, что развертывание может случайным образом сломать что-то и вызвать у меня часы простоя, пока я бесцельно и, казалось бы, бессмысленно пытаюсь это исправить. Просто чтобы он случайно решил снова работать.
Спасибо за прочтение!
Так что в интересах документации на случай, если у кого-то еще есть эта проблема. Мне пришлось перейти на более крупные экземпляры, в конечном итоге из-за того, что я получал ошибки OOM (нехватки памяти).
Я уже не помню, как я нашел эти ошибки, будь то kubectl logs
или gcloud
утилита командной строки. Но один из них в конце концов сказал, что были ошибки «OOM».
Я также столкнулся с той же проблемой: всякий раз, когда загрузка процессора приближается к 100%, панель управления kubernetes выдает ту же ошибку
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "no endpoints available for service \"kubernetes-dashboard\"",
"reason": "ServiceUnavailable",
"code": 503
}
И когда я удаляю несколько фиктивных модулей, он снова автоматически начинает работать.
Главное, что у меня 4 узла, и большинство стручков планируют только на 1-2 узлах.