Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: ✔️ AKS Automatic AKS Standard ✔️
Zarządzane przestrzenie nazw w usłudze Azure Kubernetes Service (AKS) umożliwiają logiczne izolowanie obciążeń i zespołów w klastrze. Ta funkcja umożliwia administratorom wymuszanie przydziałów zasobów, stosowanie zasad sieciowych i zarządzanie kontrolą dostępu na poziomie przestrzeni nazw. Aby zapoznać się ze szczegółowym omówieniem zarządzanych przestrzeni nazw, zobacz omówienie zarządzanych przestrzeni nazw.
Zanim rozpoczniesz
Wymagania wstępne
- Konto Azure z aktywną subskrypcją. Jeśli go nie masz, możesz bezpłatnie utworzyć konto.
- Klaster usługi AKS skonfigurowany w środowisku platformy Azure przy użyciu kontroli dostępu opartej na rolach platformy Azure na potrzeby autoryzacji platformy Kubernetes jest wymagany, jeśli zamierzasz korzystać z ról RBAC platformy Azure.
- Aby korzystać z funkcji zasad sieciowych, klaster usługi AKS musi być skonfigurowany za pomocą aparatu zasad sieciowych. Cilium jest naszym zalecanym aparatem.
| Warunek wstępny | Notatki |
|---|---|
| Interfejs wiersza polecenia platformy Azure |
2.80.0 zainstalowany lub nowszy. Aby znaleźć wersję interfejsu wiersza polecenia, uruchom az --version. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. |
| Wersja interfejsu API usługi AKS |
2025-09-01 lub nowszy. |
| Wymagane uprawnienia |
Microsoft.ContainerService/managedClusters/managedNamespaces/* lub Azure Kubernetes Service Namespace Contributor wbudowana rola.
Microsoft.Resources/deployments/* w grupie zasobów zawierającej klaster. Aby uzyskać więcej informacji, zobacz Wbudowane role przestrzeni nazw zarządzanych. |
Ograniczenia
- Próba wejścia w pokładowe przestrzenie nazw systemu, takie jak
kube-system,app-routing-system,istio-system,gatekeeper-systemitp., nie jest dozwolona. - Gdy przestrzeń nazw jest zarządzaną przestrzenią nazw, zmiany przestrzeni nazw za pośrednictwem interfejsu API Kubernetes są blokowane.
- Wyświetlanie listy istniejących przestrzeni nazw do konwersji w portalu nie działa z klastrami prywatnymi. Możesz dodać nowe przestrzenie nazw.
Tworzenie zarządzanej przestrzeni nazw w klastrze i przypisywanie użytkowników
Uwaga / Notatka
Podczas tworzenia zarządzanej przestrzeni nazw składnik jest instalowany w klastrze w celu uzgodnienia przestrzeni nazw ze stanem w usłudze Azure Resource Manager. Ten składnik blokuje zmiany w polach zarządzanych i zasobach z interfejsu API Kubernetes, zapewniając spójność z żądaną konfiguracją.
W poniższym przykładzie Bicep pokazano, jak utworzyć zarządzaną przestrzeń nazw jako podźródło klastra zarządzanego. Upewnij się, że wybrano odpowiednią wartość dla defaultNetworkPolicywartości , adoptionPolicyi deletePolicy. Aby uzyskać więcej informacji na temat znaczenia tych parametrów, zobacz Omówienie zarządzanych przestrzeni nazw.
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'
}
}
}
Zapisz plik Bicep managedNamespace.bicep na komputerze lokalnym.
Wdróż plik Bicep przy użyciu interfejsu wiersza polecenia platformy Azure.
az deployment group create --resource-group <resource-group> --template-file managedNamespace.bicep
Definiowanie zmiennych
Zdefiniuj następujące zmienne, które mają być używane w kolejnych krokach.
RG_NAME=cluster-rg
CLUSTER_NAME=contoso-cluster
NAMESPACE_NAME=retail-team
LABELS="environment=dev"
ANNOTATIONS="owner=retail"
Tworzenie zarządzanej przestrzeni nazw
Aby dostosować konfigurację, zarządzane przestrzenie nazw mają różne opcje parametrów do wyboru podczas tworzenia. Upewnij się, że wybrano odpowiednią wartość dla ingress-network-policywartości , , egress-network-policyadoption-policyi delete-policy. Aby uzyskać więcej informacji na temat znaczenia tych parametrów, zobacz Omówienie zarządzanych przestrzeni nazw.
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}
Przypisywanie roli
Po utworzeniu przestrzeni nazw można przypisać jedną z wbudowanych ról płaszczyzny sterowania i płaszczyzny danych.
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)
Przypisz rolę płaszczyzny sterowania, aby móc wyświetlać zarządzaną przestrzeń nazw w portalu, dane wyjściowe interfejsu wiersza polecenia platformy Azure i usługę Azure Resource Manager. Ta rola umożliwia również użytkownikowi pobranie poświadczeń w celu nawiązania połączenia z tą przestrzenią nazw.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service Namespace User" \
--scope ${NAMESPACE_ID}
Przypisz rolę płaszczyzny danych, aby uzyskać dostęp do tworzenia zasobów w przestrzeni nazw przy użyciu interfejsu API platformy Kubernetes.
az role assignment create \
--assignee ${ASSIGNEE} \
--role "Azure Kubernetes Service RBAC Writer" \
--scope ${NAMESPACE_ID}
- Zaloguj się do witryny Azure Portal.
- Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób.
- W sekcji Kategorie wybierz pozycję Zarządzane przestrzenie nazw kubernetes.
- Na karcie Podstawowe w obszarze Szczegóły projektu skonfiguruj następujące ustawienia:
- Wybierz klaster docelowy, aby utworzyć przestrzeń nazw.
- Jeśli tworzysz nową przestrzeń nazw, pozostaw wartość domyślną utwórz nową, a w przeciwnym razie wybierz zmianę istniejącej na zarządzaną , aby przekonwertować istniejącą przestrzeń nazw.
- Skonfiguruj zasady sieci , które mają być stosowane w przestrzeni nazw.
- Skonfiguruj żądania zasobów i limity dla przestrzeni nazw.
- Wybierz członków (użytkowników lub grupy) i ich rolę.
- Przypisz rolę użytkownika przestrzeni nazw usługi Azure Kubernetes Service , aby przyznać im dostęp do wyświetlania zarządzanej przestrzeni nazw w portalu, danych wyjściowych interfejsu wiersza polecenia platformy Azure i usługi Azure Resource Manager. Ta rola umożliwia również użytkownikowi pobranie poświadczeń w celu nawiązania połączenia z tą przestrzenią nazw.
- Przypisz rolę składnika zapisywania RBAC usługi Azure Kubernetes Service , aby zapewnić im dostęp do tworzenia zasobów w przestrzeni nazw przy użyciu interfejsu API kubernetes.
- Wybierz pozycję Przejrzyj i utwórz , aby uruchomić walidację konfiguracji. Po zakończeniu walidacji wybierz Utwórz.
Wyświetlanie listy zarządzanych przestrzeni nazw
Przestrzenie nazw zarządzanych można wyświetlić w różnych zakresach przy użyciu interfejsu wiersza polecenia platformy Azure.
Poziom subskrypcji
Uruchom następujące polecenie, aby wyświetlić listę wszystkich zarządzanych przestrzeni nazw w subskrypcji.
az aks namespace list --subscription <subscription-id>
Poziom grupy zasobów
Uruchom następujące polecenie, aby wyświetlić listę wszystkich zarządzanych przestrzeni nazw w określonej grupie zasobów.
az aks namespace list --resource-group <rg-name>
Na poziomie klastra
Uruchom następujące polecenie, aby wyświetlić listę wszystkich zarządzanych przestrzeni nazw w określonym klastrze.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Wyświetlanie listy zarządzanych przestrzeni nazw
Przestrzenie nazw zarządzanych można wyświetlić w różnych zakresach przy użyciu interfejsu wiersza polecenia platformy Azure.
Poziom subskrypcji
Uruchom następujące polecenie, aby wyświetlić listę wszystkich zarządzanych przestrzeni nazw w subskrypcji.
az aks namespace list --subscription <subscription-id>
Poziom grupy zasobów
Uruchom następujące polecenie, aby wyświetlić listę wszystkich zarządzanych przestrzeni nazw w określonej grupie zasobów.
az aks namespace list --resource-group <rg-name>
Na poziomie klastra
Uruchom następujące polecenie, aby wyświetlić listę wszystkich zarządzanych przestrzeni nazw w określonym klastrze.
az aks namespace list --resource-group <rg-name> --cluster-name <cluster-name>
Połącz się z klastrem
Poświadczenia można pobrać, aby nawiązać połączenie z przestrzenią nazw za pomocą następującego polecenia.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Połącz się z klastrem
Poświadczenia można pobrać, aby nawiązać połączenie z przestrzenią nazw za pomocą następującego polecenia.
az aks namespace get-credentials --name <namespace-name> --resource-group <rg-name> --cluster-name <cluster-name>
Dalsze kroki
W tym artykule skoncentrowano się na używaniu funkcji zarządzanych przestrzeni nazw do logicznego izolowania zespołów i aplikacji. Możesz dokładniej zapoznać się z innymi zabezpieczeniami i najlepszymi rozwiązaniami, które należy zastosować za pomocą zabezpieczeń wdrożenia.