Nasazení a správa rozšíření clusteru Kubernetes s podporou Služby Azure Arc
Instance rozšíření můžete vytvářet v clusteru Kubernetes s podporou arc, nastavit požadované a volitelné parametry, včetně možností souvisejících s aktualizacemi a konfiguracemi. Můžete také zobrazit, zobrazit, zobrazit, aktualizovat a odstranit instance rozšíření.
Než začnete, přečtěte si koncepční přehled rozšíření clusteru Kubernetes s podporou Arc a projděte si seznam aktuálně dostupných rozšíření.
Požadavky
Nejnovější verze Azure CLI.
Nejnovější verze
connectedk8s
rozšíření Azurek8s-extension
CLI Nainstalujte tato rozšíření spuštěním následujících příkazů:az extension add --name connectedk8s az extension add --name k8s-extension
connectedk8s
Pokud už jsou rozšířeník8s-extension
nainstalovaná, ujistěte se, že jsou aktualizované na nejnovější verzi, a to pomocí následujících příkazů:az extension update --name connectedk8s az extension update --name k8s-extension
Existující cluster Kubernetes s podporou Azure Arc s alespoň jedním uzlem operačního systému a typem
linux/amd64
architektury . Pokud nasazujete Flux (GitOps), můžete použít cluster založený na ARM64 bezlinux/amd64
uzlu.- Pokud jste cluster ještě nepřipojili, použijte naše rychlé zprovoznění.
- Upgradujte agenty na nejnovější verzi.
Vytvoření instance rozšíření
Pokud chcete vytvořit novou instanci rozšíření, použijte k8s-extension create
předávání hodnot požadovaných parametrů.
Tento příklad vytvoří instanci rozšíření Azure Monitor Container Insights v clusteru Kubernetes s podporou Služby Azure Arc:
az k8s-extension create --name azuremonitor-containers --extension-type Microsoft.AzureMonitor.Containers --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Výstup:
{
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": null,
"configurationSettings": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-eus"
},
"creationTime": "2021-04-02T12:13:06.7534628+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuremonitor.containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/demo/providers/Microsoft.Kubernetes/connectedClusters/demo/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2021-04-02T12:13:06.753463+00:00",
"lastStatusTime": null,
"name": "azuremonitor-containers",
"releaseTrain": "Stable",
"resourceGroup": "demo",
"scope": {
"cluster": {
"releaseNamespace": "azuremonitor-containers"
},
"namespace": null
},
"statuses": [],
"systemData": null,
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "2.8.2"
}
Poznámka:
Služba nemůže uchovávat citlivé informace déle než 48 hodin. Pokud agenti Kubernetes s podporou Azure Arc 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 k tomu dojde, budete muset znovu spustit k8s-extension create
, abyste vytvořili nový prostředek Azure s rozšířením.
Azure Monitor Container Insights je jednoúčelové rozšíření (vyžaduje se jenom jedno na cluster). Před instalací stejných rozšíření budete muset před instalací stejných rozšíření vyčistit všechny předchozí instalace chartů Helm služby Azure Monitor Container Insights (bez rozšíření). Před spuštěním az k8s-extension create
postupujte podle pokynů pro odstranění chartu Helm .
Povinné parametry
Při vytváření az k8s-extension create
instance rozšíření jsou vyžadovány následující parametry.
Název parametru | Popis |
---|---|
--name |
Název instance rozšíření |
--extension-type |
Typ rozšíření , které chcete nainstalovat do clusteru. Příklad: Microsoft.AzureMonitor.Containers, microsoft.azuredefender.kubernetes |
--scope |
Rozsah instalace pro rozšíření: cluster nebo namespace |
--cluster-name |
Název prostředku Kubernetes s podporou Azure Arc, na kterém se má instance rozšíření vytvořit |
--resource-group |
Skupina prostředků obsahující prostředek Kubernetes s podporou Azure Arc |
--cluster-type |
Typ clusteru, na kterém se má instance rozšíření vytvořit. Ve většině scénářů použijte connectedClusters clustery Kubernetes s podporou Azure Arc. |
Volitelné parametry
Podle potřeby použijte jeden nebo více těchto volitelných parametrů společně s požadovanými parametry.
Poznámka:
Instanci rozšíření můžete automaticky upgradovat na nejnovější podverze a verze oprav nastavením auto-upgrade-minor-version
na true
hodnotu , nebo můžete místo toho nastavit verzi instance rozšíření ručně pomocí parametru --version
. Doporučujeme povolit automatické upgrady pro podverze a verze oprav, abyste měli vždy nejnovější opravy zabezpečení a možnosti.
Protože upgrady hlavních verzí můžou zahrnovat zásadní změny, automatické upgrady pro nové hlavní verze instance rozšíření se nepodporují. Můžete zvolit, kdy ručně upgradovat instance rozšíření na novou hlavní verzi.
Název parametru | Popis |
---|---|
--auto-upgrade-minor-version |
Logická vlastnost, která určuje, zda je podverze rozšíření automaticky upgradována. Výchozí nastavení je true . Pokud je tento parametr nastavený na true , parametr nemůžete 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í, ke které se má nainstalovat (konkrétní verze pro připnutí instance rozšíření). Nesmí být zadána, pokud auto-upgrade-minor-version je nastavena na true hodnotu . |
--configuration-settings |
Nastavení, která lze předat do rozšíření pro řízení jeho funkčnosti. Předávají se 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 key=value páry, které se mají použít k předává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 |
Nastavení, která se nedají načíst pomocí GET volání rozhraní API nebo az k8s-extension show příkazů Obvykle se používá k předávání citlivých nastavení. Předávají se 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 key=value páry, které se mají použít k 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. |
--release-namespace |
Tento parametr označuje obor názvů, ve kterém bude verze vytvořena. Relevantní pouze v případě, že scope je nastavena hodnota cluster . |
--release-train |
Autoři rozšíření mohou publikovat verze v různých verzích vlaků, jako Stable je , Preview atd. Pokud tento parametr není explicitně nastavený, Stable použije se jako výchozí. |
--target-namespace |
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ů. Relevantní pouze v případě, že scope je nastavena hodnota namespace . |
Zobrazit podrobnosti o rozšíření
Pokud chcete zobrazit podrobnosti o aktuálně nainstalované instanci rozšíření, použijte k8s-extension show
předávání hodnot povinných parametrů.
az k8s-extension show --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Výstup:
{
"autoUpgradeMinorVersion": true,
"configurationProtectedSettings": null,
"configurationSettings": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-eus"
},
"creationTime": "2021-04-02T12:13:06.7534628+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuremonitor.containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/demo/providers/Microsoft.Kubernetes/connectedClusters/demo/providers/Microsoft.KubernetesConfiguration/extensions/azuremonitor-containers",
"identity": null,
"installState": "Installed",
"lastModifiedTime": "2021-04-02T12:13:06.753463+00:00",
"lastStatusTime": "2021-04-02T12:13:49.636+00:00",
"name": "azuremonitor-containers",
"releaseTrain": "Stable",
"resourceGroup": "demo",
"scope": {
"cluster": {
"releaseNamespace": "azuremonitor-containers"
},
"namespace": null
},
"statuses": [],
"systemData": null,
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "2.8.2"
}
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 list
k předání hodnot povinných parametrů.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Výstup:
[
{
"autoUpgradeMinorVersion": true,
"creationTime": "2020-09-15T02:26:03.5519523+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "Microsoft.AzureMonitor.Containers",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myRg/providers/Microsoft.Kubernetes/connectedClusters/myCluster/providers/Microsoft.KubernetesConfiguration/extensions/myExtInstanceName",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2020-09-15T02:48:45.6469664+00:00",
"lastStatusTime": null,
"name": "myExtInstanceName",
"releaseTrain": "Stable",
"resourceGroup": "myRG",
"scope": {
"cluster": {
"releaseNamespace": "myExtInstanceName1"
}
},
"statuses": [],
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "0.1.0"
},
{
"autoUpgradeMinorVersion": true,
"creationTime": "2020-09-02T00:41:16.8005159+00:00",
"errorInfo": {
"code": null,
"message": null
},
"extensionType": "microsoft.azuredefender.kubernetes",
"id": "/subscriptions/0e849346-4343-582b-95a3-e40e6a648ae1/resourceGroups/myRg/providers/Microsoft.Kubernetes/connectedClusters/myCluster/providers/Microsoft.KubernetesConfiguration/extensions/defender",
"identity": null,
"installState": "Pending",
"lastModifiedTime": "2020-09-02T00:41:16.8005162+00:00",
"lastStatusTime": null,
"name": "microsoft.azuredefender.kubernetes",
"releaseTrain": "Stable",
"resourceGroup": "myRg",
"scope": {
"cluster": {
"releaseNamespace": "myExtInstanceName2"
}
},
"type": "Microsoft.KubernetesConfiguration/extensions",
"version": "0.1.0"
}
]
Aktualizace instance rozšíření
Poznámka:
Informace o konkrétních nastaveních a --configuration-protected-settings
možnostech aktualizace najdete v --configuration-settings
dokumentaci ke konkrétnímu typu rozšíření. Očekává --configuration-protected-settings
se, že budou všechna nastavení k dispozici, i když se aktualizuje jenom 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
předávání hodnot povinných a volitelných parametrů. Povinné a volitelné parametry se mírně liší od parametrů použitých k vytvoření instance rozšíření.
Tento příklad aktualizuje auto-upgrade-minor-version
nastavení instance rozšíření Azure Machine Learning na true
:
az k8s-extension update --name azureml --extension-type Microsoft.AzureML.Kubernetes --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --auto-upgrade-minor-version true --cluster-type managedClusters
Požadované parametry pro aktualizaci
Název parametru | Popis |
---|---|
--name |
Název instance rozšíření |
--cluster-name |
Název clusteru, na kterém se musí vytvořit instance rozšíření |
--resource-group |
Skupina prostředků obsahující cluster |
--cluster-type |
Typ clusteru, na kterém se má instance rozšíření vytvořit. Pro clustery Kubernetes s podporou Azure Arc použijte connectedClusters . Pro clustery AKS použijte managedClusters . |
Volitelné parametry pro aktualizaci
Název parametru | Popis |
---|---|
--auto-upgrade-minor-version |
Logická vlastnost, která určuje, zda je podverze rozšíření automaticky upgradována. Výchozí nastavení je 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í, ke které se má nainstalovat (konkrétní verze pro připnutí instance rozšíření). Pokud je nastavena true možnost automatického upgradu podverze, nesmí být zadána . |
--configuration-settings |
Nastavení, která lze předat do rozšíření pro řízení jeho funkčnosti. Předávají se 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. Je potřeba zadat pouze nastavení, která vyžadují aktualizaci. Zadaná nastavení budou nahrazena zadanými hodnotami. |
--configuration-settings-file |
Cesta k souboru JSON s dvojicemi key=value , které se mají použít pro předává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 |
Nastavení, která se nedají načíst pomocí GET volání rozhraní API nebo az k8s-extension show příkazů Obvykle se používá k předávání citlivých nastavení. Předávají se 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. Při aktualizaci chráněného nastavení se očekává, že se zadají všechna chráněná nastavení. Pokud některá z těchto nastavení vynecháte, budou tato nastavení považována za za zastaralá a odstraněná. |
--configuration-protected-settings-file |
Cesta k souboru JSON s dvojicemi key=value , 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í mohou publikovat verze v různých verzích vlaků, jako Stable je , Preview atd. Pokud tento parametr není explicitně nastavený, Stable použije se jako výchozí. |
Upgrade instance rozšíření
Jak jsme uvedli dříve, pokud nastavíte auto-upgrade-minor-version
hodnotu true, rozšíření se při vydání nové podverze automaticky upgraduje. Ve většině scénářů doporučujeme povolit automatické upgrady. Pokud nastavíte auto-upgrade-minor-version
hodnotu false, budete muset rozšíření upgradovat ručně, pokud chcete novější verzi.
K získání nové hlavní instance rozšíření se vyžadují také ruční upgrady. Můžete zvolit, kdy provést upgrade, abyste se vyhnuli neočekávaným změnám způsobujícím chybu s upgrady hlavních verzí.
Pokud chcete instanci rozšíření upgradovat ručně, použijte k8s-extension update
a nastavte version
parametr tak, aby určil verzi.
Tento příklad aktualizuje instanci rozšíření Azure Machine Learning na verzi x.y.z:
az k8s-extension update --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters --name azureml --version x.y.z
Odstranění instance rozšíření
Pokud chcete odstranit instanci rozšíření v clusteru, použijte k8s-extension delete
předávání hodnot povinných parametrů:
az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
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
- Úplný seznam příkazů a parametrů najdete v referenčních informacích k rozhraní příkazového řádku az k8s-extension.
- Přečtěte si další informace o tom, jak rozšíření fungují s clustery Kubernetes s podporou Arc.
- Projděte si aktuálně dostupná rozšíření clusteru pro Kubernetes s podporou Azure Arc.
- Získejte nápovědu k řešení potíží s rozšířením.