Базовое устранение неполадок при запуске кластера AKS
В этой статье описываются основные методы устранения неполадок, которые следует использовать, если не удается успешно запустить кластер Microsoft Служба Azure Kubernetes (AKS).
Предварительные требования
Azure CLI (версия 2.0.59 или более поздняя версия).
Средство Kubernetes kubectl . Чтобы установить kubectl с помощью Azure CLI, выполните команду az aks install-cli .
Просмотр ошибок из Azure CLI
При запуске кластеров с помощью Azure CLI ошибки записываются в качестве выходных данных в случае сбоя операции. Вот как команда, пользовательский ввод и выходные данные операции могут отображаться в Bash
консоли:
$ az aks start --resource-group myResourceGroup --name MyManagedCluster
(VMExtensionProvisioningError) Unable to establish outbound connection from agents, please see https://video2.skills-academy.com/en-us/troubleshoot/azure/azure-kubernetes/error-code-outboundconnfailvmextensionerror and https://aka.ms/aks-required-ports-and-addresses for more information.
Details: instance 3 has extension error details : {vmssCSE error messages : {vmssCSE exit status=50, output=AGE_SHA=sha-16fd35
Эти ошибки часто содержат подробные описания ошибок при запуске кластера, а также ссылки на статьи, содержащие дополнительные сведения. Кроме того, вы можете использовать наши статьи по устранению неполадок в качестве справки на основе ошибки, возникающей при операции Azure CLI.
Просмотр сведений об ошибке в портал Azure
Чтобы просмотреть сведения об ошибках в портал Azure, изучите журнал действий Azure. Чтобы найти список журналов действий в портал Azure, выполните поиск по журналу действий. Или выберите Уведомления (значок колокольчика), а затем выберите Дополнительные события в журнале действий.
Список журналов на странице журналов действий содержит строку, в которой значение столбца Имя операции называется Запуск управляемого кластера. Для соответствующего события, инициированного значением столбца, задается имя рабочей или учебной учетной записи. Если операция выполнена успешно, в столбце Состояниеотображается значение Принято.
Что делать, если произошла ошибка? В этом случае в поле Состояние операции запуска управляемого кластераотображается сбой. В отличие от операций по созданию компонентов кластера, здесь необходимо развернуть запись неудачной операции, чтобы просмотреть записи субоперации. Типичными именами субоперации являются действия политики, такие как действие политики аудита и действие политики auditIfNotExists. Некоторые субоперации по-прежнему показывают, что они успешно выполнены.
Для дальнейшего изучения можно выбрать одну из неудачных субопераций. Откроется боковая панель, где можно просмотреть дополнительные сведения о субоперации. Вы можете устранять неполадки со значениями для таких полей, как Сводка, JSON и Журнал изменений. Поле JSON содержит выходной текст для ошибки в формате JSON и обычно предоставляет наиболее полезные сведения.
Просмотр аналитики кластера
Вы также можете создать аналитику кластера для устранения неполадок с помощью колонки Диагностика и решение проблем в портал Azure. Чтобы получить доступ к этой функции, выполните следующие действия.
В портал Azure найдите и выберите Службы Kubernetes.
Выберите имя кластера AKS.
В области навигации на странице кластера AKS выберите Диагностика и решение проблем.
На странице Диагностика и решение проблем выберите ссылку Аналитика кластера . Средство аналитики кластера анализирует кластер, а затем предоставляет список его результатов в разделе Наблюдения и решения на странице Аналитика кластера .
Выберите один из результатов, чтобы просмотреть дополнительные сведения о проблеме и ее возможных решениях.
Просмотр ресурсов в портал Azure
В портал Azure может потребоваться просмотреть ресурсы, созданные при создании кластера. Как правило, эти ресурсы находятся в группе ресурсов, которая начинается с MC_. Группа ресурсов управляемого кластера может иметь такое имя, как MC_MyResourceGroup_MyManagedCluster_<location-code>. Однако имя может отличаться, если вы создали кластер с помощью настраиваемой группы ресурсов кластера.
Чтобы найти группу ресурсов, найдите и выберите Группы ресурсов в портал Azure, а затем выберите группу ресурсов, в которой был создан кластер. Список ресурсов отображается на странице Обзор группы ресурсов.
Предупреждение
Рекомендуется не изменять ресурсы в группе ресурсов MC_ . Это действие может привести к нежелательным последствиям для кластера AKS.
Чтобы проверить состояние масштабируемого набора виртуальных машин, можно выбрать имя масштабируемого набора в списке ресурсов группы ресурсов. У него может быть имя , похожее на aks-nodepool1-12345678-vmss , и значение Typeмасштабируемого набора виртуальных машин. Состояние масштабируемого набора отображается в верхней части страницы обзор пула узлов, а дополнительные сведения — в заголовке Essentials. Если развертывание завершилось неудачно, отображается состояние Сбой.
Для всех ресурсов можно просмотреть сведения, чтобы лучше понять, почему развертывание завершилось сбоем. Для масштабируемого набора можно выбрать текст Состояние сбоя , чтобы просмотреть сведения о сбое. Сведения содержатся в строке, содержащей столбцы Состояние, Уровень и Код . В следующем примере показана строка значений столбцов.
Столбец | Пример значения |
---|---|
Состояние | Сбой подготовки |
Level | Ошибка |
Код | ProvisioningState/failed/VMExtensionProvisioningError |
Выберите строку, чтобы увидеть поле Сообщение . Он содержит еще больше сведений об этом сбое. Например, поле Сообщение для строки примера начинается со следующего текста:
Виртуальная машина сообщила о сбое при обработке расширения "vmssCSE". Сообщение об ошибке: "Сбой включения: не удалось выполнить команду: команда завершилась с состоянием выхода=50 [stdout] [stderr] 0 0 0 ---: Вооружившись этой информацией, можно сделать вывод о том, что виртуальные машины в масштабируемом наборе завершили ошибку и создали состояние выхода 50.
Использование команд Kubectl
Чтобы устранить ошибки в кластере, введите команды kubectl, чтобы получить сведения о ресурсах, развернутых в кластере. Чтобы использовать kubectl, сначала войдите в кластер AKS:
az aks get-credentials --resource-group MyResourceGroup --name MyManagedCluster
В зависимости от типа сбоя и времени его возникновения вы не сможете войти в кластер для получения дополнительных сведений. Но в целом, если кластер был создан и отображается в портал Azure, вы сможете войти в систему и выполнить команды kubectl.
Просмотр узлов кластера (kubectl get nodes)
Чтобы получить дополнительные сведения об определении состояния узлов, просмотрите узлы кластера, введя команду kubectl get nodes. В этом примере узлы не отправляют отчеты в кластере:
$ kubectl get nodes
No resources found
Просмотр модулей pod в системном пространстве имен (kubectl get pod)
Просмотр модулей pod в пространстве имен kube-system также является хорошим способом устранения проблемы. Этот метод позволяет просматривать состояние системных модулей pod Kubernetes. В этом примере мы вводим kubectl get pods
команду :
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-845757d86-7xjqb 0/1 Pending 0 78m
coredns-autoscaler-5f85dc856b-mxkrj 0/1 Pending 0 77m
konnectivity-agent-67f7f5554f-nsw2g 0/1 Pending 0 77m
konnectivity-agent-8686cb54fd-xlsgk 0/1 Pending 0 65m
metrics-server-6bc97b47f7-dfhbr 0/1 Pending 0 77m
Описание состояния pod (kubectl describe pod)
Описывая состояние модулей pod, можно просмотреть сведения о конфигурации и событиях, произошедших в них. Выполните команду kubectl describe pod:
$ kubectl describe pod coredns-845757d86-7xjqb -n kube-system
Name: coredns-845757d86-7xjqb
Namespace: kube-system
Priority: 2000001000
Priority Class Name: system-node-critical
Node: <none>
Labels: k8s-app=kube-dns
kubernetes.io/cluster-service=true
pod-template-hash=845757d86
version=v20
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 24m (x1 over 25m) default-scheduler no nodes available to schedule pods
Warning FailedScheduling 29m (x57 over 84m) default-scheduler no nodes available to schedule pods
В выходных данных команды видно, что модуль pod не может быть развернут на узле, так как узлы недоступны.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.