У нас есть кластер kubernetes (v1.10), работающий на AWS (EKS), и мы развернули в этом кластере таблицу управления jupyterhub.
(Для получения более подробной информации об архитектуре системы, это руководство подробно описывает нашу настройку: От нуля до JupyterHub с Kubernetes на AWS (EKS)
Работает около 3 месяцев, проблем нет.
Этим утром рабочие узлы отключились от кластера k8s.
При расследовании я впервые обнаружил, что публичный ELB-прокси помечал рабочие узлы как нездоровые. Это заставило меня заподозрить проблему сетевого трафика ...
Я посмотрел на группу безопасности, связанную с рабочими узлами, и обнаружил, что она не принимает трафик от публичного прокси-сервера ELB. (Первоначально было правило, разрешающее трафик, поступающий из группы безопасности, связанной с открытым прокси-сервером ELB).
В настоящее время неясно, как было удалено правило. Но я добавил это обратно. Однако ELB все еще не отмечает узлы как исправные, несмотря на то, что узлы работают.
Некоторая диагностическая информация, которую я смог получить через kubectl:
kubectl describe svc proxy-public --namespace jhub
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning UnAvailableLoadBalancer 1h service-controller There are no available nodes for LoadBalancer service jhub/proxy-public
и
kubectl get nodes --namespace jhub
No resources found
Примечание: у меня есть идентичный кластер, созданный с точно такой же конфигурацией, который в настоящее время работает просто отлично. Это может помочь диагностировать эту проблему, сравнивая две кластерные среды.
Не уверен, какой следующий лучший курс действий. Я думаю, что я должен как-то попытаться заставить узлы повторно присоединиться к кластеру.
В идеале я хочу, чтобы кластер снова заработал без потери данных.