Устранение распространенных проблем с узлом контейнеров Linux Azure для AKS
В этой статье приведены инструкции по устранению некоторых распространенных проблем, которые могут возникнуть при использовании узлов контейнеров Azure Linux в Служба Azure Kubernetes (AKS). Дополнительные сведения о том, как приступить к работе с узлами контейнеров Azure Linux в AKS, см. в статье Использование Azure Linux с AKS.
Перед началом работы
Ознакомьтесь с официальным руководством по устранению неполадок с кластерами Kubernetes. Кроме того, ознакомьтесь с руководством инженера Майкрософт по устранению неполадок Kubernetes. В этом руководстве содержатся команды для устранения неполадок модулей pod, узлов, кластеров и других функций.
Наконец, просмотрите список известных ограничений в Azure Linux. Проблема, которую вы пытаетесь устранить, может быть проблема, над которую мы уже работаем.
Предварительные требования
-
Azure CLI версии 2.31 или более поздней. Если Azure CLI уже установлен, номер версии можно найти, запустив
az --version
.
Сведения об узле контейнеров Linux Azure для AKS
Azure Linux — это дистрибутив Linux с открытым кодом, созданный корпорацией Майкрософт. В качестве упрощенной ОС Azure Linux имеет следующие функции:
- Содержит только пакеты, необходимые для выполнения рабочих нагрузок контейнера.
- Проходит проверочные тесты Azure
- Совместимо с агентами Azure
Узел контейнеров Linux Azure для AKS — это образ операционной системы для AKS, оптимизированный для выполнения рабочих нагрузок контейнеров. Он поддерживается корпорацией Майкрософт и основан на Azure Linux. Она обеспечивает надежность и согласованность между облаком и пограничными устройствами AKS, AKS в Azure Stack HCI и продуктах Azure Arc . Узлы контейнеров Azure Linux можно использовать для выполнения следующих процессов:
- Разверните пулы узлов Linux Azure в новом кластере.
- Добавьте пулы узлов Linux Azure в существующие кластеры Ubuntu.
- Перенос узлов Ubuntu в узлы Linux Azure.
Дополнительные сведения об Azure Linux см. в репозитории GitHub для Azure Linux .
Контрольный список для устранения неполадок
Шаг 1. Проверка эквивалентных команд в Ubuntu и Azure Linux
Большинство команд в ОС Linux Для Azure, например команда состояния процесса (ps
), напоминают команды, используемые в Ubuntu. Однако управление пакетами осуществляется с помощью команды Tiny DNF (tdnf
). В следующей таблице перечислены некоторые распространенные команды в Ubuntu и их эквиваленты в Azure Linux.
Команда Ubuntu | Рекомендуемая команда Azure Linux |
---|---|
apt -- list installed |
rpm -qa |
apt autoclean |
tdnf clean all |
apt autoremove |
dnf autoremove |
apt dist-upgrade |
dnf distro-sync |
apt download |
tdnf download |
apt install |
tdnf install |
apt install --reinstall |
tdnf reinstall |
apt list - upgradable |
dnf list updates |
apt remove |
tdnf remove |
apt search |
tdnf search |
apt show |
tdnf list |
apt upgrade |
tdnf upgrade |
apt cache dump |
tdnf list available |
apt-cache dumpavail |
tdnf list available |
apt-cache policy |
tdnf list |
apt-cache rdepends |
dnf repoquery -- alldeps - whatrequires |
apt-cache search |
tdnf search |
apt-cache show |
tdnf info |
apt-cache stats |
(нет точного эквивалента; прочитайте файл Packages в папке /var/lib/rpm ) |
apt-config shell |
dnf shell |
apt-file list |
dnf repoquery -l |
apt-file search |
tdnf provides |
apt-get autoremove |
dnf autoremove |
apt-get install |
tdnf install |
apt-get remove |
tdnf remove |
apt-get update |
dnf clean expire-cache dnf check-update |
apt-mark auto |
tdnf install dnf mark remove |
apt-mark manual |
dnf mark install |
apt-mark showmanual |
dnf history userinstalled |
Шаг 2. Проверка версии Azure Linux
Убедитесь, что используется правильная версия Azure Linux. Поддерживаемая версия Azure Linux для использования — Azure Linux 2.0. В выходных данных следующей команды osSKU
az aks nodepool list свойство должно иметь значение AzureLinux
.
az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>
Хотя эта команда может не устранить проблему, которая возникает, управление версиями является распространенной проблемой для пользователей, которые сообщают, что агенты или расширения работают неправильно в Azure Linux.
Шаг 3. Понимание различий в путях к файлам сертификатов
Azure Linux (и другие дистрибутивы RPM) хранят сертификаты иначе, чем Ubuntu.
В Azure Linux путь /etc/ssl/certs является символьной ссылкой на /etc/pki/tls/certs. Если контейнер планирует сопоставить /etc/ssl/certs для использования файла сертификата ca-certificates.crt в Azure Linux, вместо этого контейнер получает символьную ссылку, которая указывает на никуда. Это поведение приводит к ошибкам, связанным с сертификатом, в контейнере. Контейнер также должен сопоставить /etc/pki , чтобы контейнер смог следовать цепочке символических ссылок. Если контейнер должен работать на узлах Ubuntu и Azure Linux, можно сопоставить /etc/pki с помощью DirectoryOrCreate
типа в томе hostPath.
Шаг 4. Обновление Azure CLI и расширения предварительной версии AKS
При попытке развернуть кластер Azure Linux AKS с помощью Azure CLI может появиться сообщение об ошибке с сообщением AzureLinux
о том, что параметр не поддерживается для OSSku
параметра . Это сообщение означает, что вы можете использовать устаревшую версию Azure CLI или расширение предварительной версии AKS. Чтобы устранить эту проблему, выполните одно или оба из следующих двух действий:
Если Azure CLI не обновлен, установите последнюю версию. Чтобы обновить Azure CLI, выполните следующую команду az upgrade :
az upgrade
Если у вас установлена более ранняя версия
aks-preview
расширения, установите более новую версию,OSSku
чтобы параметр получил значениеAzureLinux
. Чтобы обновить расширение, выполните следующую команду az extension update :az extension update --name aks-preview
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.
Заявление об отказе от ответственности за контактные данные сторонней организации
Корпорация Майкрософт предоставляет сторонние контактные данные, чтобы помочь вам найти дополнительные сведения по этой теме. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность контактной информации сторонних поставщиков.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.