Distribuera och hantera Azure Arc-aktiverade Kubernetes-klustertillägg
Du kan skapa tilläggsinstanser i ett Arc-aktiverat Kubernetes-kluster, ange obligatoriska och valfria parametrar, inklusive alternativ som rör uppdateringar och konfigurationer. Du kan också visa, lista, uppdatera och ta bort tilläggsinstanser.
Innan du börjar kan du läsa den konceptuella översikten över Arc-aktiverade Kubernetes-klustertillägg och granska listan över tillgängliga tillägg.
Förutsättningar
Den senaste versionen av Azure CLI.
De senaste versionerna av och
k8s-extension
Azure CLI-tilläggenconnectedk8s
. Installera dessa tillägg genom att köra följande kommandon:az extension add --name connectedk8s az extension add --name k8s-extension
Om tilläggen
connectedk8s
ochk8s-extension
redan är installerade kontrollerar du att de har uppdaterats till den senaste versionen med hjälp av följande kommandon:az extension update --name connectedk8s az extension update --name k8s-extension
Ett befintligt Azure Arc-aktiverat Kubernetes-anslutet kluster med minst en nod av operativsystems- och arkitekturtypen
linux/amd64
. Om du distribuerar Flux (GitOps) kan du använda ett ARM64-baserat kluster utan nodlinux/amd64
.- Om du inte har anslutit ett kluster ännu kan du använda vår snabbstart.
- Uppgradera dina agenter till den senaste versionen.
Skapa tilläggsinstans
Om du vill skapa en ny tilläggsinstans använder du k8s-extension create
och skickar in värden för de obligatoriska parametrarna.
I det här exemplet skapas en Azure Monitor Container Insights-tilläggsinstans i ett Azure Arc-aktiverat Kubernetes-kluster:
az k8s-extension create --name azuremonitor-containers --extension-type Microsoft.AzureMonitor.Containers --scope cluster --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Utdata:
{
"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"
}
Kommentar
Tjänsten kan inte behålla känslig information i mer än 48 timmar. Om Azure Arc-aktiverade Kubernetes-agenter inte har nätverksanslutning på mer än 48 timmar och inte kan avgöra om ett tillägg ska skapas i klustret övergår tillägget till Failed
tillstånd. När det händer måste du köra k8s-extension create
igen för att skapa en ny Azure-resurs för tillägg.
Azure Monitor Container Insights är ett singleton-tillägg (endast ett krävs per kluster). Du måste rensa alla tidigare Helm-diagraminstallationer av Azure Monitor Container Insights (utan tillägg) innan du installerar samma sak via tillägg. Följ anvisningarna för att ta bort Helm-diagrammet innan du kör az k8s-extension create
.
Obligatoriska parametrar
Följande parametrar krävs när du använder az k8s-extension create
för att skapa en tilläggsinstans.
Parameternamn | beskrivning |
---|---|
--name |
Namn på tilläggsinstansen |
--extension-type |
Den typ av tillägg som du vill installera i klustret. Exempel: Microsoft.AzureMonitor.Containers, microsoft.azuredefender.kubernetes |
--scope |
Omfång för installation för tillägget: cluster eller namespace |
--cluster-name |
Namnet på den Azure Arc-aktiverade Kubernetes-resursen som tilläggsinstansen måste skapas på |
--resource-group |
Resursgruppen som innehåller Den Azure Arc-aktiverade Kubernetes-resursen |
--cluster-type |
Den klustertyp som tilläggsinstansen måste skapas på. I de flesta scenarier använder du connectedClusters , vilket motsvarar Azure Arc-aktiverade Kubernetes-kluster. |
Valfria parametrar
Använd en eller flera av dessa valfria parametrar efter behov för dina scenarier, tillsammans med de obligatoriska parametrarna.
Kommentar
Du kan välja att automatiskt uppgradera tilläggsinstansen till de senaste delversionerna och korrigeringsversionerna genom att ange auto-upgrade-minor-version
till true
, eller så kan du i stället ange versionen av tilläggsinstansen manuellt med hjälp av parametern --version
. Vi rekommenderar att du aktiverar automatiska uppgraderingar för mindre versioner och korrigeringsversioner så att du alltid har de senaste säkerhetskorrigeringarna och funktionerna.
Eftersom större versionsuppgraderingar kan omfatta icke-bakåtkompatibla ändringar stöds inte automatiska uppgraderingar för nya större versioner av en tilläggsinstans. Du kan välja när tilläggsinstanser ska uppgraderas manuellt till en ny huvudversion.
Parameternamn | beskrivning |
---|---|
--auto-upgrade-minor-version |
Boolesk egenskap som avgör om tilläggets delversion uppgraderas automatiskt. Standardinställningen är true . Om den här parametern är inställd på true kan du inte ange parametern version eftersom versionen uppdateras dynamiskt. Om värdet false är inställt på uppgraderas inte tillägget automatiskt, inte ens för korrigeringsversioner. |
--version |
Version av tillägget som ska installeras (specifik version för att fästa tilläggsinstansen på). Får inte anges om auto-upgrade-minor-version är inställt på true . |
--configuration-settings |
Inställningar som kan skickas till tillägget för att styra dess funktioner. Dessa skickas som blankstegsavgränsade key=value par efter parameternamnet. Om den här parametern används i kommandot kan den --configuration-settings-file inte användas i samma kommando. |
--configuration-settings-file |
Sökväg till en JSON-fil med key=value par som ska användas för att skicka konfigurationsinställningar till tillägget. Om den här parametern används i kommandot kan den --configuration-settings inte användas i samma kommando. |
--configuration-protected-settings |
Inställningar som inte kan hämtas med HJÄLP av GET API-anrop eller az k8s-extension show kommandon. Används vanligtvis för att skicka in känsliga inställningar. Dessa skickas som blankstegsavgränsade key=value par efter parameternamnet. Om den här parametern används i kommandot kan den --configuration-protected-settings-file inte användas i samma kommando. |
--configuration-protected-settings-file |
Sökväg till en JSON-fil med key=value par som ska användas för att skicka känsliga inställningar till tillägget. Om den här parametern används i kommandot kan den --configuration-protected-settings inte användas i samma kommando. |
--release-namespace |
Den här parametern anger det namnområde inom vilket versionen ska skapas. Endast relevant om scope är inställt på cluster . |
--release-train |
Tilläggsförfattare kan publicera versioner i olika versionståg, till exempel Stable , Preview osv. Om den här parametern inte anges explicit Stable används som standard. |
--target-namespace |
Anger det namnområde inom vilket versionen ska skapas. Behörigheten för systemkontot som skapats för den här tilläggsinstansen begränsas till det här namnområdet. Endast relevant om scope är inställt på namespace . |
Visa tilläggsinformation
Om du vill visa information om en för närvarande installerad tilläggsinstans använder du k8s-extension show
och skickar in värden för de obligatoriska parametrarna.
az k8s-extension show --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Utdata:
{
"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"
}
Visa en lista över alla tillägg som är installerade i klustret
Om du vill visa en lista över alla tillägg som är installerade i ett kluster använder du k8s-extension list
och skickar in värden för de obligatoriska parametrarna.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Utdata:
[
{
"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"
}
]
Instans av uppdateringstillägg
Kommentar
Se dokumentationen för den specifika tilläggstypen för att förstå de specifika inställningarna i --configuration-settings
och --configuration-protected-settings
som kan uppdateras. För --configuration-protected-settings
förväntas alla inställningar anges, även om endast en inställning uppdateras. Om någon av dessa inställningar utelämnas betraktas dessa inställningar som föråldrade och borttagna.
Om du vill uppdatera en befintlig tilläggsinstans använder du k8s-extension update
och skickar in värden för de obligatoriska och valfria parametrarna. De obligatoriska och valfria parametrarna skiljer sig något från de som används för att skapa en tilläggsinstans.
I det auto-upgrade-minor-version
här exemplet uppdateras inställningen för en Azure Machine Learning-tilläggsinstans till 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
Obligatoriska parametrar för uppdatering
Parameternamn | beskrivning |
---|---|
--name |
Namn på tilläggsinstansen |
--cluster-name |
Namnet på klustret där tilläggsinstansen måste skapas |
--resource-group |
Resursgruppen som innehåller klustret |
--cluster-type |
Den klustertyp som tilläggsinstansen måste skapas på. För Azure Arc-aktiverade Kubernetes-kluster använder du connectedClusters . För AKS-kluster använder du managedClusters . |
Valfria parametrar för uppdatering
Parameternamn | beskrivning |
---|---|
--auto-upgrade-minor-version |
Boolesk egenskap som anger om tilläggets delversion uppgraderas automatiskt. Standardinställningen är true . Om den här parametern är inställd på true kan du inte ange parametern version eftersom versionen uppdateras dynamiskt. Om värdet false är inställt på uppgraderas inte tillägget automatiskt, inte ens för korrigeringsversioner. |
--version |
Version av tillägget som ska installeras (specifik version för att fästa tilläggsinstansen på). Får inte anges om den automatiska uppgraderingsversionen är inställd på true . |
--configuration-settings |
Inställningar som kan skickas till tillägget för att styra dess funktioner. Dessa skickas som blankstegsavgränsade key=value par efter parameternamnet. Om den här parametern används i kommandot kan den --configuration-settings-file inte användas i samma kommando. Endast de inställningar som kräver en uppdatering måste anges. De angivna inställningarna ersätts med de angivna värdena. |
--configuration-settings-file |
Sökväg till JSON-filen med key=value par som ska användas för att skicka in konfigurationsinställningar till tillägget. Om den här parametern används i kommandot kan den --configuration-settings inte användas i samma kommando. |
--configuration-protected-settings |
Inställningar som inte kan hämtas med HJÄLP av GET API-anrop eller az k8s-extension show kommandon. Används vanligtvis för att skicka in känsliga inställningar. Dessa skickas som blankstegsavgränsade key=value par efter parameternamnet. Om den här parametern används i kommandot kan den --configuration-protected-settings-file inte användas i samma kommando. När du uppdaterar en skyddad inställning förväntas alla skyddade inställningar anges. Om någon av dessa inställningar utelämnas betraktas dessa inställningar som föråldrade och borttagna. |
--configuration-protected-settings-file |
Sökväg till en JSON-fil med key=value par som ska användas för att skicka in känsliga inställningar till tillägget. Om den här parametern används i kommandot kan den --configuration-protected-settings inte användas i samma kommando. |
--scope |
Omfång för installation för tillägget – cluster eller namespace . |
--release-train |
Tilläggsförfattare kan publicera versioner i olika versionståg, till exempel Stable , Preview osv. Om den här parametern inte anges explicit Stable används som standard. |
Instans av uppgraderingstillägg
Som tidigare nämnts uppgraderas tillägget automatiskt när en ny delversion släpps om du anger auto-upgrade-minor-version
sant. I de flesta scenarier rekommenderar vi att du aktiverar automatiska uppgraderingar. Om du anger auto-upgrade-minor-version
false måste du uppgradera tillägget manuellt om du vill ha en nyare version.
Manuella uppgraderingar krävs också för att få en ny större instans av ett tillägg. Du kan välja när du ska uppgradera för att undvika oväntade icke-bakåtkompatibla ändringar med större versionsuppgraderingar.
Om du vill uppgradera en tilläggsinstans manuellt använder k8s-extension update
du och anger parametern version
för att ange en version.
I det här exemplet uppdateras en Azure Machine Learning-tilläggsinstans till version x.y.z:
az k8s-extension update --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters --name azureml --version x.y.z
Ta bort tilläggsinstans
Om du vill ta bort en tilläggsinstans i ett kluster använder du k8s-extension delete
och skickar in värden för de obligatoriska parametrarna:
az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Kommentar
Azure-resursen som representerar det här tillägget tas bort omedelbart. Helm-versionen på klustret som är associerat med det här tillägget tas bara bort när agenterna som körs i Kubernetes-klustret har nätverksanslutning och kan kontakta Azure-tjänster igen för att hämta önskat tillstånd.
Nästa steg
- Granska CLI-referensen az k8s-extension för en omfattande lista över kommandon och parametrar.
- Läs mer om hur tillägg fungerar med Arc-aktiverade Kubernetes-kluster.
- Granska de klustertillägg som för närvarande är tillgängliga för Azure Arc-aktiverade Kubernetes.
- Få hjälp med att felsöka tilläggsproblem.