Nasazení a správa rozšíření clusteru pomocí Azure CLI

V clusteru AKS můžete vytvářet instance rozšíření, nastavit požadované a volitelné parametry, včetně možností souvisejících s aktualizacemi a konfiguracemi. Můžete také zobrazit, vypsat, aktualizovat a odstranit instance rozšíření.

Než začnete, přečtěte si o rozšířeních clusteru.

Poznámka

Příklady uvedené v tomto článku nejsou úplné a jsou určené pouze k prezentaci funkcí. Úplný seznam příkazů a jejich parametrů najdete v referenčních informacích k rozhraní příkazového řádku az k8s-extension.

Prerequisites

  • Předplatné služby Azure. Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet.

  • Poskytovatelé prostředků Microsoft.ContainerService a Microsoft.KubernetesConfiguration musí být registrováni ve vašem předplatném. Pokud chcete zaregistrovat tyto poskytovatele, spusťte následující příkaz:

    az provider register --namespace Microsoft.ContainerService --wait 
    az provider register --namespace Microsoft.KubernetesConfiguration --wait 
    
  • Cluster AKS. Tento cluster musel být vytvořen pomocí spravované identity, protože rozšíření clusteru nebudou fungovat u clusterů založených na instančním objektu služby. U nových clusterů vytvořených pomocí az aks create je spravovaná identita ve výchozím nastavení nakonfigurovaná. U existujících clusterů založených na instančním objektu služby přejděte na spravovanou identitu spuštěním az aks update s příznakem --enable-managed-identity. Další informace najdete v tématu Použití spravované identity.

  • Azure CLI verze >= 2.16.0 nainstalována. Doporučujeme používat nejnovější verzi.

  • Nejnovější verze rozšíření k8s-extension Azure CLI. Nainstalujte rozšíření spuštěním následujícího příkazu:

    az extension add --name k8s-extension
    

    Pokud už je rozšíření nainstalované, pomocí následujícího příkazu se ujistěte, že používáte nejnovější verzi:

    az extension update --name k8s-extension
    

Vytvoření instance rozšíření

Vytvořte novou instanci rozšíření pomocí k8s-extension create a zadejte hodnoty povinných parametrů. Tento ukázkový příkaz vytvoří instanci rozšíření Azure Machine Learning ve vašem clusteru 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

Tento ukázkový příkaz vytvoří ukázkovou aplikaci Kubernetes (publikovanou na Marketplace) ve vašem clusteru 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

Poznámka

Služba Rozšíření clusteru nemůže uchovávat citlivé informace po dobu delší než 48 hodin. Pokud agenti rozšíření clusteru nemají připojení k síti déle než 48 hodin a nemůžou určit, jestli se má v clusteru vytvořit rozšíření, pak rozšíření přejde do Failed stavu. Jakmile budete ve Failed stavu, budete muset znovu spustit k8s-extension create , abyste vytvořili novou instanci rozšíření.

Požadované parametry

Název parametru Popis
--name Název instance rozšíření
--extension-type Typ rozšíření, které chcete nainstalovat do clusteru. Například: Microsoft.AzureML.Kubernetes
--cluster-name Název clusteru AKS, na kterém se má instance rozšíření vytvořit
--resource-group Skupina prostředků obsahující cluster AKS
--cluster-type Typ clusteru, na kterém se má instance rozšíření vytvořit. Zadání managedClusters při mapování na clustery AKS

Volitelné parametry

