Wdrażanie rozszerzeń klastra i zarządzanie nimi przy użyciu interfejsu wiersza polecenia platformy Azure

Wystąpienia rozszerzeń można tworzyć w klastrze usługi AKS, ustawiać wymagane i opcjonalne parametry, w tym opcje związane z aktualizacjami i konfiguracjami. Można również wyświetlać, wyświetlać, aktualizować i usuwać wystąpienia rozszerzeń.

Przed rozpoczęciem przeczytaj o rozszerzeniach klastra.

Uwaga

Przykłady przedstawione w tym artykule nie są kompletne i są przeznaczone tylko do prezentowania funkcjonalności. Aby uzyskać pełną listę poleceń i ich parametrów, zobacz dokumentację interfejsu wiersza polecenia az k8s-extension.

Wymagania wstępne

  • Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, możesz utworzyć bezpłatne konto.

  • Dostawcy Microsoft.ContainerService zasobów i Microsoft.KubernetesConfiguration muszą być zarejestrowani w ramach subskrypcji. Aby zarejestrować tych dostawców, uruchom następujące polecenie:

    az provider register --namespace Microsoft.ContainerService --wait 
    az provider register --namespace Microsoft.KubernetesConfiguration --wait 
    
  • Klaster usługi AKS. Ten klaster musi zostać utworzony przy użyciu tożsamości zarządzanej, ponieważ rozszerzenia klastra nie będą działać z klastrami opartymi na jednostce usługi. W przypadku nowych klastrów utworzonych za pomocą az aks createusługi tożsamość zarządzana jest domyślnie konfigurowana. W przypadku istniejących klastrów opartych na jednostce usługi przejdź do zarządzania tożsamością, uruchamiając az aks update polecenie z flagą --enable-managed-identity . Aby uzyskać więcej informacji, zobacz Używanie tożsamości zarządzanej.

  • Zainstalowano interfejs >wiersza polecenia platformy Azure = 2.16.0. Zalecamy używanie najnowszej wersji.

  • Najnowsza wersja rozszerzeń interfejsu k8s-extension wiersza polecenia platformy Azure. Zainstaluj rozszerzenie, uruchamiając następujące polecenie:

    az extension add --name k8s-extension
    

    Jeśli rozszerzenie jest już zainstalowane, upewnij się, że używasz najnowszej wersji, używając następującego polecenia:

    az extension update --name k8s-extension
    

Tworzenie wystąpienia rozszerzenia

Utwórz nowe wystąpienie rozszerzenia z elementem k8s-extension create, przekazując wartości dla parametrów obowiązkowych. To przykładowe polecenie tworzy wystąpienie rozszerzenia usługi Azure Machine Learning w klastrze usługi AKS:

az k8s-extension create --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --configuration-settings enableInference=True allowInsecureConnections=True inferenceRouterServiceType=LoadBalancer

To przykładowe polecenie tworzy przykładową aplikację Kubernetes (opublikowaną w witrynie Marketplace) w klastrze usługi AKS:

az k8s-extension create --name voteapp --extension-type Contoso.AzureVoteKubernetesAppTest --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters --plan-name testPlanID --plan-product testOfferID --plan-publisher testPublisherID --configuration-settings title=VoteAnimal value1=Cats value2=Dogs

Uwaga

Usługa Rozszerzenia klastra nie może przechowywać poufnych informacji przez ponad 48 godzin. Jeśli agenci rozszerzenia klastra nie mają łączności sieciowej przez ponad 48 godzin i nie mogą określić, czy utworzyć rozszerzenie w klastrze, rozszerzenie przechodzi do Failed stanu. Po wprowadzeniu Failed stanu należy uruchomić k8s-extension create ponownie, aby utworzyć nowe wystąpienie rozszerzenia.

Parametry wymagane

Nazwa parametru Opis
--name Nazwa wystąpienia rozszerzenia
--extension-type Typ rozszerzenia, który chcesz zainstalować w klastrze. Na przykład: Microsoft.AzureML.Kubernetes
--cluster-name Nazwa klastra usługi AKS, w którym ma zostać utworzone wystąpienie rozszerzenia
--resource-group Grupa zasobów zawierająca klaster usługi AKS
--cluster-type Typ klastra, na którym ma zostać utworzone wystąpienie rozszerzenia. Określ managedClusters jako mapowania do klastrów usługi AKS

Parametry opcjonalne

