Azure Monitor Container Insights voor Azure Arc Kubernetes-clusters

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

Ondersteunde configuraties

  • Azure Monitor Container Insights ondersteunt bewaking Azure Arc Kubernetes met ingeschakelde functionaliteit, zoals beschreven in het artikel Overzicht, met uitzondering van de functie voor livegegevens. Gebruikers zijn ook niet verplicht eigenaarsmachtigingen te hebben om metrische gegevens in te kunnenschakelen
  • Docker, Moby en CRI-compatibele containerruntimes zoals CRI-O en containerd .
  • Uitgaande proxy zonder verificatie en uitgaande proxy met basisverificatie worden ondersteund. Uitgaande proxy die vertrouwde certificaten verwacht, wordt momenteel niet ondersteund.

Notitie

Als u migreert van Container Insights op Azure Red Hat OpenShift v4.x, moet u ook controleren hebben uitgeschakeld voordat u doorgaat met het configureren van Container Insights op kubernetes met Azure Arc ingeschakeld om installatieproblemen te voorkomen.

Vereisten

  • U hebt voldaan aan de vereisten die worden vermeld in de documentatie over algemene clusterextensies.

  • Een Log Analytics-werkruimte: Azure Monitor Container Insights ondersteunt een Log Analytics-werkruimte in de regio's die worden vermeld op de pagina Azure-producten per regio. U kunt uw eigen werkruimte maken via Azure Resource Manager, PowerShellof Azure Portal.

  • U moet de roltoewijzing Inzender hebben voor het Azure-abonnement met Azure Arc Kubernetes-resource met ingeschakelde functie. Als de Log Analytics-werkruimte zich in een ander abonnement heeft, is de roltoewijzing Inzender voor Log Analytics nodig in de Log Analytics-werkruimte.

  • Als u de bewakingsgegevens wilt weergeven, moet u de 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 Een Kubernetes-clusterverbinden met Azure Arc .

    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

    Als uw kubernetes-resource Azure Arc ingeschakeld zich in een Azure-omgeving voor de Amerikaanse overheid, moeten de volgende eindpunten worden ingeschakeld voor uitgaande toegang:

    Eindpunt Poort
    *.ods.opinsights.azure.us 443
    *.oms.opinsights.azure.us 443
    dc.services.visualstudio.com 443
  • Als u eerder Azure Monitor Container Insights op dit cluster hebt geïmplementeerd met behulp van script zonder clusterextensies, volgt u de instructies die hier worden vermeld om deze Helm-grafiek te verwijderen. U kunt vervolgens doorgaan met het maken van een exemplaar van de clusterextensie Azure Monitor Container Insights.

Resource-id van werkruimte identificeren

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

  1. Gebruik de volgende opdracht om alle abonnementen weer te geven waar u toegang toe hebt:

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

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

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

    Zoek in de uitvoer de naam van de werkruimte die van belang is. Het id veld van staat voor de Azure Resource Manager id van die Log Analytics-werkruimte.

    Tip

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

Een extensie-exemplaar maken met behulp van Azure CLI

Optie 1: met standaardwaarden

Voor deze optie worden de volgende standaardwaarden gebruikt:

  • Maakt of gebruikt 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

Optie 2: met een bestaande Azure Log Analytics-werkruimte

U kunt een bestaande Azure Log Analytics-werkruimte gebruiken in elk abonnement waarvoor u de roltoewijzing Inzender of een meer belangrijke rol 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: op Azure Stack Edge

Als het Azure Arc Kubernetes-cluster zich op een Azure Stack Edge, moet er een aangepast pad /home/data/docker voor de mount 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 opgeeft van de extensie die moet worden geïnstalleerd in de opdracht maken, controleert u of de opgegeven versie >= 2.8.2 is.

Een extensie-exemplaar maken met Azure Portal

Belangrijk

Als u Azure Monitor implementeert op een Kubernetes-cluster dat wordt uitgevoerd boven op Azure Stack Edge, moet de Azure CLI-optie worden gevolgd in plaats van de optie Azure Portal, omdat er een aangepast pad voor de clusters moet worden ingesteld.

