Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt een extensie in een Kubernetes-cluster met Azure Arc gebruiken voor toegang tot Azure-services en -scenario's. In dit artikel wordt beschreven hoe u extensie-exemplaren maakt en vereiste en optionele parameters instelt, inclusief opties voor updates en configuraties. Je leert ook hoe je extensie-exemplaren kunt weergeven, opsommen, bijwerken en verwijderen.
Lees voordat u begint het overzicht van Kubernetes-clusterextensies met Azure Arc en bekijk de lijst met momenteel beschikbare extensies.
Vereisten
De nieuwste versie van de Azure CLI.
De nieuwste versies van de
connectedk8s
enk8s-extension
Azure CLI-extensies. Voer de volgende opdrachten uit om deze extensies te installeren:az extension add --name connectedk8s az extension add --name k8s-extension
Als de
connectedk8s
extensiesk8s-extension
al zijn geïnstalleerd, controleert u of ze zijn bijgewerkt naar de nieuwste versie met behulp van deze opdrachten:az extension update --name connectedk8s az extension update --name k8s-extension
Een bestaand met Azure Arc verbonden Kubernetes-cluster, met ten minste één knooppunt van het besturingssysteem en het architectuurtype
linux/amd64
. Als u Flux (GitOps) implementeert, kunt u een OP ARM64 gebaseerd cluster gebruiken zonder eenlinux/amd64
knooppunt te gebruiken.- Als u nog geen cluster hebt verbonden, gebruikt u onze quickstart om er een te verbinden.
- Werk uw agents bij naar de nieuwste versie.
Een extensie-exemplaar maken
Gebruik de k8s-extension create
opdracht om een nieuw extensie-exemplaar te maken. Gebruik waarden uit uw scenario voor de vereiste tijdelijke aanduidingen voor parameters.
In dit voorbeeld maakt u een Container Insights in azure Monitor-extensie-exemplaar op een Kubernetes-cluster met 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
Controleer op uitvoer die er als volgt uitziet:
{
"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"
}
Notitie
De service bewaart gevoelige informatie niet langer dan 48 uur. Als Kubernetes-agents met Azure Arc langer dan 48 uur geen netwerkverbinding hebben en niet kan bepalen of er een extensie in het cluster moet worden gemaakt, wordt de extensie overgezet naar een Failed
status. In dat scenario moet u k8s-extension create
opnieuw uitvoeren om een nieuwe Azure-extensieresource te maken.
Er is slechts één Container Insights in de Azure Monitor-extensie vereist per cluster. Voordat u Container Insights installeert via een extensie, moet u eventuele eerdere Helm-grafiekinstallaties van Container Insights verwijderen die geen extensies gebruiken. Voordat u az k8s-extension create
uitvoert, voltooit u de stappen om de Helm-chart te verwijderen.
Vereiste parameters
In de volgende tabel worden parameters beschreven die vereist zijn wanneer u een extensie-exemplaar maakt az k8s-extension create
:
Parameternaam | Beschrijving |
---|---|
--name |
De naam van de extensie-instantie. |
--extension-type |
Het type extensie dat u wilt installeren op het cluster. Bijvoorbeeld Microsoft.AzureMonitor.Containers of microsoft.azuredefender.kubernetes . |
--scope |
Het bereik van de installatie voor de extensie. Gebruik cluster of namespace . |
--cluster-name |
De naam van de Kubernetes-resource met Azure Arc waarop het extensie-exemplaar moet worden gemaakt. |
--resource-group |
De resourcegroep die de Azure Arc-ingeschakelde Kubernetes-resource bevat. |
--cluster-type |
Het clustertype waarop het extensie-exemplaar moet worden gemaakt. Gebruik voor de meeste scenario's connectedClusters het clustertype voor een Kubernetes-cluster met Azure Arc. |
Optionele parameters
U kunt een of meer van deze optionele parameters gebruiken met de vereiste parameters voor uw scenario.
Notitie
U kunt ervoor kiezen om uw extensie-exemplaar automatisch te upgraden naar de nieuwste secundaire en patchversies door in te stellen auto-upgrade-minor-version
op true
. U kunt ook de versie van het extensie-exemplaar handmatig instellen met behulp van de --version
parameter. Het is raadzaam om automatische upgrades in te schakelen voor secundaire en patchversies, zodat u altijd over de nieuwste beveiligingspatches en -mogelijkheden beschikt.
Omdat upgrades van primaire versies belangrijke wijzigingen kunnen bevatten, worden automatische upgrades voor nieuwe primaire versies van een extensie-exemplaar niet ondersteund. U kunt kiezen wanneer u een extensie-exemplaar handmatig wilt upgraden naar een nieuwe primaire versie.
Parameternaam | Beschrijving |
---|---|
--auto-upgrade-minor-version |
Een Booleaanse eigenschap waarmee wordt ingesteld of de secundaire versie van de extensie automatisch wordt bijgewerkt. De standaardinstelling is true . Als deze parameter is ingesteld op true , kunt u de version parameter niet instellen omdat de versie dynamisch wordt bijgewerkt. Als deze parameter is ingesteld op false , wordt de extensie niet automatisch bijgewerkt, zelfs voor patchversies. |
--version |
De versie van de extensie die moet worden geïnstalleerd (de specifieke versie waaraan het extensie-exemplaar moet worden vastgemaakt). U kunt de version parameter niet instellen als auto-upgrade-minor-version deze is ingesteld op true . |
--configuration-settings |
Instellingen die kunnen worden doorgegeven aan de extensie om de functionaliteit ervan te beheren. Deze instellingen worden doorgegeven als door spaties gescheiden key=value paren na de parameternaam. Als deze parameter in de opdracht wordt gebruikt, kunt u --configuration-settings-file niet in dezelfde opdracht doorgeven. |
--configuration-settings-file |
Het pad naar een JSON-bestand met key=value paren die moeten worden gebruikt voor het doorgeven van configuratie-instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, kunt u deze niet gebruiken --configuration-settings in dezelfde opdracht. |
--configuration-protected-settings |
Instellingen die niet kunnen worden opgehaald met GET API-aanroepen of az k8s-extension show opdrachten. Wordt meestal gebruikt om gevoelige instellingen door te geven. Deze instellingen worden doorgegeven als door spaties gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, kunt u deze niet gebruiken --configuration-protected-settings-file in dezelfde opdracht. |
--configuration-protected-settings-file |
Het pad naar een JSON-bestand met key=value paren die moeten worden gebruikt om gevoelige instellingen door te geven aan de extensie. Als deze parameter wordt gebruikt in de opdracht, kunt u deze niet gebruiken --configuration-protected-settings in dezelfde opdracht. |
--release-namespace |
Deze parameter geeft de naamruimte aan waarin de release moet worden gemaakt. Deze parameter is alleen relevant als scope deze is ingesteld op cluster . |
--release-train |
De auteur van een extensie kan versies publiceren in verschillende releasetreinen, zoals Stable of Preview . Als deze parameter niet expliciet is ingesteld, Stable is dit de standaardwaarde. |
--target-namespace |
Geeft de naamruimte aan waarin de release moet worden gemaakt. Machtigingen voor het systeemaccount dat voor dit extensie-exemplaar is gemaakt, is beperkt tot deze naamruimte. Deze instelling is alleen relevant als scope deze is ingesteld op namespace . |
Extensiedetails weergeven
Gebruik de k8s-extension show
opdracht om details van een momenteel geïnstalleerde extensie-instantie weer te geven. Gebruik in de code waarden uit uw scenario voor de vereiste tijdelijke aanduidingen voor parameters.
az k8s-extension show --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Controleer of de uitvoer er als volgt uitziet:
{
"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"
}
Lijst weergeven van alle extensies die op het cluster zijn geïnstalleerd
Gebruik de k8s-extension list
opdracht om een lijst weer te geven van alle extensies die op een cluster zijn geïnstalleerd. Gebruik in de code waarden uit uw scenario voor de vereiste tijdelijke aanduidingen voor parameters.
az k8s-extension list --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Controleer op uitvoer die er als volgt uitziet:
[
{
"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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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"
}
]
Een extensie-exemplaar bijwerken
Notitie
Raadpleeg de documentatie voor het specifieke extensietype voor meer informatie over de specifieke instellingen in --configuration-settings
en --configuration-protected-settings
die kunnen worden bijgewerkt. Geef voor --configuration-protected-settings
alle instellingen, ook als er slechts één instelling wordt bijgewerkt. Als een van deze instellingen wordt weggelaten, worden de weggelaten instellingen als verouderd beschouwd en worden ze verwijderd.
Als u een bestaand extensie-exemplaar wilt bijwerken, gebruikt u k8s-extension update
. Geef waarden door voor de verplichte en optionele parameters. De verplichte en optionele parameters verschillen enigszins van de parameters die u gebruikt om een extensie-exemplaar te maken.
In dit voorbeeld wordt de auto-upgrade-minor-version
instelling voor een Azure Machine Learning-extensie-exemplaar bijgewerkt naar 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
Vereiste parameters voor een update
Parameternaam | Beschrijving |
---|---|
--name |
De naam van de extensie-instantie. |
--cluster-name |
De naam van het cluster waarop het extensie-exemplaar wordt gemaakt. |
--resource-group |
De resourcegroep die het cluster bevat. |
--cluster-type |
Het clustertype waarop het extensie-exemplaar moet worden gemaakt. Gebruik connectedClusters voor Kubernetes-clusters met Azure Arc. Voor AKS-clusters gebruikt u managedClusters . |
Optionele parameters voor een update
Parameternaam | Beschrijving |
---|---|
--auto-upgrade-minor-version |
Een Booleaanse eigenschap die aangeeft of de secundaire extensieversie automatisch wordt bijgewerkt. De standaardinstelling is true . Als deze parameter is ingesteld op true , kunt u de version parameter niet instellen omdat de versie dynamisch wordt bijgewerkt. Als de parameter is ingesteld op false , wordt de extensie niet automatisch bijgewerkt, zelfs voor patchversies. |
--version |
De versie van de extensie die moet worden geïnstalleerd (een specifieke versie waaraan het extensie-exemplaar moet worden vastgemaakt). Mag niet worden opgegeven indien auto-upgrade-minor-version ingesteld op true . |
--configuration-settings |
Instellingen die kunnen worden doorgegeven aan de extensie om de functionaliteit ervan te beheren. Deze instellingen worden doorgegeven als door spaties gescheiden key=value paren na de parameternaam. Als de parameter wordt gebruikt in de opdracht, --configuration-settings-file kan deze niet worden gebruikt in dezelfde opdracht. Alleen de instellingen waarvoor een update is vereist, moeten worden opgegeven. De opgegeven instellingen worden vervangen door de opgegeven waarden. |
--configuration-settings-file |
Het pad naar een JSON-bestand dat paren bevat key=value die moeten worden gebruikt voor het doorgeven van configuratie-instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, kunt u deze niet gebruiken --configuration-settings in dezelfde opdracht. |
--configuration-protected-settings |
Instellingen die niet kunnen worden opgehaald met behulp van GET API-aanroepen of az k8s-extension show opdrachten. Wordt meestal gebruikt om gevoelige instellingen door te geven. Deze instellingen worden doorgegeven als door spaties gescheiden key=value paren na de parameternaam. Als deze parameter wordt gebruikt in de opdracht, kan deze --configuration-protected-settings-file niet worden gebruikt in dezelfde opdracht. Wanneer u een beveiligde instelling bijwerkt, configureert u alle beveiligde instellingen. Als een van de instellingen wordt weggelaten, worden deze instellingen als verouderd beschouwd en worden ze verwijderd. |
--configuration-protected-settings-file |
Het pad naar een JSON-bestand dat paren bevat key=value die moeten worden gebruikt voor het doorgeven van gevoelige instellingen aan de extensie. Als deze parameter wordt gebruikt in de opdracht, kunt u deze niet gebruiken --configuration-protected-settings in dezelfde opdracht. |
--scope |
De omvang van de installatie voor de extensie. Gebruik een van beide: cluster of namespace . |
--release-train |
De auteur van een extensie kan versies publiceren in verschillende releasetreinen, zoals Stable of Preview . Als deze parameter niet expliciet is ingesteld, Stable is dit de standaardwaarde. |
Een extensie-exemplaar upgraden
Zoals eerder is aangegeven, zal de extensie automatisch worden bijgewerkt wanneer er een nieuwe subversie wordt uitgebracht, als auto-upgrade-minor-version
op true is ingesteld. Voor de meeste scenario's raden we u aan automatische upgrades in te schakelen. Als u deze optie instelt auto-upgrade-minor-version
false
, moet u de extensie handmatig upgraden als u een recentere versie wilt.
Handmatige upgrades zijn ook vereist om een nieuw hoofdexemplaar van een extensie te krijgen. U kunt kiezen wanneer u een upgrade wilt uitvoeren om onverwachte wijzigingen in belangrijke versie-upgrades te voorkomen.
Als u een extensie-exemplaar handmatig wilt bijwerken, gebruikt u k8s-extension update
om de version
-parameter in te stellen.
In dit voorbeeld wordt een Azure Machine Learning-extensie-exemplaar bijgewerkt naar versie x.y.z
:
az k8s-extension update --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters --name azureml --version x.y.z
Een extensie-exemplaar verwijderen
Als u een extensie-exemplaar in een cluster wilt verwijderen, gebruikt u de k8s-extension delete
opdracht. Gebruik waarden uit uw scenario voor de vereiste tijdelijke aanduidingen voor parameters.
az k8s-extension delete --name azuremonitor-containers --cluster-name <clusterName> --resource-group <resourceGroupName> --cluster-type connectedClusters
Notitie
De Azure-resource die deze extensie vertegenwoordigt, wordt onmiddellijk verwijderd. De Helm-release op het cluster dat aan deze extensie is gekoppeld, wordt alleen verwijderd wanneer de agents die op het Kubernetes-cluster worden uitgevoerd, netwerkconnectiviteit hebben en Azure-services kunnen bereiken om de gewenste status te krijgen.
Verwante inhoud
- Raadpleeg de naslaginformatie over az k8s-extension CLI voor een uitgebreide lijst met opdrachten en parameters.
- Meer informatie over hoe extensies werken met Kubernetes-clusters met Azure Arc.
- Bekijk clusterextensies die beschikbaar zijn voor Kubernetes met Azure Arc.
- Hulp krijgen bij het oplossen van problemen met extensies.