Azure Monitor Container Insights voor Kubernetes-clusters met Azure Arc

Azure Monitor Container Insights biedt uitgebreide bewakingservaring voor Kubernetes-clusters met Azure Arc.

Ondersteunde configuraties

  • Azure Monitor Container Insights biedt ondersteuning voor het bewaken van Kubernetes met Azure Arc, zoals beschreven in het artikel Overzicht , met uitzondering van de functie voor livegegevens. Gebruikers hoeven ook geen eigenaarsmachtigingen te hebben om metrische gegevens in te schakelen
  • Docker, Mobyen met CRI compatibele containerruntimes, zoals CRI-O en containerd.
  • Uitgaande proxy zonder verificatie en uitgaande proxy met basisverificatie worden ondersteund. Uitgaande proxy die verwacht dat vertrouwde certificaten momenteel niet worden ondersteund.

Notitie

Als u migreert van Container Insights op Azure Red Hat OpenShift v4.x, moet u er ook voor zorgen dat u bewaking hebt uitgeschakeld voordat u doorgaat met het configureren van Container Insights in Kubernetes met Azure Arc om installatieproblemen te voorkomen.

Vereisten

  • Vereisten die worden vermeld in de documentatie voor algemene clusterextensies.

  • Log Analytics-werkruimte. Azure Monitor Container Insights ondersteunt een Log Analytics-werkruimte in de regio's die worden vermeld onder Azure-producten per regiopagina. U kunt uw eigen werkruimte maken met behulp van Azure Resource Manager, PowerShell of Azure Portal.

  • Roltoewijzing van inzender in het Azure-abonnement met de Kubernetes-resource met Azure Arc. Als de Log Analytics-werkruimte zich in een ander abonnement bevindt, is roltoewijzing van Log Analytics-inzender nodig in de Log Analytics-werkruimte.

  • Als u de bewakingsgegevens wilt weergeven, moet u roltoewijzing van Log Analytics-lezer hebben in de Log Analytics-werkruimte.

  • De volgende eindpunten moeten worden ingeschakeld voor uitgaande toegang, naast de eindpunten die worden vermeld onder het verbinden van een Kubernetes-cluster met Azure Arc.

    Openbare Azure-cloud

    Eindpunt Poort
    *.ods.opinsights.azure.com 443
    *.oms.opinsights.azure.com 443
    dc.services.visualstudio.com 443
    *.monitoring.azure.com 443
    login.microsoftonline.com 443

    De volgende tabel bevat de aanvullende firewallconfiguratie die is vereist voor verificatie van beheerde identiteiten.

    Agentresource Doel Poort
    global.handler.control.monitor.azure.com Toegangsbeheerservice 443
    <cluster-region-name>.handler.control.monitor.azure.com Regels voor het verzamelen van gegevens ophalen voor een specifiek AKS-cluster 443

    Azure Government cloud

    Als uw Kubernetes-resource met Azure Arc zich in de Azure US Government-omgeving bevindt, moeten de volgende eindpunten zijn ingeschakeld voor uitgaande toegang:

    Eindpunt Poort
    *.ods.opinsights.azure.us 443
    *.oms.opinsights.azure.us 443
    dc.services.visualstudio.com 443

    De volgende tabel bevat de aanvullende firewallconfiguratie die is vereist voor verificatie van beheerde identiteiten.

    Agentresource Doel Poort
    global.handler.control.monitor.azure.cn Toegangsbeheerservice 443
    <cluster-region-name>.handler.control.monitor.azure.cn Regels voor het verzamelen van gegevens ophalen voor een specifiek AKS-cluster 443
  • Als u een cluster met Arc op AKS gebruikt en eerder bewaking voor AKS hebt geïnstalleerd, moet u ervoor zorgen dat u bewaking hebt uitgeschakeld voordat u doorgaat om problemen tijdens de installatie van de extensie te voorkomen

  • Als u Azure Monitor Container Insights eerder op dit cluster hebt geïmplementeerd met behulp van scripts zonder clusterextensies, volgt u de instructies die hier worden vermeld om deze Helm-grafiek te verwijderen. Vervolgens kunt u doorgaan met het maken van een clusterextensie-exemplaar voor Azure Monitor Container Insights.

Resource-id van werkruimte identificeren

Voer de volgende opdrachten uit om de volledige Azure Resource Manager-id van de Log Analytics-werkruimte te vinden.

  1. Vermeld alle abonnementen waartoe u toegang hebt met behulp van de volgende opdracht:

    az account list --all -o table
    
  2. Schakel over naar het abonnement dat als host fungeert voor de Log Analytics-werkruimte met behulp van de volgende opdracht:

    az account set -s <subscriptionId of the workspace>
    
  3. In het volgende voorbeeld ziet u de lijst met werkruimten in uw abonnementen in de standaard-JSON-indeling.

    az resource list --resource-type Microsoft.OperationalInsights/workspaces -o json
    

    Zoek in de uitvoer de naam van de werkruimte. Het id veld hiervan vertegenwoordigt de Azure Resource Manager-id van die Log Analytics-werkruimte.

    Tip

    U vindt dit id ook op de blade Overzicht van de Log Analytics-werkruimte via de Azure Portal.

