Краткое руководство. Развертывание кластера Kubernetes с помощью шаблона Azure Resource Manager
Область применения: Локальная версия Azure, версия 23H2
В этом кратком руководстве показано, как развернуть кластер Kubernetes в AKS Arc с помощью шаблона Azure Resource Manager (ARM). Azure Arc расширяет возможности управления Azure в кластерах Kubernetes в любом месте, обеспечивая единый подход к управлению различными средами.
Подготовка к работе
В этой статье предполагается базовое понимание концепций Kubernetes.
Чтобы развернуть шаблон ARM, требуется доступ на запись в ресурсах, которые вы развертываете, а также доступ ко всем операциям с типом ресурсов Microsoft.Resources/deployments. Например, для развертывания виртуальной машины требуются разрешения Microsoft.Compute/virtualMachines/write и Microsoft.Resources/deployments/* . Список ролей и разрешений см. в статье Встроенные роли Azure.
Необходимые компоненты
- Учетная запись Azure с активной подпиской.
- Локальный кластер Azure версии 23H2.
- Последняя версия Azure CLI.
Шаг 1. Подготовка учетной записи Azure
Войдите в Azure: откройте терминал или командную строку и войдите в учетную запись Azure с помощью Azure CLI:
az login
Задайте подписку: замените
<your-subscription-id>
идентификатором подписки:az account set --subscription "<your-subscription-id>"
Шаг 2. Создание пары ключей SSH с помощью Azure CLI
az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"
или создайте пару ключей SSH с помощью SSH-keygen:
ssh-keygen -t rsa -b 4096
Чтобы развернуть шаблон, необходимо указать открытый ключ из пары SSH. Чтобы получить открытый ключ, используйте az sshkey show
команду:
az sshkey show --name "mySSHKey" --resource-group "myResourceGroup" --query "publicKey"
По умолчанию файлы ключей SSH создаются в каталоге ~/.ssh .
az sshkey create
Выполните команду или ssh-keygen
выполните команду, чтобы перезаписать любую существующую пару ключей SSH с тем же именем.
Дополнительные сведения о создании ключей SSH см. в статье Detailed steps: Create and manage SSH keys for authentication to a Linux VM in Azure (Подробные инструкции. Создание ключей SSH для проверки подлинности на виртуальной машине Linux в Azure и управление этими ключами).
Шаг 3. Просмотр шаблона
Скачайте файлы шаблонов и параметров из репозитория AKSArc
Шаг 4. Развертывание шаблона
Чтобы развернуть кластер Kubernetes, выполните следующую команду:
az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
Создание кластера занимает несколько минут. Дождитесь успешного развертывания кластера, прежде чем перейти к следующему шагу.
Шаг 5. Проверка развертывания
После завершения развертывания выполните следующую команду, чтобы убедиться, что кластер Kubernetes запущен и работает:
az aksarc show --resource-group "<resource-group-name>" --name "<cluster-name>" --output table
Шаг 6. Подключение к кластеру
Чтобы подключиться к кластеру
az connectedk8s proxy
, выполните команду. Команда загружает и запускает двоичный файл прокси-сервера на клиентском компьютере и извлекает файл kubeconfig , связанный с кластером:az connectedk8s proxy --name <cluster name> -g <resource group>
Или используйте клиент командной строки Kubernetes, kubectl. Если вы используете Azure Cloud Shell, kubectl уже установлен. Чтобы установить и запустить kubectl локально, выполните
az aksarc install-cli
команду.Настройте kubectl для подключения к кластеру
az aksarc get-credentials
Kubernetes с помощью команды. Эта команда скачивает учетные данные и настраивает интерфейс командной строки Kubernetes для их использования.az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
Проверьте подключение к кластеру
kubectl get
с помощью команды. Эта команда возвращает список узлов кластера:kubectl get nodes -A --kubeconfig .\<path to kubecofig>
В следующем примере выходных данных показаны три узла, созданные на предыдущих шагах. Убедитесь, что этот узел находится в состоянии готовности:
NAME STATUS ROLES AGE VERSION aks-agentpool-27442051-vmss000000 Ready agent 10m v1.27.7 aks-agentpool-27442051-vmss000001 Ready agent 10m v1.27.7 aks-agentpool-27442051-vmss000002 Ready agent 11m v1.27.7
Шаг 7. Развертывание пула узлов с помощью шаблона Azure Resource Manager (необязательно)
Аналогично шагу 3, загрузите шаблон пула узлов и параметры из репозитория AKSArc и просмотрите значения по умолчанию.
Развертывание шаблона и проверка результатов с помощью Azure CLI (необязательно)
Просмотрите и примените шаблон. Выполнение этого процесса занимает несколько минут. Azure CLI можно использовать для проверки успешности создания пула узлов:
az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
az aksarc nodepool show --cluster-name "<cluster-name>" --resource-group "<resource-group-name>" --name "<nodepool-name>"
Ресурсы для шаблонов
connectedClusters
Имя | Описание | Значение |
---|---|---|
type |
Типа ресурса. | Microsoft.Kubernetes/ConnectedClusters |
apiVersion |
Версия API ресурсов. | 2024-01-01 |
name |
Имя ресурса. | Строка (обязательно) Ограничение символа: 1–63 Допустимые символы: буквенно-цифровые символы, символы подчеркивания и дефисы. Начинается и закачивается буквенно-цифровым символом. |
location |
Географическое расположение, в котором находится ресурс. | Строка (обязательно). |
tags |
Теги ресурсов. | Словарь имен и значений тегов. См . теги в шаблонах. |
extendedLocation |
Расширенное расположение виртуальной машины. | ExtendedLocation |
identity |
Удостоверение подключенного кластера, если оно настроено. | |
properties |
Свойства подключенного кластера. |
ProvisionedClusterInstances
Имя | Описание | Значение |
---|---|---|
type |
Тип ресурса | microsoft.hybridcontainerservice/provisionedclusterinstances |
apiVersion |
Версия API ресурсов | 2024-01-01 |
name |
имя ресурса. | Строка (обязательно). Не изменяйте это по умолчанию. |
properties |
Свойства подключенного кластера. | |
extendedLocation |
Расширенное расположение кластера. | ExtendedLocation |
ExtendedLocation
Имя | Описание | Значение |
---|---|---|
name |
Идентификатор расширенного расположения. | строка |
type |
Тип расширенного расположения. | CustomLocation |