Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: ✔️ AKS Automatic ✔️ AKS Standard
Os namespaces gerenciados no Serviço Kubernetes do Azure (AKS) fornecem uma maneira de isolar logicamente cargas de trabalho e equipes em um cluster. Esse recurso permite que os administradores imponham cotas de recursos, apliquem políticas de rede e gerenciem o controle de acesso no nível do namespace. Para obter uma visão geral detalhada dos namespaces gerenciados, consulte a visão geral dos namespaces gerenciados.
Antes de começar
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Se não tiver uma, pode criar uma conta gratuitamente.
- Um cluster AKS configurado no seu ambiente Azure com controlo de acesso baseado em funções Azure para autorização Kubernetes é necessário se pretende utilizar funções Azure RBAC.
- Para usar o recurso de política de rede, o cluster AKS precisa ser configurado com um mecanismo de política de rede. Cilium é o nosso motor recomendado.
| Pré-requisito | Observações |
|---|---|
| CLI do Azure |
2.80.0 ou instalado posteriormente. Para encontrar a versão CLI, execute az --version. Se precisar de instalar ou atualizar, consulte Install Azure CLI. |
| Versão da API AKS |
2025-09-01 ou mais tarde. |
| Permissão(ões) necessária(s) |
Microsoft.ContainerService/managedClusters/managedNamespaces/* ou Azure Kubernetes Service Namespace Contributor função incorporada.
Microsoft.Resources/deployments/* no grupo de recursos que contém o cluster. Para obter mais informações, consulte Funções internas de namespaces gerenciados. |
Limitações
- Não é permitido tentar integrar namespaces do sistema, como
kube-system, ,app-routing-systemistio-system,gatekeeper-system, etc., para serem namespaces gerenciados. - Quando um namespace é um namespace gerenciado, as alterações no namespace por meio da API do Kubernetes são bloqueadas.
- Listar namespaces existentes para converter no portal não funciona com clusters privados. Você pode adicionar novos namespaces.
Criar um namespace gerenciado em um cluster e atribuir usuários
Observação
Quando crias um namespace gerido, instala-se um componente no cluster para reconciliar o namespace com o estado no Azure Resource Manager. Esse componente bloqueia alterações nos campos e recursos gerenciados da API do Kubernetes, garantindo a consistência com a configuração desejada.
O exemplo de Bicep a seguir demonstra como criar um namespace gerenciado como um subrecurso de um cluster gerenciado. Certifique-se de selecionar o valor apropriado para defaultNetworkPolicy, adoptionPolicye deletePolicy. Para obter mais informações sobre o significado desses parâmetros, consulte a visão geral dos namespaces gerenciados.
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'
}
}
}
Salve o arquivo Bicep managedNamespace.bicep em seu computador local.
Implante o arquivo Bicep usando a CLI do Azure.
az deployment group create --resource-group <resource-group> --template-file managedNamespace.bicep
Definir variáveis
Defina as seguintes variáveis a serem usadas nas etapas subsequentes.
RG_NAME=cluster-rg
CLUSTER_NAME=contoso-cluster
NAMESPACE_NAME=retail-team
LABELS="environment=dev"
ANNOTATIONS="owner=retail"
Criar o namespace gerenciado
Para personalizar sua configuração, os namespaces gerenciados têm várias opções de parâmetros para escolher durante a criação. Certifique-se de selecionar o valor apropriado para ingress-network-policy, egress-network-policy, adoption-policye delete-policy. Para obter mais informações sobre o significado desses parâmetros, consulte a visão geral dos namespaces gerenciados.
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}
Atribuir função
Depois que o namespace for criado, você poderá atribuir uma das funções internas para o plano de controle e o plano de dados.
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)
Atribuir um papel de plano de controlo para poder visualizar o namespace gerido no portal, a saída do Azure CLI e o Azure Resource Manager. Essa função também permite que o usuário recupere as credenciais para se conectar a esse namespace.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service Namespace User" \
--scope ${NAMESPACE_ID}
Atribua a função de plano de dados para poder obter acesso para criar recursos dentro do namespace usando a API do Kubernetes.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service RBAC Writer" \
--scope ${NAMESPACE_ID}
- Inicie sessão no portal Azure.
- Na home page do portal do Azure, selecione Criar um recurso.
- Na seção Categorias , selecione Namespaces Kubernetes gerenciados.
- Na guia Noções básicas, em Detalhes doprojeto , defina as seguintes configurações:
- Selecione o cluster de destino no qual criar o namespace.
- Se você estiver criando um novo namespace, deixe o padrão create new, caso contrário, escolha change existing to managed to managed para converter um namespace existente.
- Configure a política de rede a ser aplicada no namespace.
- Configure as solicitações de recursos e os limites para o namespace.
- Selecione os membros (usuários ou grupos) e sua função.
- Atribuir o papel de utilizador do Azure Kubernetes Service Namespace para lhes dar acesso a visualizar o namespace gerido no portal, a saída do Azure CLI e o Azure Resource Manager. Essa função também permite que o usuário recupere as credenciais para se conectar a esse namespace.
- Atribua a função Gravador RBAC do Serviço Kubernetes do Azure para dar a eles acesso para criar recursos dentro do namespace usando a API do Kubernetes.
- Selecione Rever + criar para executar a validação na configuração. Após a conclusão da validação, selecione Criar.
Listar namespaces gerenciados
Você pode listar namespaces gerenciados em escopos diferentes usando a CLI do Azure.
Nível de subscrição
Execute o comando a seguir para listar todos os namespaces gerenciados em uma assinatura.
az aks namespace list --subscription <subscription-id>
Nível do grupo de recursos
Execute o comando a seguir para listar todos os namespaces gerenciados em um grupo de recursos específico.
az aks namespace list --resource-group <rg-name>
Nível do cluster
Execute o seguinte comando para listar todos os namespaces gerenciados em um cluster específico.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Listar namespaces gerenciados
Você pode listar namespaces gerenciados em escopos diferentes usando a CLI do Azure.
Nível de subscrição
Execute o comando a seguir para listar todos os namespaces gerenciados em uma assinatura.
az aks namespace list --subscription <subscription-id>
Nível do grupo de recursos
Execute o comando a seguir para listar todos os namespaces gerenciados em um grupo de recursos específico.
az aks namespace list --resource-group <rg-name>
Nível do cluster
Execute o seguinte comando para listar todos os namespaces gerenciados em um cluster específico.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Conectar-se ao cluster
Você pode recuperar as credenciais para se conectar a um namespace por meio do comando a seguir.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Conectar-se ao cluster
Você pode recuperar as credenciais para se conectar a um namespace por meio do comando a seguir.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Próximos passos
Este artigo concentrou-se no uso do recurso de namespaces gerenciados para isolar logicamente equipes e aplicativos. Você pode explorar ainda mais outras proteções e práticas recomendadas a serem aplicadas por meio de salvaguardas de implantação.