Extensie-exemplaar maken

Optie 1: met standaardwaarden

Deze optie maakt gebruik van de volgende standaardwaarden:

  • Hiermee maakt of gebruikt u een bestaande standaard log analytics-werkruimte die overeenkomt met de regio van het cluster
  • Automatische upgrade is ingeschakeld voor de Azure Monitor-clusterextensie
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers

Als u verificatie van beheerde identiteiten (preview) wilt gebruiken, voegt u de configuration-settings parameter toe zoals in het volgende:

az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings omsagent.useAADAuth=true

Optie 2: met bestaande Azure Log Analytics-werkruimte

U kunt een bestaande Azure Log Analytics-werkruimte gebruiken in elk abonnement waarvoor u inzender of een meer permissieve roltoewijzing hebt.

az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<armResourceIdOfExistingWorkspace>

Optie 3: met geavanceerde configuratie

Als u de standaardresourceaanvragen en -limieten wilt aanpassen, kunt u de geavanceerde configuratie-instellingen gebruiken:

az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings  omsagent.resources.daemonset.limits.cpu=150m omsagent.resources.daemonset.limits.memory=600Mi omsagent.resources.deployment.limits.cpu=1 omsagent.resources.deployment.limits.memory=750Mi

Bekijk de sectie resourceaanvragen en limieten van de Helm-grafiek voor de beschikbare configuratie-instellingen.

Optie 4: in Azure Stack Edge

Als het Kubernetes-cluster met Azure Arc zich in Azure Stack Edge bevindt, moet er een aangepast koppelpad /home/data/docker worden gebruikt.

az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings omsagent.logsettings.custommountpath=/home/data/docker

Notitie

Als u expliciet de versie van de extensie opgeeft die moet worden geïnstalleerd in de opdracht maken, moet u ervoor zorgen dat de opgegeven versie = 2.8.2 is >.

De installatiestatus van de extensie controleren

Zodra u de Azure Monitor-extensie voor uw Kubernetes-cluster met Azure Arc hebt gemaakt, kunt u ook de status van de installatie controleren met behulp van de Azure Portal of CLI. Geslaagde installaties moeten de status 'Geïnstalleerd' weergeven. Als uw status 'Mislukt' weergeeft of gedurende lange tijd de status In behandeling heeft, gaat u verder met de sectie Probleemoplossing hieronder.

  1. Selecteer in de Azure Portal het Kubernetes-cluster met Azure Arc bij de installatie van de extensie
  2. Selecteer het item Extensies onder de sectie Instellingen van de resourceblade
  3. Als het goed is, ziet u een extensie met de naam 'azuremonitor-containers' vermeld, met de vermelde status in de kolom 'Installatiestatus'

Migreren naar verificatie van beheerde identiteit (preview)

Gebruik de stroomrichtlijnen om een bestaand extensie-exemplaar te migreren naar verificatie van beheerde identiteiten (preview).

Haal eerst de Log Analytics-werkruimte op die is geconfigureerd voor de Container Insights-extensie.

az k8s-extension show --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters -n azuremonitor-containers 

Schakel de Container Insights-extensie in met de optie voor verificatie van beheerde identiteiten met behulp van de werkruimte die in de eerste stap is geretourneerd.

az k8s-extension create --name azuremonitor-containers --cluster-name \<cluster-name\> --resource-group \<resource-group\> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings omsagent.useAADAuth=true logAnalyticsWorkspaceResourceID=\<workspace-resource-id\> 

Extensie-exemplaar verwijderen

Met de volgende opdracht wordt alleen het extensie-exemplaar verwijderd, maar wordt de Log Analytics-werkruimte niet verwijderd. De gegevens in de Log Analytics-resource blijven intact.

az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>

Niet-verbonden cluster

Als uw cluster gedurende 48 uur is losgekoppeld van Azure>, heeft Azure Resource Graph geen informatie over uw cluster. Als gevolg hiervan kan de blade Inzichten onjuiste informatie over de status van uw cluster weergeven.

Problemen oplossen

Voor problemen met het inschakelen van bewaking hebben we een script voor probleemoplossing opgegeven om eventuele problemen vast te stellen.

Volgende stappen

  • Als bewaking is ingeschakeld voor het verzamelen van status- en resourcegebruik van uw Kubernetes-cluster met Azure Arc en workloads die hierop worden uitgevoerd, leert u hoe u Container Insights gebruikt .

  • De containeragent verzamelt standaard de containerlogboeken stdout/stderr van alle containers die worden uitgevoerd in alle naamruimten, behalve kube-system. Als u containerlogboekverzameling wilt configureren die specifiek is voor bepaalde naamruimten of naamruimten, controleert u de configuratie van de Container Insights-agent om de gewenste instellingen voor gegevensverzameling te configureren in het configuratiebestand ConfigMap.

  • Als u metrische Prometheus-metrische gegevens uit uw cluster wilt scrapen en analyseren, raadpleegt u Metrische gegevens van Prometheus configureren