Nazwa parametru Opis
--auto-upgrade-minor-version Właściwość logiczna określająca, czy wersja pomocnicza rozszerzenia zostanie uaktualniona automatycznie, czy nie. Wartość domyślna: true. Jeśli ten parametr ma wartość true, nie można ustawić version parametru, ponieważ wersja zostanie dynamicznie zaktualizowana. Jeśli jest ustawiona wartość false, rozszerzenie nie zostanie automatycznie uaktualnione nawet w przypadku wersji poprawek.
--version Wersja rozszerzenia do zainstalowania (określona wersja w celu przypięcia wystąpienia rozszerzenia do). Nie można podać, jeśli dla opcji auto-upgrade-minor-version ustawiono wartość true.
--configuration-settings Ustawienia, które można przekazać do rozszerzenia, aby kontrolować jego funkcjonalność. Przekaż wartości jako pary rozdzielone key=value spacjami po nazwie parametru. Jeśli ten parametr jest używany w poleceniu, --configuration-settings-file nie można go użyć w tym samym poleceniu.
--configuration-settings-file Ścieżka do pliku JSON zawierającego pary wartości klucza, które mają być używane do przekazywania ustawień konfiguracji do rozszerzenia. Jeśli ten parametr jest używany w poleceniu, --configuration-settings nie można go użyć w tym samym poleceniu.
--configuration-protected-settings Te ustawienia nie są możliwe do pobierania przy użyciu GET wywołań interfejsu API lub az k8s-extension show poleceń, dlatego są używane do przekazywania poufnych ustawień. Przekaż wartości jako pary rozdzielone key=value spacjami po nazwie parametru. Jeśli ten parametr jest używany w poleceniu, --configuration-protected-settings-file nie można go użyć w tym samym poleceniu.
--configuration-protected-settings-file Ścieżka do pliku JSON zawierającego pary wartości klucza, które mają być używane do przekazywania poufnych ustawień do rozszerzenia. Jeśli ten parametr jest używany w poleceniu, --configuration-protected-settings nie można go użyć w tym samym poleceniu.
--scope Zakres instalacji rozszerzenia — cluster lub namespace
--release-namespace Ten parametr wskazuje przestrzeń nazw, w której ma zostać utworzona wersja. Ten parametr jest istotny tylko wtedy, gdy scope parametr jest ustawiony na clusterwartość .
--release-train Autorzy rozszerzeń mogą publikować wersje w różnych pociągach wydaniach, takich jak Stable, Previewitp. Jeśli ten parametr nie zostanie jawnie ustawiony, Stable zostanie użyty jako domyślny. Tego parametru nie można użyć, gdy --auto-upgrade-minor-version parametr jest ustawiony na falsewartość .
--target-namespace Ten parametr wskazuje przestrzeń nazw, w której zostanie utworzona wersja. Uprawnienie do konta systemowego utworzonego dla tego wystąpienia rozszerzenia będzie ograniczone do tej przestrzeni nazw. Ten parametr ma zastosowanie tylko wtedy, gdy scope parametr jest ustawiony na namespacewartość .
--plan-name Identyfikator planu rozszerzenia znajdujący się na stronie Marketplace w Azure Portal w obszarze Informacje o użyciu i obsługa techniczna.
--plan-product Identyfikator produktu rozszerzenia znajdujący się na stronie Marketplace w Azure Portal w obszarze Informacje o użyciu i obsługa techniczna. Przykładem jest nazwa używanej oferty niezależnego dostawcy oprogramowania.
--plan-publisher Identyfikator wydawcy rozszerzenia znajdujący się na stronie Marketplace w Azure Portal w obszarze Informacje o użyciu i obsługa techniczna.

Pokaż szczegóły wystąpienia rozszerzenia

Aby wyświetlić szczegóły aktualnie zainstalowanego wystąpienia rozszerzenia, użyj polecenia k8s-extension show, przekazując wartości parametrów obowiązkowych.

az k8s-extension show --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Wyświetlanie listy wszystkich rozszerzeń zainstalowanych w klastrze

Aby wyświetlić listę wszystkich rozszerzeń zainstalowanych w klastrze, użyj polecenia k8s-extension list, przekazując wartości parametrów obowiązkowych.

az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Aktualizowanie wystąpienia rozszerzenia

Uwaga

Zapoznaj się z dokumentacją określonego typu rozszerzenia, aby poznać określone ustawienia w --configuration-settings programie i --configuration-protected-settings które można zaktualizować. W przypadku --configuration-protected-settingsprogramu należy podać wszystkie ustawienia, nawet jeśli jest aktualizowane tylko jedno ustawienie. Jeśli którekolwiek z tych ustawień zostanie pominięte, te ustawienia zostaną uznane za przestarzałe i usunięte.

Aby zaktualizować istniejące wystąpienie rozszerzenia, użyj polecenia k8s-extension update, przekazując wartości parametrów obowiązkowych. Następujące polecenie aktualizuje ustawienie automatycznego uaktualniania dla wystąpienia rozszerzenia usługi Azure Machine Learning:

az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Wymagane parametry aktualizacji

