Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✔️ AKS Automatic ✔️ AKS Standard
Namespace terkelola di Azure Kubernetes Service (AKS) menyediakan cara untuk secara logis mengisolasi beban kerja dan tim dalam kluster. Fitur ini memungkinkan administrator untuk menerapkan kuota sumber daya, menerapkan kebijakan jaringan, dan mengelola kontrol akses di tingkat namespace layanan. Untuk gambaran umum terperinci tentang namespace terkelola, lihat gambaran umum namespace terkelola.
Sebelum Anda mulai
Prasyarat
- Sebuah akun Azure dengan langganan aktif. Jika Anda tidak memilikinya, Anda dapat membuatnya secara gratis.
- Kluster AKS yang disiapkan di lingkungan Azure Anda dengan kontrol akses berbasis peran Azure untuk otorisasi Kubernetes diperlukan jika Anda ingin menggunakan peran Azure RBAC.
- Untuk menggunakan fitur kebijakan jaringan, kluster AKS perlu dikonfigurasi dengan mesin kebijakan jaringan. Cilium adalah mesin yang direkomendasikan.
| Prasyarat | Catatan |
|---|---|
| Azure CLI | Terinstal 2.80.0 atau versi yang lebih baru. Untuk menemukan versi CLI, jalankan az --version. Jika Anda perlu menginstal atau memperbarui, lihat Install Azure CLI. |
| Versi API AKS |
2025-09-01 atau yang lebih baru. |
| Izin yang diperlukan |
Microsoft.ContainerService/managedClusters/managedNamespaces/* atau Azure Kubernetes Service Namespace Contributor peran bawaan.
Microsoft.Resources/deployments/* pada grup sumber daya yang berisi kluster. Untuk informasi lebih lanjut, lihat Peran bawaan dari namespace yang terkelola. |
Keterbatasan
- Mencoba melakukan on-boarding namespace sistem seperti
kube-system,app-routing-system,istio-system,gatekeeper-system, dll. untuk menjadi namespace yang dikelola tidak diperbolehkan. - Ketika namespace adalah namespace terkelola, perubahan pada namespace melalui API Kubernetes diblokir.
- Mencantumkan namespace yang ada untuk dikonversi di portal tidak berfungsi dengan kluster privat. Anda dapat menambahkan namespace baru.
Membuat namespace terkelola pada kluster dan menetapkan pengguna
Nota
Saat Anda membuat ruang nama terkelola, sebuah komponen dipasang di kluster untuk menyesuaikan ruang nama dengan kondisi di Azure Resource Manager. Komponen ini memblokir perubahan pada bidang dan sumber daya terkelola dari API Kubernetes, memastikan konsistensi dengan konfigurasi yang diinginkan.
Contoh Bicep berikut menunjukkan cara membuat namespace terkelola sebagai sub-sumber daya kluster terkelola. Pastikan untuk memilih nilai yang sesuai untuk defaultNetworkPolicy, , adoptionPolicydan deletePolicy. Untuk informasi selengkapnya tentang apa arti parameter tersebut, lihat gambaran umum namespace terkelola.
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'
}
}
}
Simpan file Bicep managedNamespace.bicep ke komputer lokal Anda.
Sebarkan file Bicep menggunakan Azure CLI.
az deployment group create --resource-group <resource-group> --template-file managedNamespace.bicep
Tentukan variabel
Tentukan variabel berikut yang akan digunakan dalam langkah-langkah berikutnya.
RG_NAME=cluster-rg
CLUSTER_NAME=contoso-cluster
NAMESPACE_NAME=retail-team
LABELS="environment=dev"
ANNOTATIONS="owner=retail"
Membuat namespace terkelola
Untuk menyesuaikan konfigurasinya, namespace terkelola memiliki berbagai opsi parameter untuk dipilih selama pembuatan. Pastikan untuk memilih nilai yang sesuai untuk ingress-network-policy, , egress-network-policyadoption-policy, dan delete-policy. Untuk informasi selengkapnya tentang apa arti parameter tersebut, lihat gambaran umum namespace terkelola.
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}
Tetapkan peran
Setelah namespace dibuat, Anda dapat menetapkan salah satu peran bawaan untuk sarana kontrol dan bidang data.
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)
Tetapkan peran sarana kontrol agar dapat melihat namespace terkelola di portal, output Azure CLI, dan Azure Resource Manager. Peran ini juga memungkinkan pengguna untuk mengambil kredensial untuk terhubung ke namespace layanan ini.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service Namespace User" \
--scope ${NAMESPACE_ID}
Tetapkan peran data plane agar dapat mendapatkan akses untuk membuat sumber daya dalam namespace menggunakan API Kubernetes.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service RBAC Writer" \
--scope ${NAMESPACE_ID}
- Masuk ke portal Azure.
- Pada beranda portal Microsoft Azure, pilih Membuat sumber daya.
- Di bagian Kategori , pilih Namespace Layanan Kubernetes Terkelola.
- Pada tab Dasar , di bawah Detail proyek konfigurasikan pengaturan berikut:
- Pilih kluster target untuk membuat namespace.
- Jika Anda membuat namespace baru, pertahankan opsi buat baru secara default, jika tidak, pilih ubah yang sudah ada menjadi dikelola untuk mengonversi namespace yang sudah ada.
- Konfigurasikan kebijakan jaringan yang akan diterapkan pada namespace.
- Konfigurasikan permintaan dan batas sumber daya untuk namespace.
- Pilih anggota (pengguna atau grup) dan peran mereka.
- Tetapkan peran Pengguna Namespace Layanan Azure Kubernetes untuk memberi mereka akses untuk melihat namespace terkelola di portal, output Azure CLI, dan Azure Resource Manager. Peran ini juga memungkinkan pengguna untuk mengambil kredensial untuk terhubung ke namespace layanan ini.
- Tetapkan peran Penulis RBAC Azure Kubernetes Service untuk memberi mereka akses untuk membuat sumber daya dalam namespace menggunakan API Kubernetes.
- Pilih Tinjau + buat untuk menjalankan validasi pada konfigurasi. Setelah validasi selesai, pilih Create.
Daftar namespace yang dikelola
Anda dapat mencantumkan namespace terkelola pada cakupan yang berbeda menggunakan Azure CLI.
Tingkat langganan
Jalankan perintah berikut untuk mencantumkan semua namespace terkelola dalam langganan.
az aks namespace list --subscription <subscription-id>
Tingkat grup sumber daya
Jalankan perintah berikut untuk mencantumkan semua namespace terkelola dalam grup sumber daya tertentu.
az aks namespace list --resource-group <rg-name>
Tingkat kluster
Jalankan perintah berikut untuk mencantumkan semua namespace terkelola dalam kluster tertentu.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Daftar namespace yang dikelola
Anda dapat mencantumkan namespace terkelola pada cakupan yang berbeda menggunakan Azure CLI.
Tingkat langganan
Jalankan perintah berikut untuk mencantumkan semua namespace terkelola dalam langganan.
az aks namespace list --subscription <subscription-id>
Tingkat grup sumber daya
Jalankan perintah berikut untuk mencantumkan semua namespace terkelola dalam grup sumber daya tertentu.
az aks namespace list --resource-group <rg-name>
Tingkat kluster
Jalankan perintah berikut untuk mencantumkan semua namespace terkelola dalam kluster tertentu.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Menyambungkan ke kluster
Anda dapat mengambil kredensial untuk menyambungkan ke namespace melalui perintah berikut.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Menyambungkan ke kluster
Anda dapat mengambil kredensial untuk menyambungkan ke namespace melalui perintah berikut.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Langkah selanjutnya
Artikel ini berfokus pada penggunaan fitur namespace terkelola untuk mengisolasi tim dan aplikasi secara logis. Anda dapat menjelajahi pedoman dan praktik terbaik lainnya yang dapat Anda terapkan melalui perlindungan penyebaran.