Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ AKS Automatic ✔️ AKS Standard
Управляемые пространства имен в службе Azure Kubernetes (AKS) позволяют логически изолировать рабочие нагрузки и команды в кластере. Эта функция позволяет администраторам применять квоты ресурсов, применять политики сети и управлять доступом на уровне пространства имен. Подробный обзор управляемых пространств имен см. в обзоре управляемых пространств имен.
Перед тем как начать
Предпосылки
- Учетная запись Azure с активной подпиской. Если ее нет, можно создать учетную запись бесплатно.
- Кластер AKS, настроенный в вашей среде Azure с управлением доступом на основе ролей Azure для авторизации Kubernetes, необходим, если вы планируете использовать роли Azure RBAC.
- Чтобы использовать функцию политики сети, кластер AKS необходимо настроить с помощью подсистемы сетевой политики. Cilium — это наш рекомендуемый механизм.
| Предпосылка | Примечания. |
|---|---|
| Azure CLI |
2.80.0 или более поздней версии. Чтобы найти версию CLI, выполните команду az --version. Если вам нужно установить или обновить, см. статью "Установка Azure CLI". |
| Версия API AKS |
2025-09-01 или позднее. |
| Обязательные разрешения |
Microsoft.ContainerService/managedClusters/managedNamespaces/* или Azure Kubernetes Service Namespace Contributor встроенная роль.
Microsoft.Resources/deployments/* в группе ресурсов, содержащей кластер. Дополнительные сведения см. в разделе "Управляемые пространства имен", встроенные роли. |
Ограничения
- Попытка управлять пространствами имен системы, такими как
kube-system,app-routing-system,istio-systemиgatekeeper-systemт. д., не допускается. - Если пространство имен является управляемым пространством имен, изменения пространства имен через API Kubernetes блокируются.
- Перечисление существующих пространств имен для преобразования на портале не работает с частными кластерами. Вы можете добавить новые пространства имен.
Создание управляемого пространства имен в кластере и назначение пользователей
Замечание
При создании управляемого пространства имен компонент устанавливается в кластере для согласования пространства имен с состоянием в Azure Resource Manager. Этот компонент блокирует изменения управляемых полей и ресурсов из API Kubernetes, обеспечивая согласованность с требуемой конфигурацией.
В следующем примере Bicep показано, как создать управляемое пространство имен в качестве подресурса управляемого кластера. Обязательно выберите соответствующее значение для defaultNetworkPolicy, adoptionPolicyи deletePolicy. Дополнительные сведения об этих параметрах см. в обзоре управляемых пространств имен.
resource existingCluster 'Microsoft.ContainerService/managedClusters@2024-03-01' existing = {
name: 'contoso-cluster'
}
resource managedNamespace 'Microsoft.ContainerService/managedClusters/managedNamespaces@2025-09-01' = {
parent: existingCluster
name: 'retail-team'
location: location
properties: {
defaultResourceQuota: {
cpuRequest: '1000m'
cpuLimit: '2000m'
memoryRequest: '512Mi'
memoryLimit: '1Gi'
}
defaultNetworkPolicy: {
ingress: 'AllowSameNamespace'
egress: 'AllowAll'
}
adoptionPolicy: 'IfIdentical'
deletePolicy: 'Keep'
labels: {
environment: 'dev'
}
annotations: {
owner: 'retail'
}
}
}
Сохраните файл Bicep managedNamespace.bicep на локальный компьютер.
Разверните Bicep-файл с помощью Azure CLI.
az deployment group create --resource-group <resource-group> --template-file managedNamespace.bicep
Определение переменных
Определите следующие переменные, которые будут использоваться в последующих шагах.
RG_NAME=cluster-rg
CLUSTER_NAME=contoso-cluster
NAMESPACE_NAME=retail-team
LABELS="environment=dev"
ANNOTATIONS="owner=retail"
Создание управляемого пространства имен
Чтобы настроить конфигурацию, управляемые пространства имен имеют различные параметры для выбора во время создания. Обязательно выберите соответствующее значение для ingress-network-policy, egress-network-policyи adoption-policydelete-policy. Дополнительные сведения об этих параметрах см. в обзоре управляемых пространств имен.
az aks namespace add \
--name ${NAMESPACE_NAME} \
--cluster-name ${CLUSTER_NAME} \
--resource-group ${RG_NAME} \
--cpu-request 1000m \
--cpu-limit 2000m \
--memory-request 512Mi \
--memory-limit 1Gi \
--ingress-policy [AllowSameNamespace|AllowAll|DenyAll] \
--egress-policy [AllowSameNamespace|AllowAll|DenyAll] \
--adoption-policy [Never|IfIdentical|Always] \
--delete-policy [Keep|Delete] \
--labels ${LABELS} \
--annotations ${ANNOTATIONS}
Назначить роль
После создания пространства имен можно назначить одну из встроенных ролей для плоскости управления и плоскости данных.
ASSIGNEE="user@contoso.com"
NAMESPACE_ID=$(az aks namespace show --name ${NAMESPACE_NAME} --cluster-name ${CLUSTER_NAME} --resource-group ${RG_NAME} --query id -o tsv)
Назначьте роль уровня управления для просмотра управляемого пространства имен на портале, выходных данных Azure CLI и Azure Resource Manager. Эта роль также позволяет пользователю получать учетные данные для подключения к этому пространству имен.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service Namespace User" \
--scope ${NAMESPACE_ID}
Назначьте роль плоскости данных, чтобы получить доступ к ресурсам в пространстве имен с помощью API Kubernetes.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service RBAC Writer" \
--scope ${NAMESPACE_ID}
- Войдите на портал Azure.
- На домашней странице портала Azure выберите Создать ресурс.
- В разделе "Категории " выберите "Управляемые пространства имен Kubernetes".
- На вкладке "Основные сведения" в разделе "Сведения о проекте " настройте следующие параметры:
- Выберите целевой кластер , чтобы создать пространство имен.
- Если вы создаете новое пространство имен, оставьте новое по умолчанию, в противном случае выберите изменение существующего, чтобы преобразовать существующее пространство имен.
- Настройте политику сети , применяемую к пространству имен.
- Настройте запросы ресурсов и ограничения для пространства имен.
- Выберите участников (пользователей или групп) и их роль.
- Назначьте роль пользователя пространства имен службы Azure Kubernetes , чтобы предоставить им доступ к управляемому пространству имен на портале, выходных данных Azure CLI и Azure Resource Manager. Эта роль также позволяет пользователю получать учетные данные для подключения к этому пространству имен.
- Назначьте роль записи RBAC службы Azure Kubernetes , чтобы предоставить им доступ к созданию ресурсов в пространстве имен с помощью API Kubernetes.
- Выберите "Проверка и создание ", чтобы выполнить проверку в конфигурации. После завершения проверки нажмите кнопку "Создать".
Перечисление управляемых пространств имен
Вы можете перечислить управляемые пространства имен в разных областях с помощью Azure CLI.
Уровень подписки
Выполните следующую команду, чтобы перечислить все управляемые пространства имен в подписке.
az aks namespace list --subscription <subscription-id>
Уровень группы ресурсов
Выполните следующую команду, чтобы перечислить все управляемые пространства имен в определенной группе ресурсов.
az aks namespace list --resource-group <rg-name>
Уровень кластера
Выполните следующую команду, чтобы перечислить все управляемые пространства имен в определенном кластере.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Перечисление управляемых пространств имен
Вы можете перечислить управляемые пространства имен в разных областях с помощью Azure CLI.
Уровень подписки
Выполните следующую команду, чтобы перечислить все управляемые пространства имен в подписке.
az aks namespace list --subscription <subscription-id>
Уровень группы ресурсов
Выполните следующую команду, чтобы перечислить все управляемые пространства имен в определенной группе ресурсов.
az aks namespace list --resource-group <rg-name>
Уровень кластера
Выполните следующую команду, чтобы перечислить все управляемые пространства имен в определенном кластере.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Подключение к кластеру
Вы можете получить учетные данные для подключения к пространству имен с помощью следующей команды.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Подключение к кластеру
Вы можете получить учетные данные для подключения к пространству имен с помощью следующей команды.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Дальнейшие шаги
Эта статья посвящена использованию функции управляемых пространств имен для логического изоляции команд и приложений. Вы можете подробнее изучить другие меры безопасности и рекомендации по применению с помощью средств защиты развертывания.