Как определить причину сбоя кластера AKS kubernetes - PullRequest
0 голосов
/ 18 января 2019

У меня есть производственный кластер AKS kubernetes, размещенный на юге Великобритании, который стал нестабильным и не отвечает:

image 1

Из рисунка видно, что у меня есть несколько модулей в разных состояниях неготовности, т. Е. Завершающие / неизвестные, а те, к которым должен работать отчет, недоступны.

Я могу видеть из таблицы аналитики, что проблема начинается около 9:50 вечера прошлой ночью

image 2

Я просматривал журналы в самой службе AKS и журналы Kibana для приложений, работающих в кластере во время сбоя, но я изо всех сил пытаюсь увидеть все, что, по-видимому, вызвало это.

К счастью, у меня есть два кластера, обслуживающих производство под управлением диспетчера трафика, поэтому я перенаправил весь трафик на работоспособный, но меня беспокоит то, что мне нужно понять, что вызвало это, особенно если то же самое произойдет с другим, поскольку будет производственный процесс. время простоя, пока я раскручиваю новый кластер.

У меня вопрос: я упускаю какие-либо очевидные места для поиска информации о причинах проблемы? какие-либо журналы событий, которые могут указывать на проблему?

Ответы [ 2 ]

0 голосов
/ 26 января 2019

Просто догадка, но проверьте, есть ли https://github.com/Azure/AKS/issues/305 шаги, чтобы определить и исправить это.

0 голосов
/ 18 января 2019

Я бы предложил изучить журнал событий K8s примерно в то время, когда ваши узлы "не были готовы".

Попробуйте открыть вкладку «Insights» Nodes и выбрать таймфрейм вверх во время, когда что-то пошло не так. Посмотрите, что такое статусы узлов. Любое давление? Вы можете увидеть это на панели свойств справа от списка узлов. Панель свойств также содержит ссылку на журналы событий для этого периода ... Обратите внимание, что ссылка на журналы событий на панели свойств узла создает сложный запрос, отображающий только события, помеченные этим узлом.

Вы можете получить эту информацию с помощью более простых запросов (а также выполнять более интересные запросы) в журналах. Откройте вкладку «Журналы» в левом меню кластера и выполните запрос, подобный этому (измените временной интервал на тот, который вам нужен):

let startDateTime = datetime('2019-01-01T13:45:00.000Z');
let endDateTime = datetime('2019-01-02T13:45:00.000Z');
KubeEvents_CL
| where TimeGenerated >= startDateTime and TimeGenerated < endDateTime
| order by TimeGenerated desc

Посмотрите, есть ли у вас события, указывающие, что пошло не так. Также интересны вы можете посмотреть на инвентаризацию узлов в вашем кластере Узлы сообщают о статусе K8s. Это было "Готово" до проблемы ... Тогда что-то пошло не так - каков статус? Случайно с диска?

let startDateTime = datetime('2019-01-01T13:45:00.000Z');
let endDateTime = datetime('2019-01-02T13:45:00.000Z');
KubeNodeInventory
| where TimeGenerated >= startDateTime and TimeGenerated < endDateTime
| order by TimeGenerated desc
...