Onboarding vanaf de Azure Arc kubernetes-resourceblade met ingeschakelde functie

  1. Selecteer in Azure Portal het kubernetes-cluster Azure Arc kubernetes dat u wilt bewaken.

  2. Selecteer het item 'Insights' onder de sectie Bewaking van de resourceblade.

  3. Selecteer op de onboardingpagina de knop Azure Monitor configureren

  4. U kunt nu de Log Analytics-werkruimte kiezen om uw metrische gegevens en logboekgegevens naar te verzenden.

  5. Selecteer de knop Configureren om de clusterextensie Azure Monitor Container Insights implementeren.

Onboarding vanaf Azure Monitor blade

  1. Navigeer Azure Portal de blade 'Monitor' en selecteer de optie 'Containers' in het menu 'Insights'.

  2. Selecteer het tabblad Niet-gecontroleerde clusters om de kubernetes-clusters Azure Arc kubernetes te bekijken die u voor bewaking kunt inschakelen.

  3. Klik op de koppeling 'Inschakelen' naast het cluster voor wie u bewaking wilt inschakelen.

  4. Kies de Log Analytics-werkruimte en selecteer de knop Configureren om door te gaan.

Extensie-exemplaar maken met Azure Resource Manager

  1. Download Azure Resource Manager sjabloon en parameter:

    curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template -o arc-k8s-azmon-extension-arm-template.json
    curl -L https://aka.ms/arc-k8s-azmon-extension-arm-template-params -o  arc-k8s-azmon-extension-arm-template-params.json
    
  2. Werk parameterwaarden bij in het bestand arc-k8s-azmon-extension-arm-template-params.json. Voor de openbare Azure-cloud moet worden gebruikt als de waarde van workspaceDomain en voor AzureUSGovernment moet worden gebruikt als de waarde opinsights.azure.com opinsights.azure.us van workspaceDomain.

  3. De sjabloon implementeren om een container-Azure Monitor te Insights maken

    az login
    az account set --subscription "Subscription Name"
    az deployment group create --resource-group <resource-group> --template-file ./arc-k8s-azmon-extension-arm-template.json --parameters @./arc-k8s-azmon-extension-arm-template-params.json
    

De installatiestatus van de extensie controleren

Zodra u de Azure Monitor-extensie voor uw Kubernetes-cluster met Azure Arc-functie 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' hebben. Als uw status 'Mislukt' heeft of gedurende langere tijd in de status 'In behandeling' blijft, gaat u verder met de onderstaande sectie Probleemoplossing.

Azure Portal

  1. Selecteer in Azure Portal het kubernetes-cluster Azure Arc ingeschakeld met de extensie die wordt geïnstalleerd
  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 status vermeld in de kolom Installatiestatus

Azure CLI

Voer de volgende opdracht uit om de meest recente status van de extensie weer te Microsoft.AzureMonitor.Containers geven

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

Extensie-exemplaar verwijderen

Met de volgende opdracht wordt alleen het extensie-exemplaar verwijderd, maar niet de Log Analytics-werkruimte. 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 de verbinding van uw cluster met Azure > 48 uur is verbroken, heeft Azure Resource Graph geen informatie over uw cluster. Als gevolg hiervan kan de Insights onjuiste informatie over de status van uw cluster weergeven.

Problemen oplossen

Voor problemen met het inschakelen van bewaking hebben we een script voor probleemoplossing geleverd om u te helpen bij het vaststellen van problemen.

Volgende stappen

  • Met bewaking ingeschakeld voor het verzamelen van status- en resourcegebruik van uw Kubernetes-cluster met Azure Arc-ingeschakeld en workloads die op deze clusters 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, met uitzondering van kube-system. Als u het verzamelen van containerlogboek wilt configureren die specifiek is voor bepaalde naamruimtes of naamruimten, controleert u de configuratie van de Container Insights-agent om de gewenste instellingen voor gegevensverzameling te configureren voor het configuratiebestand configMap.

  • Als u metrische Prometheus-gegevens uit uw cluster wilt scrapen en analyseren, bekijkt u Metrische scraping voor Prometheus configureren