Подготовка кластера Kubernetes с поддержкой Azure Arc
Внимание
Предварительная версия операций Интернета вещей Azure, включенная Azure Arc в настоящее время в предварительной версии. Не следует использовать это программное обеспечение предварительной версии в рабочих средах.
Вам потребуется развернуть новую установку Операций Интернета вещей Azure, когда общедоступная версия станет доступной. Вы не сможете обновить предварительную установку.
Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Кластер Kubernetes с поддержкой Azure Arc является необходимым условием для развертывания предварительной версии операций Интернета вещей Azure. В этой статье описывается, как подготовить кластер перед развертыванием операций Интернета вещей Azure. В этой статье содержатся рекомендации для Ubuntu и Windows.
Действия, описанные в этой статье, подготовят кластер к развертыванию безопасных параметров, который является более длительным, но готовым к работе процессом. Если вы хотите быстро развернуть операции Интернета вещей Azure и запустить пример рабочей нагрузки только с параметрами теста, см . краткое руководство. Запуск предварительной версии операций Интернета вещей Azure в пространствах codespaces GitHub с K3s . Дополнительные сведения о параметрах тестирования и безопасных параметрах см. в разделе "Сведения > о развертывании" "Выбор функций".
Необходимые компоненты
Корпорация Майкрософт поддерживает Служба Azure Kubernetes Edge Essentials для развертываний в Windows и K3s для развертываний в Ubuntu. Список определенных сочетаний оборудования и программного обеспечения, которые тестируются и проверяются, см. в разделе "Проверенные среды".
Если вы хотите развернуть операции Интернета вещей Azure в решении с несколькими узлами, используйте K3s в Ubuntu.
Чтобы подготовить кластер Kubernetes с поддержкой Azure Arc, вам потребуется:
Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
Azure CLI версии 2.64.0 или более поздней версии, установленной на компьютере разработки. Используйте
az --version
для проверки версии иaz upgrade
обновления при необходимости. Дополнительные сведения см. в статье "Установка Azure CLI".Последняя версия следующих расширений для Azure CLI:
az extension add --upgrade --name azure-iot-ops az extension add --upgrade --name connectedk8s
Оборудование, соответствующее требованиям к системе:
- Убедитесь, что компьютер имеет не менее 16 ГБ доступной ОЗУ и 8 доступных виртуальных ЦП, зарезервированных для операций Интернета вещей Azure.
- Требования к системе Kubernetes с поддержкой Azure Arc.
- Требования K3s.
Если вы собираетесь развернуть операции Интернета вещей Azure в кластере с поддержкой отказоустойчивости, просмотрите требования к оборудованию и хранилищу в разделе "Подготовка Linux для томов Edge".
Создание и включение Arc кластера
В этом разделе приведены инструкции по созданию кластеров в проверенных средах в Linux и Windows.
Чтобы подготовить кластер K3s Kubernetes в Ubuntu:
Установите K3s, следуя инструкциям в кратком руководстве по началу работы K3s.
Убедитесь, что kubectl был установлен в составе K3s. Если нет, следуйте инструкциям по установке kubectl в Linux.
kubectl version --client
Следуйте инструкциям по установке Helm.
Создайте yaml-файл конфигурации K3s в
.kube/config
:mkdir ~/.kube sudo KUBECONFIG=~/.kube/config:/etc/rancher/k3s/k3s.yaml kubectl config view --flatten > ~/.kube/merged mv ~/.kube/merged ~/.kube/config chmod 0600 ~/.kube/config export KUBECONFIG=~/.kube/config #switch to k3s context kubectl config use-context default sudo chmod 644 /etc/rancher/k3s/k3s.yaml
Выполните следующую команду, чтобы увеличить ограничения часов или экземпляров пользователя.
echo fs.inotify.max_user_instances=8192 | sudo tee -a /etc/sysctl.conf echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Для повышения производительности увеличьте ограничение дескриптора файла:
echo fs.file-max = 100000 | sudo tee -a /etc/sysctl.conf sudo sysctl -p
Настройка кластеров с несколькими узлами для хранилища контейнеров Azure
В кластерах с несколькими узлами с по крайней мере тремя узлами можно включить отказоустойчивость хранилища с помощью хранилища контейнеров Azure, включенного Azure Arc при развертывании операций Интернета вещей Azure.
Если вы хотите включить отказоустойчивость во время развертывания, настройте кластеры, выполнив действия, описанные в разделе "Подготовка Linux для томов Edge" с помощью кластера Ubuntu с несколькими узлами.
Включение Arc кластера
Подключите кластер к Azure Arc, чтобы его можно было удаленно управлять.
На компьютере, на котором развернут кластер Kubernetes, войдите с помощью Azure CLI:
az login
Если в любой момент вы получите сообщение об ошибке, в которой говорится, что устройство должно быть управляемо для доступа к ресурсу, запустите
az login
еще раз и убедитесь, что вы войдете в интерактивный режим с помощью браузера.После входа Azure CLI отображает все подписки и указывает подписку по умолчанию со звездочкой
*
. Чтобы продолжить подписку по умолчанию, выберитеEnter
. В противном случае введите номер подписки Azure, которую вы хотите использовать.Зарегистрируйте необходимых поставщиков ресурсов в подписке.
Примечание.
Этот шаг необходимо выполнить только один раз для каждой подписки. Чтобы зарегистрировать поставщиков ресурсов, необходимо разрешение на
/register/action
операцию, которая включается в роли участника подписки и владельца. Дополнительные сведения см. в разделе "Поставщики и типы ресурсов Azure".az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperations" az provider register -n "Microsoft.DeviceRegistry" az provider register -n "Microsoft.SecretSyncController"
Используйте команду az group create, чтобы создать группу ресурсов в подписке Azure для хранения всех ресурсов:
Список поддерживаемых в настоящее время регионов Azure см. в разделе "Поддерживаемые регионы".
az group create --location <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID>
Используйте команду az connectedk8s connect, чтобы включить кластер Kubernetes и управлять им в составе группы ресурсов Azure.
az connectedk8s connect --name <CLUSTER_NAME> -l <REGION> --resource-group <RESOURCE_GROUP> --subscription <SUBSCRIPTION_ID> --enable-oidc-issuer --enable-workload-identity
Получите URL-адрес издателя кластера.
az connectedk8s show --resource-group <RESOURCE_GROUP> --name <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsv
Сохраните выходные данные этой команды для использования в следующих шагах.
Создайте файл конфигурации k3s.
sudo nano /etc/rancher/k3s/config.yaml
Добавьте в файл следующее содержимое
config.yaml
, заменив<SERVICE_ACCOUNT_ISSUER>
заполнитель URL-адресом издателя кластера.kube-apiserver-arg: - service-account-issuer=<SERVICE_ACCOUNT_ISSUER> - service-account-max-token-expiration=24h
Сохраните файл и закройте редактор nano.
objectId
Получите приложение Идентификатора Microsoft Entra, которое служба Azure Arc использует в клиенте и сохраните ее в качестве переменной среды. Выполните следующую команду точно так же, как записано, без изменения значения GUID.export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
Используйте команду az connectedk8s enable-features, чтобы включить поддержку пользовательского расположения в кластере. Эта команда использует
objectId
приложение Идентификатора Microsoft Entra, которое использует служба Azure Arc. Выполните следующую команду на компьютере, где развернут кластер Kubernetes:az connectedk8s enable-features -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
Перезапустите K3s.
systemctl restart k3s
Проверка кластера
Чтобы убедиться, что кластер готов к развертыванию Операций Интернета вещей Azure, можно использовать вспомогающую команду проверяющего узла в расширении операций Интернета вещей Azure для Azure CLI. При запуске на узле кластера эта вспомогательная команда проверяет подключение к конечным точкам Azure Resource Manager и Реестра контейнеров Майкрософт.
az iot ops verify-host
Расширенная конфигурация
На этом этапе при наличии кластера Kubernetes с поддержкой Azure Arc, но перед развертыванием операций Интернета вещей Azure в нем может потребоваться настроить кластер для расширенных сценариев.
- Если вы хотите включить функции наблюдения в кластере, выполните действия, описанные в разделе "Развертывание ресурсов наблюдаемости" и настройка журналов.
- Если вы хотите настроить собственный издатель сертификатов в кластере, выполните действия, описанные в разделе "Управление > сертификатами".
Следующие шаги
Теперь, когда у вас есть кластер Kubernetes с поддержкой Azure Arc, можно развернуть операции Интернета вещей Azure.