Устранение распространенных проблем с узлом контейнеров Linux для 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 для AKS
Azure Linux — это дистрибутив Linux с открытым исходным кодом, созданный корпорацией Майкрософт. В качестве упрощенной ОС в Azure Linux есть следующие функции:
- Содержит только пакеты, необходимые для запуска рабочих нагрузок контейнеров
- Проходит тесты проверки Azure
- Совместима с агентами Azure
Узел контейнеров Linux для AKS — это образ операционной системы для AKS, оптимизированный для выполнения рабочих нагрузок контейнеров. Она поддерживается корпорацией Майкрософт и на основе Azure Linux. Она обеспечивает надежность и согласованность из облака в пограничные службы AKS, AKS в Azure Stack HCI и продуктов Azure Arc. Для выполнения следующих процессов можно использовать узлы контейнеров Azure Linux:
- Развертывание пулов узлов Linux в новом кластере.
- Добавьте пулы узлов Linux в существующие кластеры Ubuntu.
- Перенос узлов Ubuntu на узлы Linux Azure.
Дополнительные сведения о Azure Linux см. в репозитории GitHub Для Azure.
Контрольный список по устранению неполадок
Шаг 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 |
(нет точного эквивалента ; чтениеФайл пакетов в папке /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. В выходных данных следующей команды az aks nodepool list свойство osSKU
должно прочитать AzureLinux
.
az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>
Хотя эта команда может не решить проблему, которую вы столкнулись, управление версиями является распространенной проблемой для пользователей, которые сообщают, что агенты или расширения работают неправильно в Azure Linux.
Шаг 3. Понимание различий в путях к файлу сертификата
Сертификаты 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
Заявление об отказе от ответственности за сведения о продуктах сторонних производителей
В этой статье упомянуты программные продукты независимых производителей. Корпорация Microsoft не дает никаких гарантий, подразумеваемых и прочих, относительно производительности и надежности этих продуктов.
Заявление об отказе от ответственности за контактные данные сторонней организации
Корпорация Майкрософт предоставляет контактные данные сторонних производителей в целях получения дополнительных сведений по данной теме. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не гарантирует точность контактных данных сторонних производителей.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.