Краткое руководство. Доступ к API Kubernetes ресурса Fleet
Если ресурс Azure Kubernetes Fleet Manager был создан с включенным кластером концентратора, его можно использовать для централизованного управления сценариями распространения ресурсов Kubernetes. В этой статье вы узнаете, как получить доступ к API Kubernetes кластера концентратора, управляемого ресурсом Fleet.
Необходимые компоненты
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.
- Вам нужен ресурс Fleet с кластером концентратора и кластерами-членами. Если у вас его нет, см. статью "Создание ресурса Azure Kubernetes Fleet Manager" и присоединение кластеров участников с помощью Azure CLI.
- Идентификатор (пользователь или субъект-служба), который вы используете, должны иметь Microsoft.ContainerService/fleets/listCredentials/action в ресурсе Fleet.
Доступ к API Kubernetes ресурса Fleet
Задайте следующие переменные среды для идентификатора подписки, группы ресурсов и ресурса Fleet:
export SUBSCRIPTION_ID=<subscription-id> export GROUP=<resource-group-name> export FLEET=<fleet-name>
Задайте подписку Azure по умолчанию для использования с помощью
az account set
команды.az account set --subscription ${SUBSCRIPTION_ID}
Получите файл kubeconfig ресурса кластера концентратора с помощью
az fleet get-credentials
команды.az fleet get-credentials --resource-group ${GROUP} --name ${FLEET}
Выходные данные должны выглядеть примерно так:
Merged "hub" as current context in /home/fleet/.kube/config
Задайте следующую переменную среды для
id
ресурса центрального кластера Fleet:export FLEET_ID=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/fleets/${FLEET}
Авторизация удостоверения на сервер API Kubernetes кластера концентратора с помощью следующих команд:
Для переменной
ROLE
среды в качестве значения можно использовать одно из следующих четырех встроенных определений ролей:- Средство чтения RBAC диспетчера флота Azure Kubernetes
- Модуль записи RBAC диспетчера флота Azure Kubernetes
- Администратор RBAC диспетчера парка Azure Kubernetes
- Администратор кластера RBAC диспетчера парка Azure Kubernetes
export IDENTITY=$(az ad signed-in-user show --query "id" --output tsv) export ROLE="Azure Kubernetes Fleet Manager RBAC Cluster Admin" az role assignment create --role "${ROLE}" --assignee ${IDENTITY} --scope ${FLEET_ID}
Выходные данные должны выглядеть примерно так:
{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/providers/Microsoft.Authorization/roleAssignments/<assignment>", "name": "<name>", "principalId": "<id>", "principalType": "User", "resourceGroup": "<GROUP>", "roleDefinitionId": "/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/roleDefinitions/18ab4d3d-a1bf-4477-8ad9-8359bc988f69", "scope": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>", "type": "Microsoft.Authorization/roleAssignments" }
Убедитесь, что вы можете получить доступ к серверу API с помощью
kubectl get memberclusters
команды.kubectl get memberclusters
В случае успешного выполнения выходные данные должны выглядеть примерно так:
NAME JOINED AGE aks-member-1 True 2m aks-member-2 True 2m aks-member-3 True 2m
Следующие шаги
Azure Kubernetes Service