Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: ✔️ AKS automático ✔️ AKS estándar
Los espacios de nombres administrados en Azure Kubernetes Service (AKS) proporcionan una manera de aislar lógicamente las cargas de trabajo y los equipos dentro de un clúster. Esta característica permite a los administradores aplicar cuotas de recursos, aplicar directivas de red y administrar el control de acceso en el nivel de espacio de nombres. Para obtener información general detallada sobre los espacios de nombres administrados, consulte la introducción a los espacios de nombres administrados.
Antes de empezar
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. En caso de no tener una, puede crear una cuenta gratuita.
- Se requiere un clúster de AKS configurado en el entorno de Azure con el control de acceso basado en rol de Azure para la autorización de Kubernetes si piensa usar roles de RBAC de Azure.
- Para usar la característica de directiva de red, el clúster de AKS debe configurarse con un motor de directivas de red. Cilium es nuestro motor recomendado.
| Prerrequisito | Notas |
|---|---|
| Azure CLI |
2.80.0 o posterior instalado. Para buscar la versión de la CLI, ejecute az --version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure. |
| Versión de la API de AKS |
2025-09-01 o una versión posterior. |
| Permisos necesarios |
Microsoft.ContainerService/managedClusters/managedNamespaces/* o Azure Kubernetes Service Namespace Contributor rol integrado.
Microsoft.Resources/deployments/* en el grupo de recursos que contiene el clúster. Para obtener más información, consulte Roles integrados de espacios de nombres administrados. |
Limitaciones
- No se permite intentar usar espacios de nombres del sistema incorporados como
kube-system,app-routing-system,istio-system,gatekeeper-systemetc. para administrar espacios de nombres. - Cuando un espacio de nombres es un espacio de nombres administrado, se bloquean los cambios realizados en el espacio de nombres a través de la API de Kubernetes.
- Enumerar los espacios de nombres existentes que se van a convertir en el portal no funciona con clústeres privados. Puede agregar nuevos espacios de nombres.
Creación de un espacio de nombres administrado en un clúster y asignación de usuarios
Nota:
Al crear un espacio de nombres administrado, se instala un componente en el clúster para conciliar el espacio de nombres con el estado de Azure Resource Manager. Este componente bloquea los cambios en los campos y recursos administrados de la API de Kubernetes, lo que garantiza la coherencia con la configuración deseada.
En el ejemplo siguiente de Bicep se muestra cómo crear un espacio de nombres administrado como subrecurso de un clúster administrado. Asegúrese de seleccionar el valor adecuado para defaultNetworkPolicy, adoptionPolicy y deletePolicy. Para obtener más información sobre lo que significan esos parámetros, consulte la introducción a los espacios de nombres administrados.
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'
}
}
}
Guarde el archivo managedNamespace.bicep de Bicep en el equipo local.
Implemente el archivo de Bicep con la CLI de Azure.
az deployment group create --resource-group <resource-group> --template-file managedNamespace.bicep
Definición de variables
Defina las siguientes variables que se usarán en los pasos posteriores.
RG_NAME=cluster-rg
CLUSTER_NAME=contoso-cluster
NAMESPACE_NAME=retail-team
LABELS="environment=dev"
ANNOTATIONS="owner=retail"
Creación del espacio de nombres administrado
Para personalizar su configuración, los espacios de nombres administrados tienen varias opciones de parámetro entre las que elegir durante la creación. Asegúrese de seleccionar el valor adecuado para ingress-network-policy, egress-network-policy, adoption-policy y delete-policy. Para obtener más información sobre lo que significan esos parámetros, consulte la introducción a los espacios de nombres administrados.
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}
Asignación de un rol
Una vez creado el espacio de nombres, puede asignar uno de los roles integrados para el plano de control y el plano de datos.
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)
Asigne un rol de plano de control para poder ver el espacio de nombres administrado en el portal, la salida de la CLI de Azure y Azure Resource Manager. Este rol también permite al usuario recuperar las credenciales para conectarse a este espacio de nombres.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service Namespace User" \
--scope ${NAMESPACE_ID}
Asigne el rol de plano de datos para poder obtener acceso para crear recursos en el espacio de nombres mediante la API de Kubernetes.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service RBAC Writer" \
--scope ${NAMESPACE_ID}
- Inicie sesión en Azure Portal.
- En la página principal de Azure Portal, seleccione Crear un recurso.
- En la sección Categorías, seleccione Espacios de nombres de Kubernetes administrados.
- En la pestaña Aspectos básicos, en Detalles del proyecto, configure las siguientes opciones:
- Seleccione el clúster de destino en el que se va a crear el espacio de nombres.
- Si va a crear un nuevo espacio de nombres, deje la nueva creación predeterminada; de lo contrario, elija cambiar existente a administrado para convertir un espacio de nombres existente.
- Configure la directiva de red que se aplicará en el espacio de nombres.
- Configure las solicitudes y límites de recursos para el espacio de nombres.
- Seleccione los miembros (usuarios o grupos) y su rol.
- Asigne el rol Usuario de espacio de nombres de Azure Kubernetes Service para concederles acceso y permitir que visualicen el espacio de nombres administrado en el portal, en la salida de la CLI de Azure y en Azure Resource Manager. Este rol también permite al usuario recuperar las credenciales para conectarse a este espacio de nombres.
- Asigne el rol escritor de RBAC de Azure Kubernetes Service para concederles acceso para crear recursos en el espacio de nombres mediante la API de Kubernetes.
- Seleccione Revisar y crear para ejecutar la validación en la configuración. Una vez completada la validación, seleccione Crear.
Enumerar espacios de nombres administrados
Puede enumerar espacios de nombres administrados en distintos ámbitos mediante la CLI de Azure.
Nivel de suscripción
Ejecute el siguiente comando para enumerar todos los espacios de nombres administrados de una suscripción.
az aks namespace list --subscription <subscription-id>
Nivel de grupo de recursos
Ejecute el siguiente comando para enumerar todos los espacios de nombres administrados de un grupo de recursos específico.
az aks namespace list --resource-group <rg-name>
Nivel de clúster
Ejecute el siguiente comando para enumerar todos los espacios de nombres administrados de un clúster específico.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Enumerar espacios de nombres administrados
Puede enumerar espacios de nombres administrados en distintos ámbitos mediante la CLI de Azure.
Nivel de suscripción
Ejecute el siguiente comando para enumerar todos los espacios de nombres administrados de una suscripción.
az aks namespace list --subscription <subscription-id>
Nivel de grupo de recursos
Ejecute el siguiente comando para enumerar todos los espacios de nombres administrados de un grupo de recursos específico.
az aks namespace list --resource-group <rg-name>
Nivel de clúster
Ejecute el siguiente comando para enumerar todos los espacios de nombres administrados de un clúster específico.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Conectarse al clúster
Puede recuperar las credenciales para conectarse a un espacio de nombres mediante el siguiente comando.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Conectarse al clúster
Puede recuperar las credenciales para conectarse a un espacio de nombres mediante el siguiente comando.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Pasos siguientes
Este artículo se centra en el uso de la característica de espacios de nombres administrados para aislar lógicamente los equipos y las aplicaciones. Puede explorar aún más otros límites de protección y procedimientos recomendados para aplicarlos a través de protecciones de implementación.