Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : ✔️ AKS Automatic ✔️ AKS Standard
Les espaces de noms managés dans Azure Kubernetes Service (AKS) permettent d’isoler logiquement les charges de travail et les équipes au sein d’un cluster. Cette fonctionnalité permet aux administrateurs d’appliquer des quotas de ressources, d’appliquer des stratégies réseau et de gérer le contrôle d’accès au niveau de l’espace de noms. Pour obtenir une vue d’ensemble détaillée des espaces de noms managés, consultez la vue d’ensemble des espaces de noms managés.
Avant de commencer
Conditions préalables
- Un compte Azure avec un abonnement actif. Si vous n’en avez pas, vous pouvez créer un compte gratuitement.
- Un cluster AKS configuré dans votre environnement Azure avec le contrôle d’accès en fonction du rôle Azure pour l’autorisation Kubernetes est requis si vous envisagez d’utiliser des rôles RBAC Azure.
- Pour utiliser la fonctionnalité de stratégie réseau, le cluster AKS doit être configuré avec un moteur de stratégie réseau. Cilium est notre moteur recommandé.
| Prérequis | Remarques |
|---|---|
| Azure CLI |
2.80.0 ou version ultérieure installée. Pour rechercher la version de l’interface CLI, exécutez az --version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI. |
| Version de l’API AKS |
2025-09-01 ou une version ultérieure. |
| Autorisations requises |
Microsoft.ContainerService/managedClusters/managedNamespaces/* ou Azure Kubernetes Service Namespace Contributor rôle intégré.
Microsoft.Resources/deployments/* sur le groupe de ressources contenant le cluster. Pour plus d'informations, consultez les rôles intégrés des espaces de noms gérés. |
Limites
- L’intégration d’espaces de noms système tels que
kube-system,app-routing-system,istio-system,gatekeeper-system, etc. dans les espaces de noms gérés n’est pas autorisée. - Lorsqu’un espace de noms est un espace de noms managé, les modifications apportées à l’espace de noms via l’API Kubernetes sont bloquées.
- La liste des espaces de noms existants à convertir dans le portail ne fonctionne pas avec des clusters privés. Vous pouvez ajouter de nouveaux espaces de noms.
Créer un espace de noms managé sur un cluster et affecter des utilisateurs
Remarque
Lorsque vous créez un espace de noms managé, un composant est installé sur le cluster pour rapprocher l’espace de noms avec l’état dans Azure Resource Manager. Ce composant bloque les modifications apportées aux champs et ressources managés de l’API Kubernetes, ce qui garantit la cohérence avec la configuration souhaitée.
L’exemple Bicep suivant montre comment créer un espace de noms managé en tant que sous-ressource d’un cluster managé. Veillez à sélectionner la valeur appropriée pour defaultNetworkPolicy, adoptionPolicyet deletePolicy. Pour plus d’informations sur ce que ces paramètres signifient, consultez la vue d’ensemble des espaces de noms managés.
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'
}
}
}
Enregistrez le fichier Bicep managedNamespace.bicep sur votre ordinateur local.
Déployez le fichier Bicep en utilisant l’interface Azure CLI.
az deployment group create --resource-group <resource-group> --template-file managedNamespace.bicep
Définir des variables
Définissez les variables suivantes à utiliser dans les étapes suivantes.
RG_NAME=cluster-rg
CLUSTER_NAME=contoso-cluster
NAMESPACE_NAME=retail-team
LABELS="environment=dev"
ANNOTATIONS="owner=retail"
Créer l’espace de noms managé
Pour personnaliser sa configuration, les espaces de noms managés ont différentes options de paramètres à choisir lors de la création. Veillez à sélectionner la valeur appropriée pour ingress-network-policy, egress-network-policy, adoption-policyet delete-policy. Pour plus d’informations sur ce que ces paramètres signifient, consultez la vue d’ensemble des espaces de noms managés.
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}
Attribuer le rôle
Une fois l’espace de noms créé, vous pouvez attribuer l’un des rôles intégrés pour le plan de contrôle et le plan de données.
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)
Attribuez un rôle de plan de contrôle pour pouvoir afficher l’espace de noms managé dans le portail, la sortie Azure CLI et Azure Resource Manager. Ce rôle permet également à l’utilisateur de récupérer les informations d’identification pour se connecter à cet espace de noms.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service Namespace User" \
--scope ${NAMESPACE_ID}
Attribuez un rôle de plan de données pour permettre la création de ressources au sein de l’espace de noms à l’aide de l’API Kubernetes.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service RBAC Writer" \
--scope ${NAMESPACE_ID}
- Connectez-vous au portail Azure.
- Sur la page d’accueil du portail Azure, sélectionnez Créer une ressource.
- Dans la section Catégories , sélectionnez Espaces de noms Kubernetes managés.
- Sous l’onglet Informations de base , sous Détails du projet , configurez les paramètres suivants :
- Sélectionnez le cluster cible sur lequel vous souhaitez créer l’espace de noms.
- Si vous créez un nouvel espace de noms, conservez la création par défaut, sinon choisissez changer l'existant en géré pour convertir un espace de noms existant.
- Configurez la stratégie de mise en réseau à appliquer sur l’espace de noms.
- Configurez les demandes de ressources et les limites de l’espace de noms.
- Sélectionnez les membres (utilisateurs ou groupes) et leur rôle.
- Attribuez le rôle d'Utilisateur de l'espace de noms Azure Kubernetes Service pour lui donner un accès permettant d'afficher l'espace de noms géré dans le portail, la sortie Azure CLI et Azure Resource Manager. Ce rôle permet également à l’utilisateur de récupérer les informations d’identification pour se connecter à cet espace de noms.
- Attribuez le rôle Auteur RBAC Azure Kubernetes Service pour leur donner accès à la création de ressources dans le namespace à l’aide de l’API Kubernetes.
- Sélectionnez Vérifier + créer pour exécuter la validation sur la configuration. Une fois la validation terminée, sélectionnez Créer.
Répertorier les espaces de noms managés
Vous pouvez répertorier les espaces de noms managés dans différentes étendues à l’aide d’Azure CLI.
Niveau de l’abonnement
Exécutez la commande suivante pour répertorier tous les espaces de noms managés dans un abonnement.
az aks namespace list --subscription <subscription-id>
Niveau du groupe de ressources
Exécutez la commande suivante pour répertorier tous les espaces de noms managés dans un groupe de ressources spécifique.
az aks namespace list --resource-group <rg-name>
Au niveau du cluster
Exécutez la commande suivante pour répertorier tous les espaces de noms managés dans un cluster spécifique.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Répertorier les espaces de noms managés
Vous pouvez répertorier les espaces de noms managés dans différentes étendues à l’aide d’Azure CLI.
Niveau de l’abonnement
Exécutez la commande suivante pour répertorier tous les espaces de noms managés dans un abonnement.
az aks namespace list --subscription <subscription-id>
Niveau du groupe de ressources
Exécutez la commande suivante pour répertorier tous les espaces de noms managés dans un groupe de ressources spécifique.
az aks namespace list --resource-group <rg-name>
Au niveau du cluster
Exécutez la commande suivante pour répertorier tous les espaces de noms managés dans un cluster spécifique.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Se connecter au cluster
Vous pouvez récupérer les informations d’identification pour vous connecter à un espace de noms via la commande suivante.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Se connecter au cluster
Vous pouvez récupérer les informations d’identification pour vous connecter à un espace de noms via la commande suivante.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Étapes suivantes
Cet article s’est concentré sur l’utilisation de la fonctionnalité espaces de noms managés pour isoler logiquement les équipes et les applications. Vous pouvez explorer d’autres garde-fous et meilleures pratiques à appliquer via des protections de déploiement.