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í
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:
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 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"]
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.