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

V clusteru AKS můžete vytvářet instance rozšíření a 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 slouží pouze k představení funkcí. Úplný seznam příkazů a jejich parametrů najdete v referenčních informacích k rozhraní příkazového řádku az k8s-extension.

Požadavky

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

  • Ve vašem předplatném Microsoft.ContainerService musí být zaregistrovaní poskytovatelé prostředků a Microsoft.KubernetesConfiguration . Pokud chcete zaregistrovat tyto zprostředkovatele, 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 musí být vytvořený se spravovanou identitou, protože rozšíření clusteru nebudou fungovat s clustery založenými na instančních objektech. U nových clusterů vytvořených pomocí az aks createje spravovaná identita nakonfigurovaná ve výchozím nastavení. U existujících clusterů založených na instančních objektech přepněte na správu identity spuštěním az aks update s příznakem --enable-managed-identity . Další informace najdete v tématu Použití spravované identity.

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

  • Nejnovější verze k8s-extension rozšíření 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í s k8s-extension createa předáním hodnot 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 déle 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í, rozšíření přejde do Failed stavu. Jakmile budete ve Failed stavu, budete muset znovu spustit k8s-extension create příkaz , abyste vytvořili novou instanci rozšíření.

Povinné parametry

Název parametru Description
--name Název instance rozšíření
--extension-type Typ rozšíření, které chcete v clusteru nainstalovat. 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. Zadat managedClusters při mapování na clustery AKS

Volitelné parametry

Název parametru Description
--auto-upgrade-minor-version Logická vlastnost, která určuje, jestli se podverze rozšíření upgraduje automaticky nebo ne. Výchozí: true. Pokud je tento parametr nastavený na hodnotu true, nemůžete parametr nastavit version , protože verze se bude dynamicky aktualizovat. Pokud je nastavená možnost false, rozšíření se automaticky neupgraduje ani u verzí oprav.
--version Verze rozšíření, které se má nainstalovat (konkrétní verze pro připnutí instance rozšíření). Nesmí se zadat, pokud je automatický upgrade podverze nastavený na truehodnotu .
--configuration-settings Nastavení, která lze předat do rozšíření za účelem řízení jeho funkčnosti. Předejte hodnoty jako dvojice oddělené key=value mezerami 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 s páry hodnot klíčů, které se použijí pro 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í nebo az k8s-extension show příkazů rozhraní API, 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á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 s páry hodnot klíčů, které se mají použít pro předání citlivých nastavení do 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í jenom v případě, že scope je parametr nastavený na clusterhodnotu .
--release-train Autoři rozšíření můžou publikovat verze v různých verzích, jako Stablejsou , Previewatd. Pokud tento parametr není explicitně nastavený, Stable použije se jako výchozí. Tento parametr nelze použít, pokud --auto-upgrade-minor-version je parametr nastavený na falsehodnotu .
--target-namespace Tento parametr určuje obor názvů, ve kterém se bude verze vytvářet. 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í jenom v scope případě, že je parametr nastavený na namespacehodnotu .
--plan-name ID plánu rozšíření, které najdete na stránce Marketplace v Azure Portal v části Informace o využití a podpora.
--plan-product ID produktu rozšíření, které najdete na stránce Marketplace v Azure Portal v části Informace o využití a podpora. Příkladem je název použité nabídky isv.
--plan-publisher ID vydavatele rozšíření, které najdete na stránce Marketplace v Azure Portal v části Informace o využití a podpora.

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

Pokud chcete zobrazit podrobnosti o aktuálně nainstalované instanci rozšíření, použijte k8s-extension showa předejte 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 listpříkaz a předejte hodnoty povinných parametrů.

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

Aktualizace instance rozšíření

Poznámka

Informace o konkrétních nastaveních v a--configuration-protected-settings, která se dají aktualizovat, najdete v --configuration-settings dokumentaci ke konkrétnímu typu rozšíření. U --configuration-protected-settingsse očekává poskytnutí všech nastavení, a to i v případě, že se aktualizuje jenom jedno nastavení. Pokud některé z těchto nastavení vynecháte, budou tato nastavení považována za zastaralá a odstraněná.

Pokud chcete aktualizovat existující instanci rozšíření, použijte k8s-extension updatea předejte hodnoty povinných parametrů. Následující příkaz aktualizuje nastavení automatického upgradu pro instanci 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 Description
--name Název instance rozšíření
--extension-type Typ rozšíření, které chcete v clusteru nainstalovat. 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. Zadat managedClusters při mapování na clustery AKS

Pokud aktualizujete aplikaci Kubernetes, která se pořizuje prostřednictvím Marketplace, vyžadují se také následující parametry:

Název parametru Description
--plan-name ID plánu rozšíření, které najdete na stránce Marketplace v Azure Portal v části Informace o využití a podpora.
--plan-product ID produktu rozšíření, které najdete na stránce Marketplace v Azure Portal v části Informace o využití a podpora. Příkladem je název použité nabídky isv.
--plan-publisher ID vydavatele rozšíření, které najdete na stránce Marketplace v Azure Portal v části Informace o využití a podpora.

Volitelné parametry pro aktualizaci

Název parametru Description
--auto-upgrade-minor-version Logická vlastnost, která určuje, jestli se podverze rozšíření upgraduje automaticky nebo ne. Výchozí: true. Pokud je tento parametr nastaven na hodnotu true, nemůžete parametr nastavit version , 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 pro připnutí instance rozšíření). Pokud je automatický upgrade podverze nastavený na truehodnotu , nesmí se zadat.
--configuration-settings Nastavení, která lze předat do rozšíření, aby bylo možné řídit jeho funkčnost. Je potřeba zadat pouze nastavení, která vyžadují aktualizaci. Poskytnutá nastavení budou nahrazena zadanými hodnotami. Předejte hodnoty jako dvojice oddělené key=value mezerami 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 s páry hodnot klíče, které se mají použít pro předání nastavení konfigurace do 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í nebo az k8s-extension show příkazů rozhraní API, a proto se používají k předávání citlivých nastavení. Při aktualizaci nastavení se očekává zadání všech nastavení. Pokud některá nastavení vynecháte, budou tato nastavení považována za zastaralá a odstraněná. Předejte hodnoty jako dvojice oddělené key=value mezerami 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 s páry hodnot klíče, které se mají použít pro předávání citlivých nastavení do 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í můžou publikovat verze v různých vydanou verzi, jako Stablejsou , Previewatd. Pokud tento parametr není explicitně nastavený, Stable použije se jako výchozí. Tento parametr nelze použít, pokud autoUpgradeMinorVersion je parametr nastavený na falsehodnotu .

Odstranění instance rozšíření

Pokud chcete odstranit instanci rozšíření v clusteru, použijte k8s-extension-deletea předáte 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í připojení k síti a můžou se znovu spojit se službami Azure a načíst požadovaný stav.

Další kroky