Nazwa parametru Opis
--name Nazwa wystąpienia rozszerzenia
--extension-type Typ rozszerzenia, który chcesz zainstalować w klastrze. Na przykład: Microsoft.AzureML.Kubernetes
--cluster-name Nazwa klastra usługi AKS, w którym ma zostać utworzone wystąpienie rozszerzenia
--resource-group Grupa zasobów zawierająca klaster usługi AKS
--cluster-type Typ klastra, na którym ma zostać utworzone wystąpienie rozszerzenia. Określ managedClusters jako mapowania do klastrów usługi AKS

W przypadku aktualizowania aplikacji Kubernetes pozyskanej za pośrednictwem witryny Marketplace wymagane są również następujące parametry:

Nazwa parametru Opis
--plan-name Identyfikator planu rozszerzenia znajdujący się na stronie Marketplace w Azure Portal w obszarze Informacje o użyciu i obsługa techniczna.
--plan-product Identyfikator produktu rozszerzenia znajdujący się na stronie Marketplace w Azure Portal w obszarze Informacje o użyciu i obsługa techniczna. Przykładem jest nazwa używanej oferty niezależnego dostawcy oprogramowania.
--plan-publisher Identyfikator wydawcy rozszerzenia, który znajduje się na stronie Marketplace w Azure Portal w obszarze Informacje o użyciu i obsługa techniczna.

Opcjonalne parametry aktualizacji

Nazwa parametru Opis
--auto-upgrade-minor-version Właściwość logiczna określająca, czy wersja pomocnicza rozszerzenia zostanie uaktualniona automatycznie, czy nie. Wartość domyślna: true. Jeśli ten parametr ma wartość true, nie można ustawić version parametru, ponieważ wersja zostanie dynamicznie zaktualizowana. Jeśli ustawiono wartość false, rozszerzenie nie zostanie automatycznie uaktualnione nawet w przypadku wersji poprawek.
--version Wersja rozszerzenia do zainstalowania (określona wersja, aby przypiąć wystąpienie rozszerzenia do). Nie można podać, jeśli opcja auto-upgrade-minor-version jest ustawiona na truewartość .
--configuration-settings Ustawienia, które można przekazać do rozszerzenia, aby kontrolować jego funkcjonalność. Należy podać tylko ustawienia wymagające aktualizacji. Podane ustawienia zostaną zastąpione podanymi wartościami. Przekaż wartości jako pary oddzielone key=value spacjami po nazwie parametru. Jeśli ten parametr jest używany w poleceniu, --configuration-settings-file nie można go użyć w tym samym poleceniu.
--configuration-settings-file Ścieżka do pliku JSON z parami wartości klucza, które mają być używane do przekazywania ustawień konfiguracji do rozszerzenia. Jeśli ten parametr jest używany w poleceniu, --configuration-settings nie można go użyć w tym samym poleceniu.
--configuration-protected-settings Te ustawienia nie są możliwe do pobierania przy użyciu GET wywołań interfejsu API lub az k8s-extension show poleceń i dlatego są używane do przekazywania poufnych ustawień. Po zaktualizowaniu ustawienia należy określić wszystkie ustawienia. Jeśli niektóre ustawienia zostaną pominięte, te ustawienia zostaną uznane za przestarzałe i usunięte. Przekaż wartości jako pary oddzielone key=value spacjami po nazwie parametru. Jeśli ten parametr jest używany w poleceniu, --configuration-protected-settings-file nie można go użyć w tym samym poleceniu.
--configuration-protected-settings-file Ścieżka do pliku JSON z parami wartości klucza, które mają być używane do przekazywania poufnych ustawień do rozszerzenia. Jeśli ten parametr jest używany w poleceniu, --configuration-protected-settings nie można go użyć w tym samym poleceniu.
--scope Zakres instalacji rozszerzenia — cluster lub namespace
--release-train Autorzy rozszerzeń mogą publikować wersje w różnych pociągach wydaniach, takich jak Stable, Previewitp. Jeśli ten parametr nie zostanie jawnie ustawiony, Stable zostanie użyty jako domyślny. Tego parametru nie można użyć, gdy autoUpgradeMinorVersion parametr jest ustawiony na falsewartość .

Usuwanie wystąpienia rozszerzenia

Aby usunąć wystąpienie rozszerzenia w klastrze, użyj polecenia k8s-extension-delete, przekazując wartości dla obowiązkowych parametrów.

az k8s-extension delete --name azureml --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type managedClusters

Uwaga

Zasób platformy Azure reprezentujący to rozszerzenie zostanie natychmiast usunięty. Wydanie programu Helm w klastrze skojarzonym z tym rozszerzeniem jest usuwane tylko wtedy, gdy agenci uruchomioni w klastrze Kubernetes mają łączność sieciową i mogą ponownie skontaktować się z usługami platformy Azure, aby pobrać żądany stan.

Następne kroki