Název parametru Popis
--auto-upgrade-minor-version Logická vlastnost, která určuje, jestli se podverze rozšíření upgraduje automaticky nebo ne. Výchozí hodnota: true. Pokud je tento parametr nastavený na hodnotu true, nemůžete nastavit version parametr, protože verze se bude dynamicky aktualizovat. Pokud je nastavená hodnota false, rozšíření se automaticky neupgraduje ani pro verze oprav.
--version Verze rozšíření, která se má nainstalovat (konkrétní verze, ke které se připne instance rozšíření). Nesmí být zadáno, pokud je auto-upgrade-minor-version nastaveno na true.
--configuration-settings Nastavení, která lze předat do rozšíření pro řízení jeho funkčnosti. Předejte hodnoty jako dvojice oddělené mezerami key=value za názvem parametru. Pokud se tento parametr použije v příkazu, --configuration-settings-file nedá se použít ve stejném příkazu.
--configuration-settings-file Cesta k souboru JSON obsahujícímu páry klíč–hodnota sloužící k předání nastavení konfigurace rozšíření. Pokud se tento parametr použije v příkazu, --configuration-settings nedá se použít ve stejném příkazu.
--configuration-protected-settings Tato nastavení se nedají načíst pomocí GET volání rozhraní API nebo az k8s-extension show příkazů, a proto se používají k předávání citlivých nastavení. Předejte hodnoty jako dvojice oddělené key=value mezerami za název parametru. Pokud se tento parametr použije v příkazu, --configuration-protected-settings-file nedá se použít ve stejném příkazu.
--configuration-protected-settings-file Cesta k souboru JSON obsahujícímu páry klíč–hodnota, které se mají použít pro předání citlivých nastavení rozšíření. Pokud se tento parametr použije v příkazu, --configuration-protected-settings nedá se použít ve stejném příkazu.
--scope Rozsah instalace pro rozšíření – cluster nebo namespace
--release-namespace Tento parametr označuje obor názvů, ve kterém se má verze vytvořit. Tento parametr je relevantní pouze v případě, že scope je parametr nastaven na cluster.
--release-train Autoři rozšíření mohou publikovat verze v různých větvích vydání, například Stable, Preview atd. Pokud tento parametr není výslovně nastaven, jako výchozí se použije Stable. Tento parametr nelze použít, pokud --auto-upgrade-minor-version je parametr nastaven na falsehodnotu .
--target-namespace Tento parametr označuje obor názvů, ve kterém bude verze vytvořena. Oprávnění systémového účtu vytvořeného pro tuto instanci rozšíření bude omezeno na tento obor názvů. Tento parametr je relevantní pouze v případě, že scope je parametr nastaven na namespace.
--plan-name Plán ID rozšíření najdete na stránce Marketplace na portálu Azure v části Usage Information + Support.
--plan-product ID produktu rozšíření najdete na stránce Marketplace na portálu Azure v části Usage Information + Support. Příkladem je název použité nabídky nezávislých výrobců softwaru.
--plan-publisher Publisher ID rozšíření, které najdete na stránce Marketplace na portálu Azure v části Usage Information + Support.

Zobrazení podrobností o instanci rozšíření

Chcete-li zobrazit podrobnosti o aktuálně nainstalované instanci rozšíření, použijte k8s-extension show a zadejte hodnoty povinných parametrů.

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

Výpis všech rozšíření nainstalovaných v clusteru

Pokud chcete zobrazit seznam všech rozšíření nainstalovaných v clusteru, použijte k8s-extension listfunkci předávání hodnot povinných parametrů.

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

Aktualizace instance rozšíření

Poznámka

V dokumentaci ke konkrétnímu typu rozšíření najdete informace o tom, která konkrétní nastavení v --configuration-settings a --configuration-protected-settings lze aktualizovat. Pro --configuration-protected-settings se očekává, že budou uvedena všechna nastavení, i když se aktualizuje pouze jedno nastavení. Pokud některá z těchto nastavení vynecháte, budou tato nastavení považována za za zastaralá a odstraněná.

Pokud chcete aktualizovat existující instanci rozšíření, použijte k8s-extension update a zadejte hodnoty povinných parametrů. Následující příkaz aktualizuje nastavení automatického upgradu instance rozšíření 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

Požadované parametry pro aktualizaci

