Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W zależności od roli operatora klastra lub dewelopera możesz udostępnić środowisko (projekt) w usłudze AKS dla deweloperów w celu wdrażania, migrowania lub zarządzania aplikacjami albo umożliwiania im samodzielnego wdrażania aplikacji i zarządzania nimi w dedykowanym klastrze usługi AKS. Alternatywnie możesz udzielić większej liczby deweloperów dostępu do zarządzania, obserwowania i rozwiązywania problemów z aplikacjami.
Domyślnie, gdy tworzysz Projekt w AKS, możesz udostępnić go innym osobom w organizacji, a system automatycznie ustawia za ciebie uprawnienia. Jednak może być konieczne zachowanie uprawnień w czasie lub zautomatyzowanie ich lub zdefiniowanie modelu operacyjnego przez ustawienie odpowiednich uprawnień.
W tym artykule opisano sposób zarządzania uprawnieniami RBAC w celu umożliwienia członkom zespołu pracy z pulpitem usługi AKS.
Uwaga / Notatka
Usługa AKS desktop nie udostępnia obecnie opcji interfejsu użytkownika do zmiany uprawnień projektu po jego utworzeniu. Aby zaktualizować uprawnienia lub udzielić dostępu dodatkowym użytkownikom po utworzeniu projektu, użyj witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure zgodnie z opisem w tym artykule.
Uwaga / Notatka
Podczas tworzenia projektów w AKS Desktop, zarządzane przestrzenie nazw usługi AKS są tworzone w tej samej grupie zasobów co klaster.
Wymagania wstępne
- Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, możesz utworzyć bezpłatne konto platformy Azure.
- Interfejs wiersza polecenia platformy Azure w wersji 2.64.0 lub nowszej został zainstalowany i skonfigurowany. Sprawdź wersję przy użyciu polecenia
az --version. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. - Rozszerzenie interfejsu wiersza polecenia platformy
aks-previewAzure. Zainstaluj go przy użyciuaz extension add --name aks-previewpolecenia . - Podstawowa wiedza na temat kontroli dostępu opartej na rolach (RBAC) platformy Azure— zobacz Co to jest kontrola dostępu oparta na rolach platformy Azure? i role wbudowane platformy Azure.
- Grupa zasobów platformy Azure zawierająca klaster usługi AKS i wszystkie zarządzane projekty usługi AKS utworzone za pośrednictwem pulpitu usługi AKS.
- Standardowy klaster AKS, spełniający wymagania dotyczące pulpitu AKS, lub Automatyczny klaster AKS, który jest klastrem Kubernetes, gdzie uruchamiane są Twoje aplikacje.
- Usługa Azure Container Registry (ACR) do przechowywania obrazów kontenerów na potrzeby wdrożenia.
Obowiązki operatora klastra
Jako operator klastra odpowiadasz za aprowizowanie i konfigurowanie podstawowej infrastruktury, która umożliwia zespołom deweloperów tworzenie i wdrażanie aplikacji. Twoje obowiązki obejmują:
- Tworzenie wymaganej infrastruktury platformy Azure (grupa zasobów, klaster AKS, ACR).
- Konfigurowanie integracji usługi ACR z klastrem usługi AKS.
- Przypisywanie uprawnień użytkownikom do tworzenia projektów.
- Opcjonalnie delegowanie zarządzania uprawnieniami do twórców projektu.
Tworzenie zasobów infrastruktury
Aby utworzyć zasoby infrastruktury, musisz mieć uprawnienia do tworzenia zasobów na platformie Azure. Jeśli nie masz przypisanej roli RBAC Właściciela, musisz mieć rolę Współtwórcy, aby utworzyć zasoby, oraz rolę Administratora dostępu do użytkowników, aby przypisać uprawnienia innym użytkownikom. Przypisz uprawnienia do użytkowników, aby mogli tworzyć zasoby w grupie zasobów, wykonując następujące kroki:
Ustaw zmienne środowiskowe dla grupy zasobów i nazwy klastra. Pamiętaj, aby zastąpić symbole zastępcze rzeczywistymi nazwami grup zasobów i klastrów.
export RESOURCE_GROUP=<infra-resource-group> export CLUSTER_NAME=<cluster-name> export SUBSCRIPTION_ID=$(az account show --query id --output tsv) export ACR_NAME=<acr-name>Przypisz niezbędną rolę, aby tworzyć zasoby w grupie zasobów, używając polecenia
az role assignment create. Pamiętaj, aby zastąpić<user-id>element odpowiednim identyfikatorem użytkownika lub jednostki usługi.az role assignment create --role "Contributor" \ --assignee <user-id> \ --scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP
Integrowanie usługi ACR z klastrem usługi AKS
Dołącz rejestr kontenerów platformy Azure do klastra usługi AKS za pomocą polecenia az aks update.
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--attach-acr $ACR_NAME
Wybieranie modelu tworzenia projektu
Jako operator klastra masz dwie opcje pracy deweloperów z projektami na pulpicie usługi AKS:
- Model samoobsługi: deweloperzy tworzą własne projekty i zarządzają nimi. Takie podejście zapewnia deweloperom pełną autonomię, ale wymaga przyznania im roli Współautor przestrzeni nazw usługi Azure Kubernetes Service . Podczas tworzenia własnych projektów deweloperzy automatycznie otrzymują rolę Właściciel w zarządzanej przestrzeni nazw i mogą natychmiast rozpocząć wdrażanie aplikacji.
- Model zarządzany: tworzysz projekty dla deweloperów i udzielasz im dostępu. Obecnie można to skonfigurować podczas tworzenia projektu. To podejście zapewnia większą kontrolę nad tworzeniem projektu, ale jeśli po jego utworzeniu musisz przypisać więcej członków zespołu, musisz nadać im niezbędne uprawnienia przy użyciu portalu Azure lub Azure CLI, zgodnie z opisem w następnych sekcjach.
Model samoobsługi: umożliwia deweloperom tworzenie własnych projektów
Aby umożliwić deweloperom tworzenie własnych projektów, przypisz im rolę Kontrybutor przestrzeni nazw usługi Azure Kubernetes Service w klastrze AKS. Projekty AKS na komputery stacjonarne tworzą zarządzane przestrzenie nazw przez AKS w tle, a ta rola przyznaje niezbędne uprawnienia.
Przypisz programistom rolę Współautor przestrzeni nazw usługi Azure Kubernetes Service za pomocą polecenia az role assignment create. Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi.
az role assignment create \
--role "Azure Kubernetes Service Namespace Contributor" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME
Model zarządzany: tworzenie projektów dla deweloperów i przypisywanie dostępu
Jeśli wolisz tworzyć projekty w imieniu deweloperów, musisz przypisać trzy podstawowe role, aby umożliwić im dostęp do klastra i pracować w przypisanej przestrzeni nazw:
-
Rola użytkownika klastra usługi Azure Kubernetes Service: umożliwia deweloperom pobieranie poświadczeń klastra
az aks get-credentialsprzy użyciu polecenia . - Użytkownik przestrzeni nazw usługi Azure Kubernetes Service: udziela dostępu do zarządzanej przestrzeni nazw.
- Jedna z ról RBAC platformy Kubernetes (Czytelnik, Pisarz lub Administrator): określa, jakie działania użytkownicy mogą wykonywać w przestrzeni nazw.
Wszystkie trzy role są wymagane, aby deweloperzy mogli pomyślnie uzyskiwać dostęp do swoich projektów i pracować z ich projektami na pulpicie usługi AKS. Bez roli użytkownika klastra usługi Azure Kubernetes Service deweloperzy nie mogą pobrać pliku kubeconfig potrzebnego do nawiązania połączenia z klastrem.
Przypisywanie dostępu do klastra
Przypisz rolę użytkownika klastra usługi Azure Kubernetes Service, aby włączyć pobieranie kubeconfig za pomocą polecenia az role assignment create. Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi.
az role assignment create \
--role "Azure Kubernetes Service Cluster User Role" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME
Przypisywanie dostępu do przestrzeni nazw
Przypisz rolę użytkownika przestrzeni nazw usługi Azure Kubernetes Service dla określonego projektu/przestrzeni nazw przy użyciu az role assignment create polecenia . Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi.
export NAMESPACE_NAME=<namespace-or-project-name>
az role assignment create \
--role "Azure Kubernetes Service Namespace User" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME/namespaces/$NAMESPACE_NAME
Przypisywanie roli RBAC platformy Kubernetes
Przypisz odpowiednią rolę RBAC platformy Kubernetes na podstawie tego, co deweloper musi zrobić:
- Czytelnik kontroli dostępu opartej na rolach usługi Azure Kubernetes Service na potrzeby dostępu tylko do odczytu.
- Writer RBAC usługi Azure Kubernetes Service na potrzeby wdrażania aplikacji.
- Administrator RBAC usługi Azure Kubernetes Service w celu uzyskania pełnej kontroli administracyjnej.
Pobierz identyfikator klastra usługi AKS za pomocą polecenia
az aks show.AKS_ID=$(az aks show \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --query id \ --output tsv)Przypisz odpowiednią rolę RBAC Kubernetes przy użyciu polecenia
az role assignment create. Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi. W poniższym przykładzie przypisano rolę Azure Kubernetes Service RBAC Writer:az role assignment create \ --role "Azure Kubernetes Service RBAC Writer" \ --assignee <developer-user-id> \ --scope $AKS_ID/namespaces/$NAMESPACE_NAME
Zezwalaj twórcom programu Project na przypisywanie uprawnień dostępu (opcjonalnie)
Jeśli chcesz, aby twórcy projektu mogli przypisywać uprawnienia dostępu innym użytkownikom, przyznaj im rolę Administrator dostępu użytkowników . To uprawnienie umożliwia użytkownikowi ustawianie uprawnień do dowolnych zasobów w grupie zasobów infrastruktury.
Przypisz rolę administratora dostępu użytkowników przy użyciu az role assignment create polecenia . Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi.
az role assignment create \
--role "User Access Administrator" \
--assignee <user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP
Obowiązki deweloperów
Jako deweloper pracujesz w istniejącym środowisku pulpitu usługi AKS, aby wdrażać aplikacje, zarządzać projektami i monitorować obciążenia. Operator klastra udziela niezbędnych uprawnień do wykonywania tych zadań. Twoje obowiązki obejmują:
- Wdrażanie aplikacji w projektach.
- Wyświetlanie wdrożonych aplikacji i zarządzanie nimi.
- Monitorowanie metryk i dzienników aplikacji.
- Modyfikowanie dostępu do projektu (w razie potrzeby).
Wymagane role użytkowników dla deweloperów
Aby pracować z AKS Desktop jako deweloper, operator klastra musi przypisać ci trzy niezbędne role:
Rola użytkownika klastra usługi Azure Kubernetes Service: umożliwia pobieranie poświadczeń klastra przy użyciu
az aks get-credentialspolecenia , które jest wymagane do nawiązania połączenia z klastrem z komputera lokalnego lub za pośrednictwem pulpitu usługi AKS.Użytkownik przestrzeni nazw usługi Azure Kubernetes Service: udziela dostępu do przypisanej zarządzanej przestrzeni nazw/projektu.
Jedna z ról RBAC Kubernetes (Odczyt, Zapis lub Admin): określa, jakie akcje można wykonać w przestrzeni nazw.
- Czytelnik kontroli dostępu opartej na rolach usługi Azure Kubernetes Service na potrzeby dostępu tylko do odczytu.
- Writer RBAC usługi Azure Kubernetes Service na potrzeby wdrażania aplikacji.
- Administrator RBAC usługi Azure Kubernetes Service w celu uzyskania pełnej kontroli administracyjnej.
Przypisywanie uprawnień
Uprawnienia są przypisywane na podstawie sposobu tworzenia projektów na pulpicie usługi AKS:
Twórca projektu: automatycznie otrzymuje rolę właściciela w zarządzanej przestrzeni nazw i wszystkie niezbędne uprawnienia do wdrażania aplikacji.
Inni użytkownicy: należy udzielić dostępu operatorowi klastra lub twórcy projektu. Otrzymują:
- Rola użytkownika klastra usługi Azure Kubernetes Service w klastrze.
- Rola użytkownika przestrzeni nazw usługi Azure Kubernetes Service w przestrzeni nazw.
- Jedna z ról RBAC platformy Kubernetes (Czytelnik, Pisarz lub Administrator).
Aby wdrożyć aplikacje, potrzebujesz roli Autora lub Administratora. Aby uzyskać więcej informacji, zobacz Wbudowane role przestrzeni nazw zarządzanych.
Wyświetlanie metryk aplikacji
Uwaga / Notatka
Wypełnienie metryk po wdrożeniu aplikacji może potrwać do 10 minut.
Na ekranie głównym projektu można wyświetlić metryki dla aplikacji, takie jak użycie procesora CPU, pamięci i sieci. Te metryki pochodzą z zarządzanego punktu końcowego Prometheus obsługiwanego przez obszar roboczy usługi Azure Monitor.
Aby wyświetlić metryki, potrzebujesz roli Czytelnik danych monitorowania w obszarze roboczym usługi Azure Monitor. Ta rola udziela dostępu do wszystkich metryk klastra, a nie tylko określonych projektów.
Operator klastra może przypisać to uprawnienie, wykonując następujące czynności:
Zidentyfikuj obszar roboczy usługi Azure Monitor używany przez klaster przy użyciu
az alerts-management prometheus-rule-group listpolecenia .export WORKSPACE_ACC_FOR_PROM_RULES=$(az alerts-management prometheus-rule-group list \ --resource-group "$RESOURCE_GROUP" \ --query "[?clusterName=='$CLUSTER_NAME'] | [0].scopes[0]" \ --output tsv)Przypisz rolę Czytelnik danych monitorowania przy użyciu
az role assignment createpolecenia . Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi.az role assignment create \ --role "Monitoring Data Reader" \ --assignee <user-id> \ --scope $WORKSPACE_ACC_FOR_PROM_RULES
Modyfikowanie uprawnień dostępu do projektu
Obecnie AKS desktop nie udostępnia opcji UI do modyfikowania uprawnień projektu po jego utworzeniu. Jeśli musisz zaktualizować swoje uprawnienia lub udzielić dostępu innym osobom, skontaktuj się z operatorem klastra, aby zaktualizować uprawnienia przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. W poniższych krokach opisano sposób przypisywania niezbędnych ról przy użyciu interfejsu wiersza polecenia platformy Azure:
Przypisywanie dostępu do klastra
Przypisz rolę użytkownika klastra usługi Azure Kubernetes Service, aby włączyć pobieranie kubeconfig za pomocą polecenia az role assignment create. Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi.
az role assignment create \
--role "Azure Kubernetes Service Cluster User Role" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME
Przypisywanie dostępu do przestrzeni nazw
Przypisz rolę użytkownika przestrzeni nazw usługi Azure Kubernetes Service dla określonego projektu/przestrzeni nazw przy użyciu az role assignment create polecenia . Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi.
export NAMESPACE_NAME=<namespace-or-project-name>
az role assignment create \
--role "Azure Kubernetes Service Namespace User" \
--assignee <developer-user-id> \
--scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.ContainerService/managedClusters/$CLUSTER_NAME/namespaces/$NAMESPACE_NAME
Przypisywanie roli RBAC platformy Kubernetes
Przypisz odpowiednią rolę RBAC platformy Kubernetes na podstawie tego, co deweloper musi zrobić:
- Czytelnik kontroli dostępu opartej na rolach usługi Azure Kubernetes Service na potrzeby dostępu tylko do odczytu.
- Writer RBAC usługi Azure Kubernetes Service na potrzeby wdrażania aplikacji.
- Administrator RBAC usługi Azure Kubernetes Service w celu uzyskania pełnej kontroli administracyjnej.
Pobierz identyfikator klastra usługi AKS za pomocą polecenia
az aks show.AKS_ID=$(az aks show \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --query id \ --output tsv)Przypisz odpowiednią rolę RBAC Kubernetes przy użyciu polecenia
az role assignment create. Pamiętaj, aby zastąpić symbol zastępczy odpowiednim identyfikatorem użytkownika lub jednostki usługi. W poniższym przykładzie przypisano rolę Azure Kubernetes Service RBAC Writer:az role assignment create \ --role "Azure Kubernetes Service RBAC Writer" \ --assignee <developer-user-id> \ --scope $AKS_ID/namespaces/$NAMESPACE_NAME
Udzielanie uprawnień do wyświetlania metryk (opcjonalnie)
Aby udzielić uprawnień do wyświetlania metryk, wykonaj kroki opisane w sekcji Wyświetlanie metryk aplikacji .