Azure Kubernetes Service'te (AKS) yönetilen ad alanlarını kullanma

Şunlar için geçerlidir: ✔️ AKS Otomatik ✔️ AKS Standart

Azure Kubernetes Service'teki (AKS) yönetilen ad alanları, bir küme içindeki iş yüklerini ve ekipleri mantıksal olarak yalıtmak için bir yol sağlar. Bu özellik yöneticilerin kaynak kotalarını zorunlu kılmasına, ağ ilkeleri uygulamasına ve erişim denetimini ad alanı düzeyinde yönetmesine olanak tanır. Yönetilen ad alanlarına ayrıntılı bir genel bakış için bkz. yönetilen ad alanlarına genel bakış.

Başlamadan önce

Önkoşullar

Önkoşul Notes
Azure CLI 2.80.0 veya daha sonra yüklendi. CLI sürümünü bulmak için komutunu çalıştırın az --version. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme.
AKS API Sürümü 2025-09-01 veya daha sonra.
Gerekli izinler Microsoft.ContainerService/managedClusters/managedNamespaces/* veya Azure Kubernetes Service Namespace Contributor yerleşik rol. Microsoft.Resources/deployments/* küme içeren kaynak grubunda. Daha fazla bilgi için bkz. Yönetilen ad alanları için yerleşik roller.

Sınırlamalar

  • Sistem ad alanlarını, kube-system, app-routing-system, istio-system, gatekeeper-system gibi, yönetilen ad alanları olarak eklemek yasaktır.
  • Bir ad alanı yönetilen bir ad alanı olduğunda, Kubernetes API'sini kullanarak ad alanında yapılan değişiklikler engellenir.
  • Portalda dönüştürülecek mevcut ad alanlarını listelemek özel kümelerle çalışmaz. Yeni ad alanları ekleyebilirsiniz.

Kümede yönetilen ad alanı oluşturma ve kullanıcıları atama

Uyarı

Yönetilen ad alanı oluşturduğunuzda, ad alanını Azure Resource Manager'daki durumla mutabık hale getirmek için kümeye bir bileşen yüklenir. Bu bileşen, Kubernetes API'sinden yönetilen alan ve kaynaklarda yapılan değişiklikleri engelleyerek istenen yapılandırmayla tutarlılık sağlar.

Aşağıdaki Bicep örneğinde yönetilen bir kümenin alt kaynağı olarak yönetilen ad alanı oluşturma gösterilmektedir. , defaultNetworkPolicyve adoptionPolicyiçin deletePolicyuygun değeri seçtiğinizden emin olun. Bu parametrelerin anlamı hakkında daha fazla bilgi için bkz. yönetilen ad alanlarına genel bakış.

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'
    }
  }
}

ManagedNamespace.bicep Bicep dosyasını yerel bilgisayarınıza kaydedin.

Azure CLI kullanarak Bicep dosyasını dağıtın.

az deployment group create --resource-group <resource-group> --template-file managedNamespace.bicep

Değişkenleri tanımlama

Sonraki adımlarda kullanılacak aşağıdaki değişkenleri tanımlayın.

RG_NAME=cluster-rg
CLUSTER_NAME=contoso-cluster
NAMESPACE_NAME=retail-team
LABELS="environment=dev"
ANNOTATIONS="owner=retail"

Yönetilen ad alanını oluşturma

Yönetilen ad alanlarının yapılandırmasını özelleştirmek için oluşturma sırasında aralarından seçim yapabileceğiniz çeşitli parametre seçenekleri vardır. ingress-network-policy, egress-network-policy, adoption-policy ve delete-policy için uygun değeri seçtiğinizden emin olun. Bu parametrelerin anlamı hakkında daha fazla bilgi için bkz. yönetilen ad alanlarına genel bakış.

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}

Rol atama

Ad alanı oluşturulduktan sonra, denetim düzlemi ve veri düzlemi için yerleşik rollerden birini atayabilirsiniz.

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)

Portalda, Azure CLI çıkışında ve Azure Resource Manager'da yönetilen ad alanını görüntüleyebilmek için bir denetim düzlemi rolü atayın. Bu rol, kullanıcının bu ad alanına bağlanmak için kimlik bilgilerini almasını da sağlar.

az role assignment create \
  --assignee ${ASSIGNEE} \
  --role "Azure Kubernetes Service Namespace User" \
  --scope ${NAMESPACE_ID}

Kubernetes API'sini kullanarak ad alanı içinde kaynak oluşturmaya erişim elde etmek için veri düzlemi rolü atayın.

az role assignment create \
  --assignee ${ASSIGNEE} \
  --role "Azure Kubernetes Service RBAC Writer" \
  --scope ${NAMESPACE_ID}
  1. Azure portalınaoturum açın.
  2. Azure portalı giriş sayfasında Kaynak oluştur'u seçin.
  3. Kategoriler bölümünde Yönetilen Kubernetes Ad Alanları'nı seçin.
  4. Temel Bilgiler sekmesindeki Proje ayrıntıları altında aşağıdaki ayarları yapılandırın:
    1. Ad alanı (namespace) oluşturmak için hedef kümeyi seçin.
    2. Yeni bir ad alanı oluşturuyorsanız varsayılan yeni oluştur seçeneğini değiştirmeyin, aksi takdirde var olan bir ad alanını dönüştürmek için var olanı yönetilen olarak değiştir'i seçin.
  5. Ad alanına uygulanacak ağ ilkesini yapılandırın.
  6. Ad alanı için kaynak isteklerini ve sınırlarını yapılandırın.
  7. Üyeleri (kullanıcılar veya gruplar) ve rollerini seçin.
    1. Azure Kubernetes Hizmeti Ad Alanı Kullanıcı rolünü, portalda, Azure CLI çıktısında ve Azure Resource Manager'da yönetilen ad alanını görüntüleme erişimi sağlamak için atayın. Bu rol, kullanıcının bu ad alanına bağlanmak için kimlik bilgilerini almasını da sağlar.
    2. Kubernetes API'sini kullanarak ad alanında kaynak oluşturma izni vermek için Azure Kubernetes Service RBAC Yazar rolünü atayın.
  8. Yapılandırmada doğrulamayı çalıştırmak için Gözden geçir + oluştur'u seçin. Doğrulama tamamlandıktan sonra Oluştur'u seçin.

Yönetilen ad alanlarını listeleme

Azure CLI'yi kullanarak yönetilen ad alanlarını farklı kapsamlarda listeleyebilirsiniz.

Abonelik seviyesi

Abonelikteki tüm yönetilen ad alanlarını listelemek için aşağıdaki komutu çalıştırın.

az aks namespace list --subscription <subscription-id>

Kaynak grubu düzeyi

Belirli bir kaynak grubundaki tüm yönetilen ad alanlarını listelemek için aşağıdaki komutu çalıştırın.

az aks namespace list --resource-group <rg-name>

Küme düzeyi

Belirli bir kümedeki tüm yönetilen ad alanlarını listelemek için aşağıdaki komutu çalıştırın.

az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>

Yönetilen ad alanlarını listeleme

Azure CLI'yi kullanarak yönetilen ad alanlarını farklı kapsamlarda listeleyebilirsiniz.

Abonelik seviyesi

Abonelikteki tüm yönetilen ad alanlarını listelemek için aşağıdaki komutu çalıştırın.

az aks namespace list --subscription <subscription-id>

Kaynak grubu düzeyi

Belirli bir kaynak grubundaki tüm yönetilen ad alanlarını listelemek için aşağıdaki komutu çalıştırın.

az aks namespace list --resource-group <rg-name>

Küme düzeyi

Belirli bir kümedeki tüm yönetilen ad alanlarını listelemek için aşağıdaki komutu çalıştırın.

az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>

Kümeye bağlanma

Aşağıdaki komutu kullanarak bir ad alanına bağlanmak için kimlik bilgilerini alabilirsiniz.

az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>

Kümeye bağlanma

Aşağıdaki komutu kullanarak bir ad alanına bağlanmak için kimlik bilgilerini alabilirsiniz.

az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>

Sonraki Adımlar

Bu makale, ekipleri ve uygulamaları mantıksal olarak yalıtmak için yönetilen ad alanları özelliğini kullanmaya odaklanmıştır. Dağıtım korumaları aracılığıyla uygulanacak diğer korumaları ve en iyi yöntemleri daha fazla keşfedebilirsiniz.