Název parametru Popis
--name Název instance rozšíření
--extension-type Typ rozšíření, které chcete nainstalovat do clusteru. Příklad: Microsoft. AzureML.Kubernetes
--cluster-name Název clusteru AKS, na kterém se má instance rozšíření vytvořit
--resource-group Skupina prostředků obsahující cluster AKS
--cluster-type Typ clusteru, na kterém se má instance rozšíření vytvořit. Zadejte managedClusters, protože se mapuje na clustery AKS

Pokud aktualizujete aplikaci Kubernetes pořízenou prostřednictvím Marketplace, jsou také vyžadovány následující parametry:

Název parametru Popis
--plan-name Plán ID rozšíření najdete na stránce Marketplace na portálu Azure v části Usage Information + Support.
--plan-product ID produktu rozšíření najdete na stránce Marketplace na portálu Azure v části Usage Information + Support. Příkladem je název použité nabídky nezávislých výrobců softwaru.
--plan-publisher Publisher ID rozšíření, které najdete na stránce Marketplace na portálu Azure v části Usage Information + Support.

Volitelné parametry pro aktualizaci

Název parametru Popis
--auto-upgrade-minor-version Logická vlastnost, která určuje, zda se vedlejší verze rozšíření bude automaticky aktualizovat. Výchozí hodnota: true. Pokud je tento parametr nastaven na hodnotu true, nelze nastavit version parametr, protože verze se bude dynamicky aktualizovat. Pokud je nastavená hodnota false, rozšíření se automaticky neupgraduje ani pro verze oprav.
--version Verze rozšíření, která se má nainstalovat (konkrétní verze k připnutí instance rozšíření). Nesmí být zadáno, pokud je parametr auto-upgrade-minor-version nastaven na true.
--configuration-settings Nastavení, která lze předat do rozšíření pro řízení jeho funkčnosti. Je potřeba zadat pouze nastavení, která vyžadují aktualizaci. Zadaná nastavení by se nahradila zadanými hodnotami. Předejte hodnoty jako mezerami oddělené key=value dvojice za názvem parametru. Pokud se tento parametr použije v příkazu, --configuration-settings-file nedá se použít ve stejném příkazu.
--configuration-settings-file Cesta k souboru JSON obsahujícímu páry klíčů a hodnot, které se použijí k předání nastavení konfigurace rozšíření. Pokud se tento parametr použije v příkazu, --configuration-settings nedá se použít ve stejném příkazu.
--configuration-protected-settings Tato nastavení se nedají načíst pomocí GET volání rozhraní API nebo az k8s-extension show příkazů, a proto se používají k předávání citlivých nastavení. Při aktualizaci nastavení se očekává, že budou zadána všechna nastavení. Pokud některá nastavení vynecháte, budou tato nastavení považována za za zastaralá a odstraněná. Předejte hodnoty ve dvojicích oddělených mezerou key=value za názvem parametru. Pokud se tento parametr použije v příkazu, --configuration-protected-settings-file nedá se použít ve stejném příkazu.
--configuration-protected-settings-file Cesta k souboru JSON obsahujícímu páry klíč–hodnota, které se mají použít pro předání citlivých nastavení rozšíření. Pokud se tento parametr použije v příkazu, --configuration-protected-settings nedá se použít ve stejném příkazu.
--scope Rozsah instalace pro rozšíření – cluster nebo namespace
--release-train Autoři rozšíření mohou publikovat verze v různých vydávacích větvích, jako jsou Stable, Preview atd. Pokud tento parametr není explicitně nastaven, jako výchozí se použije Stable. Tento parametr nelze použít, pokud autoUpgradeMinorVersion je parametr nastaven na falsehodnotu .

Odstranění instance rozšíření

Chcete-li odstranit instanci rozšíření v clusteru, použijte k8s-extension-delete a zadejte hodnoty povinných parametrů.

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

Poznámka

Prostředek Azure představující toto rozšíření se okamžitě odstraní. Verze Helm v clusteru přidruženém k tomuto rozšíření se odstraní jenom v případě, že agenti spuštění v clusteru Kubernetes mají síťové připojení a můžou se znovu spojit se službami Azure a načíst požadovaný stav.

Další kroky