Nexus Kubernetes-cluster bewaken
Elk Nexus Kubernetes-cluster bestaat uit meerdere lagen:
- Virtuele machines (VM's)
- Kubernetes-laag
- Toepassingspods
Afbeelding: Voorbeeld van Nexus Kubernetes-cluster
Op een exemplaar worden Nexus Kubernetes-clusters geleverd met een optionele Oplossing voor waarneembaarheid van Container Insights . Container Insights legt de logboeken en metrische gegevens van Nexus Kubernetes-clusters en -workloads vast. Het is uitsluitend uw beoordelingsvermogen om deze hulpprogramma's in te schakelen of uw eigen telemetriestack te implementeren.
Het Nexus Kubernetes-cluster met het azure-bewakingsprogramma ziet er als volgt uit:
Afbeelding: Nexus Kubernetes-cluster met bewakingshulpprogramma's
Onboarding van extensies met CLI met behulp van verificatie van beheerde identiteiten
Documentatie voor het starten met Azure CLI, het installeren ervan op meerdere besturingssystemen en het installeren van CLI-extensies.
Installeer de nieuwste versie van de benodigde CLI-extensies.
Nexus Kubernetes-cluster bewaken
Deze handleiding bevat stappen voor het inschakelen van bewakingsagents voor het verzamelen van systeemlogboeken van deze VM's met behulp van Azure Monitoring Agent. In de instructies worden details vastgelegd over het instellen van logboekgegevensverzameling in een Log Analytics-werkruimte.
Vereisten
Clusterbeheerder toegang tot het Nexus Kubernetes-cluster.
Als u servers met Azure Arc wilt gebruiken, registreert u de volgende Azure-resourceproviders in uw abonnement:
- Microsoft.HybridCompute
- Microsoft.GuestConfiguration
- Microsoft.HybridConnectivity
Registreer deze resourceproviders als u dit nog niet hebt gedaan:
az account set --subscription "{the Subscription Name}"
az provider register --namespace 'Microsoft.HybridCompute'
az provider register --namespace 'Microsoft.GuestConfiguration'
az provider register --namespace 'Microsoft.HybridConnectivity'
- Wijs indien nodig een Azure-service-principal toe aan de volgende ingebouwde Azure-rollen. Wijs de service-principal toe aan de Azure-resourcegroep waaraan de machines moeten worden gekoppeld:
Role | Nodig om |
---|---|
Resourcebeheerder of inzender voor Azure Connected Machine | Connect Arc-enabled Nexus Kubernetes cluster VM server in the resource group and install the Azure Monitoring Agent (AMA) |
Inzender of inzender bewaken | Een REGEL voor gegevensverzameling (DCR) maken in de resourcegroep en servers met Arc eraan koppelen |
Beheerder van gebruikerstoegang en inzender voor resourcebeleid of inzender | Nodig als u Azure Policy-toewijzingen wilt gebruiken om ervoor te zorgen dat een DCR is gekoppeld aan machines met Arc |
Inzender voor Kubernetes-extensies | Nodig om de K8s-extensie voor Container Insights te implementeren |
Nexus Kubernetes-cluster bewaken
Vereisten
Er zijn bepaalde vereisten die de operator moet garanderen om de bewakingshulpprogramma's op Nexus Kubernetes-clusters te configureren.
Container Insights slaat de gegevens op in een Log Analytics-werkruimte. Logboekgegevens stromen naar de werkruimte waarvan u de resource-id hebt opgegeven tijdens de installatie van de Container Insights-extensie. Anders worden gegevenstrechters weergegeven in een standaardwerkruimte in de resourcegroep die is gekoppeld aan uw abonnement (op basis van de Azure-locatie).
Een voorbeeld voor VS - oost kan er als volgt uitzien:
- Naam van Log Analytics-werkruimte: DefaultWorkspace-GUID-EUS<>
- Resourcegroepnaam: DefaultResourceGroup-EUS
Voer de volgende opdracht uit om een resource-id voor een bestaande Log Analytics-werkruimte op te halen:
az login
az account set --subscription "<Subscription Name or ID the Log Analytics workspace is in>"
az monitor log-analytics workspace show --workspace-name "<Log Analytics workspace Name>" \
--resource-group "<Log Analytics workspace Resource Group>" \
-o tsv --query id
Voor het implementeren van Container Insights en het weergeven van gegevens in de toepasselijke Log Analytics-werkruimte zijn bepaalde roltoewijzingen in uw account vereist. Bijvoorbeeld de roltoewijzing Inzender. Zie de instructies voor het toewijzen van vereiste rollen:
- Rol Log Analytics-inzender : vereiste machtigingen voor het inschakelen van containerbewaking op een CNF-cluster (ingericht).
- Log Analytics Reader-rol : niet-leden van de rol Log Analytics-inzender ontvangen machtigingen om gegevens weer te geven in de Log Analytics-werkruimte zodra u containerbewaking inschakelt.
De clusterextensie installeren
Meld u aan bij Azure Cloud Shell voor toegang tot het cluster:
az login
az account set --subscription "<Subscription Name or ID the Provisioned Cluster is in>"
Implementeer nu de Container Insights-extensie op een ingericht Nexus Kubernetes-cluster met behulp van een van de volgende twee opdrachten:
Met vooraf gemaakte Log Analytics-werkruimte van de klant
az k8s-extension create --name azuremonitor-containers \
--cluster-name "<Nexus Kubernetes cluster Name>" \
--resource-group "<Nexus Kubernetes cluster Resource Group>" \
--cluster-type connectedClusters \
--extension-type Microsoft.AzureMonitor.Containers \
--release-train preview \
--configuration-settings logAnalyticsWorkspaceResourceID="<Log Analytics workspace Resource ID>" \
amalogsagent.useAADAuth=true
De standaard Log Analytics-werkruimte gebruiken
az k8s-extension create --name azuremonitor-containers \
--cluster-name "<Nexus Kubernetes cluster Name>" \
--resource-group "<Nexus Kubernetes cluster Resource Group>" \
--cluster-type connectedClusters \
--extension-type Microsoft.AzureMonitor.Containers \
--release-train preview \
--configuration-settings amalogsagent.useAADAuth=true
Clusterextensie valideren
Valideer de geslaagde implementatie van de activering van bewakingsagents op Nexus Kubernetes-clusters met behulp van de volgende opdracht:
az k8s-extension show --name azuremonitor-containers \
--cluster-name "<Nexus Kubernetes cluster Name>" \
--resource-group "<Nexus Kubernetes cluster Resource Group>" \
--cluster-type connectedClusters
Zoek naar de inrichtingsstatus Geslaagd voor de extensie. De opdracht 'k8s-extension create' heeft mogelijk ook de status geretourneerd.
Logboeken en verzameling metrische gegevens aanpassen
Container Insights biedt eindgebruikers functionaliteit om de verzameling logboeken en metrische gegevens van Nexus Kubernetes-clusters nauwkeurig af te stemmen. Zie de instructies voor het verzamelen van containerinzichtagentgegevens configureren voor meer informatie.
Notitie
Container Insights verzamelt standaard geen logboeken van de kube-system
naamruimte. Als u logboeken uit de kube-system
naamruimte wilt verzamelen, moet u de agent configureren om logboeken van de kube-system
naamruimte te verzamelen.
U kunt dit doen door de kube-system
naamruimte uit het excludedNamespaces
veld in de ConfigMap te verwijderen volgens de configMap
configuratiebenadering .
[log_collection_settings]
[log_collection_settings.stdout]
# In the absence of this configmap, default value for enabled is true
enabled = true
# exclude_namespaces setting holds good only if enabled is set to true
# kube-system,gatekeeper-system log collection are disabled by default in the absence of 'log_collection_settings.stdout' setting. If you want to enable kube-system,gatekeeper-system, remove them from the following setting.
# If you want to continue to disable kube-system,gatekeeper-system log collection keep the namespaces in the following setting and add any other namespace you want to disable log collection to the array.
# In the absence of this configmap, default value for exclude_namespaces = ["kube-system","gatekeeper-system"]
exclude_namespaces = ["gatekeeper-system"]
# If you want to collect logs from only selective pods inside system namespaces add them to the following setting. Provide namespace:controllerName of the system pod. NOTE: this setting is only for pods in system namespaces
# Valid values for system namespaces are: kube-system, azure-arc, gatekeeper-system, kube-public, kube-node-lease, calico-system. The system namespace used should not be present in exclude_namespaces
# collect_system_pod_logs = ["kube-system:coredns"]
[log_collection_settings.stderr]
# Default value for enabled is true
enabled = true
# exclude_namespaces setting holds good only if enabled is set to true
# kube-system,gatekeeper-system log collection are disabled by default in the absence of 'log_collection_settings.stderr' setting. If you want to enable kube-system,gatekeeper-system, remove them from the following setting.
# If you want to continue to disable kube-system,gatekeeper-system log collection keep the namespaces in the following setting and add any other namespace you want to disable log collection to the array.
# In the absence of this configmap, default value for exclude_namespaces = ["kube-system","gatekeeper-system"]
exclude_namespaces = ["gatekeeper-system"]
# If you want to collect logs from only selective pods inside system namespaces add them to the following setting. Provide namespace:controllerName of the system pod. NOTE: this setting is only for pods in system namespaces
# Valid values for system namespaces are: kube-system, azure-arc, gatekeeper-system, kube-public, kube-node-lease, calico-system. The system namespace used should not be present in exclude_namespaces
# collect_system_pod_logs = ["kube-system:coredns"]
Extra resources
- Raadpleeg de documentatie voor werkmappen en vervolgens kunt u Operator Nexus-telemetrievoorbeeldoperator Nexus-werkmappen gebruiken.
- Bekijk Azure Monitor-waarschuwingen, hoe u Azure Monitor-waarschuwingsregels maakt en voorbeeldsjablonen voor Operator Nexus-waarschuwingen gebruikt.