Monitorování clusteru Nexus Kubernetes

Každý cluster Nexus Kubernetes se skládá z několika vrstev:

  • Virtuální počítače (VM)
  • Vrstva Kubernetes
  • Pody aplikací

Snímek obrazovky s ukázkovým clusterem Nexus Kubernetes

Obrázek: Ukázkový cluster Kubernetes pro Nexus

V instanci se clustery Nexus Kubernetes dodávají s volitelným řešením pozorovatelnosti Container Insights. Container Insights zaznamenává protokoly a metriky z clusterů a úloh Nexus Kubernetes. Je to výhradně podle vašeho uvážení, jestli chcete povolit tento nástroj nebo nasadit vlastní zásobník telemetrie.

Cluster Nexus Kubernetes s nástrojem pro monitorování Azure vypadá takto:

Snímek obrazovky clusteru Nexus Kubernetes s nástroji pro monitorování

Obrázek: Cluster Nexus Kubernetes s nástroji pro monitorování

Onboarding rozšíření pomocí rozhraní příkazového řádku s využitím ověřování spravované identity

Dokumentace pro spuštění Azure CLI, postup instalace v různých operačních systémech a postup instalace rozšíření rozhraní příkazového řádku

Nainstalujte nejnovější verzi potřebných rozšíření rozhraní příkazového řádku.

Monitorování clusteru Nexus Kubernetes

Tento průvodce postupy obsahuje kroky pro povolení agentů monitorování pro shromažďování systémových protokolů z těchto virtuálních počítačů pomocí agenta monitorování Azure. Pokyny dále zaznamenávají podrobnosti o tom, jak nastavit shromažďování dat protokolu do pracovního prostoru služby Log Analytics.

Požadavky

  • Přístup správce clusteru ke clusteru Nexus Kubernetes

  • Pokud chcete používat servery s podporou Azure Arc, zaregistrujte ve svém předplatném následující poskytovatele prostředků Azure:

    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
    • Microsoft.HybridConnectivity

Pokud jste to ještě neudělali, zaregistrujte tyto poskytovatele prostředků:

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'
  • Podle potřeby přiřaďte instanční objekt Azure k následujícím předdefinovaným rolím Azure. Přiřaďte instanční objekt skupině prostředků Azure, která má počítače, které se mají připojit:
Role Potřebné pro
Správce nebo přispěvatel prostředků připojeného počítače Azure Připojení serveru virtuálních počítačů clusteru Nexus Kubernetes s podporou arc ve skupině prostředků a instalaci agenta monitorování Azure (AMA)
Přispěvatel monitorování nebo přispěvatel Vytvořte ve skupině prostředků pravidlo shromažďování dat (DCR) a přidružte k němu servery s podporou Arc.
Správce uživatelských přístupů a přispěvatel nebo přispěvatel zásad prostředků Potřeba, pokud chcete použít přiřazení zásad Azure, abyste zajistili, že je dcR přidružený k počítačům s podporou Arc.
Přispěvatel rozšíření Kubernetes Potřeba k nasazení rozšíření K8s pro Container Insights

Monitorování clusteru Nexus Kubernetes

Požadavky

Operátor musí mít jistotu, že nakonfiguruje monitorovací nástroje v clusterech Kubernetes Nexus.

Container Insights ukládá svá data do pracovního prostoru služby Log Analytics. Protokolují data do pracovního prostoru, jehož ID prostředku jste zadali během instalace rozšíření Container Insights. Jinak se trychtýřová data do výchozího pracovního prostoru ve skupině prostředků přidružené k vašemu předplatnému (na základě umístění Azure).

Příklad pro USA – východ může vypadat takto:

  • Název pracovního prostoru služby Log Analytics: DefaultWorkspace-GUID-EUS<>
  • Název skupiny prostředků: DefaultResourceGroup-EUS

Spuštěním následujícího příkazu získejte ID prostředku existujícího pracovního prostoru služby Log Analytics:

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

Pokud chcete nasadit Container Insights a zobrazit data v příslušném pracovním prostoru služby Log Analytics, musíte mít ve svém účtu určitá přiřazení rolí. Například přiřazení role Přispěvatel. Projděte si pokyny pro přiřazení požadovaných rolí:

  • Role Přispěvatel Log Analytics: Potřebná oprávnění k povolení monitorování kontejnerů v clusteru CNF (zřízeném).
  • Role Čtenář Log Analytics: Nečlenové role přispěvatele Log Analytics obdrží oprávnění k zobrazení dat v pracovním prostoru služby Log Analytics, jakmile povolíte monitorování kontejnerů.

Instalace rozšíření clusteru

Přihlaste se ke službě Azure Cloud Shell pro přístup ke clusteru:

az login

az account set --subscription "<Subscription Name or ID the Provisioned Cluster is in>"

Teď nasaďte rozšíření Container Insights do zřízeného clusteru Nexus Kubernetes pomocí některého z následujících dvou příkazů:

S předem vytvořeným pracovním prostorem Log Analytics zákazníka

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

Použití výchozího pracovního prostoru služby Log Analytics

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

Ověření rozšíření clusteru

Pomocí následujícího příkazu ověřte úspěšné nasazení povolení agentů monitorování v clusterech Nexus Kubernetes:

az k8s-extension show --name azuremonitor-containers \
  --cluster-name "<Nexus Kubernetes cluster Name>" \
  --resource-group "<Nexus Kubernetes cluster Resource Group>" \
  --cluster-type connectedClusters

Vyhledejte stav zřizování úspěšného rozšíření. Příkaz "k8s-extension create" mohl také vrátit stav.

Přizpůsobení shromažďování protokolů a metrik

Container Insights poskytuje funkce koncových uživatelů k vyladění kolekce protokolů a metrik z clusterů Kubernetes Nexus. Další informace najdete v pokynech ke konfiguraci shromažďování dat agenta Container Insights.

Poznámka:

Container Insights ve výchozím nastavení neshromažďuje protokoly z kube-system oboru názvů. Pokud chcete shromažďovat protokoly z kube-system oboru názvů, musíte nakonfigurovat agenta, aby shromažďovali protokoly z kube-system oboru názvů. To lze provést odebráním kube-system oboru názvů z pole v objektu excludedNamespaces ConfigMap podle configMap postupu konfigurace .

[log_collection_settings]
  [log_collection_settings.stdout]
    # In the absense 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 absense 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 namepace: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 absense 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 namepace: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"]

Další zdroje informací

  • Projděte si dokumentaci k sešitům a pak můžete použít ukázkové sešity Operátor Nexus telemetrie Operátor Nexus.
  • Projděte si upozornění služby Azure Monitor, jak vytvořit pravidla upozornění služby Azure Monitor a jak používat ukázkové šablony upozornění Nexus operátora.