Kubernetes kümeleri için izlemeyi etkinleştirme
Bu makalede, aşağıdaki Azure İzleyici özelliklerini kullanarak Kubernetes kümelerinizin tam olarak izlenmesinin nasıl etkinleştirileceği açıklanır:
- Ölçüm toplama için Yönetilen Prometheus
- Günlük koleksiyonu için kapsayıcı içgörüleri
- Görselleştirme için Yönetilen Grafana .
Azure portalını kullanarak tüm özellikleri aynı anda etkinleştirebilirsiniz. Ayrıca Azure CLI, Azure Resource Manager şablonu, Terraform veya Azure İlkesi kullanarak bunları tek tek etkinleştirebilirsiniz. Bu yöntemlerin her biri bu makalede açıklanmıştır.
Önemli
Kubernetes kümeleri çok fazla günlük verisi oluşturur ve bu da topladığınız günlükler hakkında seçici değilseniz önemli maliyetlere neden olabilir. Kümeniz için izlemeyi etkinleştirmeden önce, ortamınızın maliyet için en iyi duruma getirildiğinden ve günlük koleksiyonunuzu yalnızca ihtiyacınız olan veriyle sınırlandırdığınızdan emin olmak için aşağıdaki makalelere bakın:
- Veri toplama kuralını kullanarak Kapsayıcı içgörülerinde veri toplamayı ve maliyet iyileştirmeyi yapılandırma
önceden ayarlanmış maliyet iyileştirme yapılandırmalarını kullanma dahil olmak üzere izlemeyi etkinleştirdikten sonra günlük koleksiyonunu özelleştirmeye ilişkin ayrıntılar. - Azure İzleyici ile Kubernetes'i izlemek için en iyi yöntemler
Maliyet iyileştirme dahil olmak üzere Azure İyi Tasarlanmış Çerçeve'nin beş sütunu tarafından düzenlenen Kubernetes kümelerini izlemeye yönelik en iyi yöntemler. - Azure İzleyici'de maliyet iyileştirme
Maliyetlerinizi iyileştirmek ve topladığınız veri miktarını sınırlamak için Azure İzleyici'nin tüm özelliklerini yapılandırmaya yönelik en iyi yöntemler.
Desteklenen kümeler
Bu makalede, aşağıdaki küme türleri için ekleme yönergeleri sağlanır. Her tür için işlemdeki farklar ilgili bölümlerde not edilir.
Önkoşullar
İzinler
- Ekleme için kümeye en az Katkıda Bulunan erişimine ihtiyacınız vardır.
- İzleme etkinleştirildikten sonra verileri görüntülemek için İzleme Okuyucusu veya İzleme Katkıda Bulunanı gerekir.
Yönetilen Prometheus önkoşulları
- Kümenin yönetilen kimlik doğrulaması kullanması gerekir.
- Aşağıdaki kaynak sağlayıcılarının AKS kümesinin ve Azure İzleyici çalışma alanının aboneliğine kaydedilmesi gerekir:
- Microsoft.ContainerService
- Microsoft.Insights
- Microsoft.AlertsManagement
- Microsoft.Monitor
- Aşağıdaki kaynak sağlayıcılarının Grafana çalışma alanı aboneliği aboneliğine kayıtlı olması gerekir:
- Microsoft.Dashboard
Arc Özellikli Kubernetes kümeleri önkoşulları
- Azure Arc özellikli Kubernetes kümesi uzantıları için önkoşullar.
- Azure Arc özellikli Kubernetes ağ gereksinimlerine ek olarak güvenlik duvarı gereksinimlerini de doğrulayın.
- AKS için izlemeyi daha önce yüklediyseniz uzantı yükleme sırasında oluşabilecek sorunların önüne geçmek için, devam etmeden önce izlemeyi devre dışı bıraktığınızdan emin olun.
- Daha önce küme uzantısı olmayan bir betik kullanarak bir kümeye izleme yüklediyseniz bu Helm grafiğini silmek için Kubernetes kümenizin izlenmesini devre dışı bırakma başlığı altındaki yönergeleri izleyin.
Not
Yönetilen Prometheus Arc Özellikli Kubernetes uzantısı aşağıdaki yapılandırmaları desteklemez:
- Azure Red Hat OpenShift (ARO) dahil olmak üzere Red Hat Openshift dağıtımları
- Windows düğümleri
Çalışma Alanları
Aşağıdaki tabloda, Yönetilen Prometheus ve Kapsayıcı içgörülerini desteklemek için gereken çalışma alanları açıklanmaktadır. Her çalışma alanını ekleme işleminin bir parçası olarak oluşturabilir veya var olan bir çalışma alanını kullanabilirsiniz. Oluşturulacak çalışma alanı sayısını ve bunların nereye yerleştirilmesi gerektiğini gösteren yönergeler için bkz . Log Analytics çalışma alanı mimarisi tasarlama.
Özellik | Çalışma alanı | Notlar |
---|---|---|
Yönetilen Prometheus | Azure İzleyici çalışma alanı | Contributor izni, eklentinin Azure İzleyici çalışma alanına veri göndermesini sağlamak için yeterlidir. Azure Yönetilen Grafana'daki ölçümleri görüntülemek için Azure İzleyici Çalışma Alanınızı bağlamak için düzey izni gerekir Owner . Ekleme adımını yürüten kullanıcının ölçümleri sorgulamak için Azure İzleyici Çalışma Alanı'nda Azure Yönetilen Grafana Sistem Kimliği Monitoring Reader rolü verebilmesi gerektiğinden bu gereklidir. |
Kapsayıcı içgörüleri | Log Analytics çalışma alanı | Aks kümesini aynı Microsoft Entra kiracısında farklı bir Azure aboneliğindeki Log Analytics çalışma alanına ekleyebilirsiniz, ancak Azure CLI veya Azure Resource Manager şablonunu kullanmanız gerekir. Bu yapılandırmayı şu anda Azure portalıyla gerçekleştiremezsiniz. Mevcut bir AKS kümesini başka bir abonelikteki Log Analytics çalışma alanına bağlıyorsanız, Microsoft.ContainerService kaynak sağlayıcısının Log Analytics çalışma alanına aboneliğe kayıtlı olması gerekir. Daha fazla bilgi için Kaynak sağlayıcısı kaydetme konusuna bakın. Varsayılan çalışma alanı için kullanılacak desteklenen eşleme çiftlerinin listesi için bkz . Kapsayıcı içgörüleri tarafından desteklenen bölge eşlemeleri. |
Yönetilen Grafana | Azure Yönetilen Grafana çalışma alanı | Kümenizden toplanan Prometheus ölçümlerini Grafana panolarında kullanılabilir hale getirmek için Grafana çalışma alanınızı Azure İzleyici çalışma alanınıza bağlayın. |
Prometheus ve Grafana'yı etkinleştirme
Prometheus ölçümlerinin kümenizden kazınmasını ve Yönetilen Grafana'nın ölçümleri görselleştirmesini sağlamak için aşağıdaki yöntemlerden birini kullanın. Azure İzleyici çalışma alanınızı ve Azure Yönetilen Grafana çalışma alanınızı bağlama seçenekleri için bkz. Grafana çalışma alanını bağlama.
Not
Özel bağlantılı tek bir Azure İzleyici Kaynağınız varsa AKS kümesi ve Azure İzleyici Çalışma Alanı farklı bölgelerdeyse Prometheus etkinleştirmesi çalışmaz. Özel bağlantı kısıtlaması nedeniyle Prometheus eklentisi için gereken yapılandırma bölgeler arası kullanılamaz. Bu sorunu çözmek için AKS kümesi konumunda yeni bir DCE ve aynı AKS kümesi bölgesinde yeni bir DCRA (ilişkilendirme) oluşturun. Yeni DCE'yi AKS kümesiyle ilişkilendirin ve yeni ilişkilendirmeyi (DCRA) configurationAccessEndpoint olarak adlandırın. Azure İzleyici çalışma alanınızla ilişkili DCE'leri veri alımı için Özel Bağlantı kullanacak şekilde yapılandırma hakkında tam yönergeler için bkz. Azure İzleyici'de Kubernetes izlemesi için özel bağlantıyı etkinleştirme.
CLI ile etkinleştirme
Aşağıdaki komutlarda mevcut bir Azure İzleyici çalışma alanını belirtmezseniz, kaynak grubu için varsayılan çalışma alanı kullanılır. Kümenin bölgesinde varsayılan bir çalışma alanı yoksa, biçiminde DefaultAzureMonitorWorkspace-<mapped_region>
adı olan bir çalışma alanı adlı DefaultRG-<cluster_region>
bir kaynak grubunda oluşturulur.
Önkoşullar
- 2.49.0 veya üzeri az CLI sürümü gereklidir.
- aks-preview uzantısı, komutu
az extension remove --name aks-preview
kullanılarak AKS kümelerinden kaldırılmalıdır. - k8s uzantısı uzantısı komutu
az extension add --name k8s-extension
kullanılarak yüklenmelidir. - k8s uzantısı sürüm 1.4.1 veya üzeri gereklidir.
AKS kümesi
Prometheus ölçümlerini -enable-azure-monitor-metrics
kazıyan ölçüm eklentisini yüklemek için veya az aks update
(yeni bir küme oluşturup oluşturmadığınıza veya mevcut bir kümeyi güncelleştirmenize bağlı olarak) seçeneğini az aks create
kullanın.
Örnek komutlar
### Use default Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group>
### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <azure-monitor-workspace-name-resource-id> --grafana-resource-id <grafana-workspace-name-resource-id>
### Use optional parameters
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --ksm-metric-labels-allow-list "namespaces=[k8s-label-1,k8s-label-n]" --ksm-metric-annotations-allow-list "pods=[k8s-annotation-1,k8s-annotation-n]"
Arc özellikli küme
### Use default Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics
## Use existing Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id>
### Use optional parameters
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id> AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList="pods=[k8s-annotation-1,k8s-annotation-n]" AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist "namespaces=[k8s-label-1,k8s-label-n]"
Komutlardan herhangi biri aşağıdaki isteğe bağlı parametreleri kullanabilir:
- AKS:
--ksm-metric-annotations-allow-list
Ark:--AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList
Kaynağın kube_resource_annotations ölçümünde kullanılan Kubernetes ek açıklama anahtarlarının virgülle ayrılmış listesi. Örneğin kube_pod_annotations pod kaynağı için ek açıklama ölçümüdür. Varsayılan olarak, bu ölçüm yalnızca ad ve ad alanı etiketlerini içerir. Daha fazla ek açıklama eklemek için çoğul biçimindeki kaynak adlarının listesini ve bunlara izin vermek istediğiniz Kubernetes ek açıklama anahtarlarını sağlayın. Ek açıklamalara izin vermek için her kaynak için tek bir*
kaynak sağlanabilir, ancak bunun performans açısından ciddi etkileri vardır. Örneğin,pods=[kubernetes.io/team,...],namespaces=[kubernetes.io/team],...
. - AKS:
--ksm-metric-labels-allow-list
Ark:--AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist
Kaynağın kube_resource_labels ölçümü kube_resource_labels ölçümünde kullanılan daha fazla Kubernetes etiket anahtarının virgülle ayrılmış listesi. Örneğin, kube_pod_labels pod kaynağı için etiket ölçümüdür. Varsayılan olarak bu ölçüm yalnızca ad ve ad alanı etiketlerini içerir. Daha fazla etiket eklemek için, çoğul biçimlerinde kaynak adlarının listesini ve bunlara izin vermek istediğiniz Kubernetes etiket anahtarlarını sağlayın Her kaynak için herhangi bir etikete izin vermek için tek bir*
tane sağlanabilir, ancak bunun performans açısından ciddi etkileri vardır. Örneğin,pods=[app],namespaces=[k8s-label-1,k8s-label-n,...],...
. - AKS:
--enable-windows-recording-rules
Windows panolarının düzgün çalışması için gereken kayıt kuralı gruplarını etkinleştirmenize olanak tanır.
Kapsayıcı içgörülerini etkinleştirme
Kümenizde Kapsayıcı içgörülerini etkinleştirmek için aşağıdaki yöntemlerden birini kullanın. Bu işlem tamamlandıktan sonra, gerekenden daha fazla veri toplamadığınızdan emin olmak üzere yapılandırmanızı özelleştirmek için Kapsayıcı içgörüleri için aracı veri koleksiyonunu yapılandırma konusuna bakın.
AKS ve Arc özellikli kümelerinizin izlenmesini etkinleştirmek için aşağıdaki komutlardan birini kullanın. Mevcut bir Log Analytics çalışma alanını belirtmezseniz, kaynak grubu için varsayılan çalışma alanı kullanılır. Kümenin bölgesinde varsayılan bir çalışma alanı yoksa biçiminde bir ad DefaultWorkspace-<GUID>-<Region>
oluşturulur.
Önkoşullar
- Azure CLI sürüm 2.43.0 veya üzeri
- Yönetilen kimlik kimlik doğrulaması, CLI sürüm 2.49.0 veya üzeri için varsayılandır.
- Azure k8s uzantısı sürüm 1.3.7 veya üzeri
- Yönetilen kimlik kimlik doğrulaması, k8s uzantılı sürüm 1.43.0 veya üzeri sürümlerde varsayılandır.
- ARO (Azure Red Hat Openshift) veya Windows düğümleri olan Arc özellikli Kubernetes kümeleri için yönetilen kimlik kimlik doğrulaması desteklenmez. Eski kimlik doğrulamasını kullanın.
- CLI sürüm 2.54.0 veya üzeri için günlük şeması ConfigMap kullanılarak ContainerLogV2 olarak yapılandırılır.
Not
Kümenin Veri Toplama Kuralı 'nı (DCR) veya ConfigMap'i kullanarak bir küme için ContainerLogV2 şemasını etkinleştirebilirsiniz. Her iki ayar da etkinleştirilirse, ConfigMap öncelikli olur. Stdout ve stderr günlükleri yalnızca hem DCR hem de ConfigMap açıkça kapalı olarak ayarlandığında ContainerLog tablosuna alınır.
AKS kümesi
### Use default Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name>
### Use existing Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id>
### Use legacy authentication
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
Örnek
az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
Arc özellikli küme
### Use default Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
### Use existing Log Analytics workspace
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=<workspace-resource-id>
### Use managed identity authentication (default as k8s-extension version 1.43.0)
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 amalogs.useAADAuth=true
### Use advanced configuration settings
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 amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi
### With custom mount path for container stdout & stderr logs
### Custom mount path not required for Azure Stack Edge version > 2318. Custom mount path must be /home/data/docker for Azure Stack Edge cluster with version <= 2318
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 amalogs.logsettings.custommountpath=<customMountPath>
Kullanılabilir yapılandırma ayarları için Helm grafiğinin kaynak istekleri ve sınırları bölümüne bakın.
Örnek
az k8s-extension create --name azuremonitor-containers --cluster-name "my-cluster" --resource-group "my-resource-group" --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID="/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
İletme ara sunucusuna sahip yay özellikli küme
Küme bir iletme proxy'si ile yapılandırılmışsa, ara sunucu ayarları uzantıya otomatik olarak uygulanır. AMPLS + ara sunucu içeren bir küme söz konusu olduğunda, ara sunucu yapılandırması yoksayılmalıdır. Uzantıyı yapılandırma ayarıyla amalogs.ignoreExtensionProxySettings=true
birlikte ekleme.
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 amalogs.ignoreExtensionProxySettings=true
ARO, OpenShift veya Windows düğümleri ile arc özellikli küme
ARO (Azure Red Hat OpenShift) veya OpenShift veya Windows düğümlerine sahip Arc özellikli Kubernetes kümeleri için yönetilen kimlik kimlik doğrulaması desteklenmez. Aşağıdaki örnekte olduğu gibi belirterek amalogs.useAADAuth=false
eski kimlik doğrulamasını kullanın.
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 amalogs.useAADAuth=false
Uzantı örneğini silme
Aşağıdaki komut yalnızca uzantı örneğini siler, ancak Log Analytics çalışma alanını silmez. Log Analytics kaynağındaki veriler olduğu gibi bırakılır.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
Azure portalı ile tam izlemeyi etkinleştirme
Yeni AKS kümesi (Prometheus, Container insights ve Grafana)
Azure portalında yeni bir AKS kümesi oluşturduğunuzda, İzleme sekmesinden Prometheus, Container insights ve Grafana'yı etkinleştirebilirsiniz. Kapsayıcı Günlüklerini Etkinleştir, Prometheus ölçümlerini etkinleştir ve Grafana'yı Etkinleştir onay kutularını işaretlediğinizden emin olun.
Mevcut küme (Prometheus, Container insights ve Grafana)
- Azure portalında AKS kümenize gidin.
- Hizmet menüsündeki İzleme'nin altında İçgörüler>İzlemeyi yapılandır'ı seçin.
- Kapsayıcı içgörüleri zaten etkin. Prometheus ölçümlerini etkinleştir ve Grafana'yı Etkinleştir onay kutularını seçin. Azure İzleyici çalışma alanınız ve Grafana çalışma alanınız varsa bunlar sizin için seçilir.
- Alternatif çalışma alanları seçmek veya yenilerini oluşturmak istiyorsanız Gelişmiş ayarlar'ı seçin. Maliyet ön ayarları ayarı, izleme maliyetlerinizi azaltmak için varsayılan koleksiyon ayrıntılarını değiştirmenize olanak tanır. Ayrıntılar için bkz . Kapsayıcı içgörüleri'nde maliyet iyileştirme ayarlarını etkinleştirme.
- Yapılandır'yı seçin.
Mevcut küme (yalnızca Prometheus)
- Azure portalında AKS kümenize gidin.
- Hizmet menüsündeki İzleme'nin altında İçgörüler>İzlemeyi yapılandır'ı seçin.
- Prometheus ölçümlerini etkinleştir onay kutusunu seçin.
- Alternatif çalışma alanları seçmek veya yenilerini oluşturmak istiyorsanız Gelişmiş ayarlar'ı seçin. Maliyet ön ayarları ayarı, izleme maliyetlerinizi azaltmak için varsayılan koleksiyon ayrıntılarını değiştirmenize olanak tanır.
- Yapılandır'yı seçin.
Windows ölçüm koleksiyonunu etkinleştirme (önizleme)
Not
windows-exporter-daemonset.yaml dosyasında CPU/Bellek sınırı olmadığından Windows düğümlerini aşırı sağlayabilir
Daha fazla ayrıntı için bkz. Kaynak rezervasyonu
İş yüklerini dağıtırken kapsayıcılarda kaynak belleği ve CPU sınırları ayarlayın. Bu, NodeAllocatable'dan da çıkarılır ve küme genelinde zamanlayıcının hangi düğümlere hangi podları yerleştireceklerini belirlemesine yardımcı olur. Sınırsız pod zamanlama, Windows düğümlerini aşırı sağlayabilir ve aşırı durumlarda düğümlerin iyi durumda olmasına neden olabilir.
Yönetilen Prometheus eklenti kapsayıcısının (prometheus_collector) 6.4.0-main-02-22-2023-3ee44b9e sürümünden itibaren AKS kümeleri için Windows ölçüm koleksiyonu etkinleştirilmiştir. Azure İzleyici Ölçümleri eklentisine ekleme, Windows DaemonSet podlarının düğüm havuzlarınızda çalışmaya başlamasını sağlar. Hem Windows Server 2019 hem de Windows Server 2022 desteklenir. Podların Windows düğüm havuzlarınızdan ölçüm toplamasını sağlamak için bu adımları izleyin.
windows-exporter-daemonset YAML dosyasını dağıtarak Windows ölçümlerine erişmek için AKS düğümlerine windows-exporter uygulamasını el ile yükleyin. Aşağıdaki toplayıcıları etkinleştirin:
[defaults]
container
memory
process
cpu_info
Daha fazla toplayıcı için bkz . Windows ölçümleri için Prometheus exporter.
windows-exporter-daemonset YAML dosyasını dağıtın. Düğümde uygulanan herhangi bir renk tonu varsa, uygun toleransları uygulamanız gerektiğini unutmayın.
kubectl apply -f windows-exporter-daemonset.yaml
Kümenize ama-metrics-settings-configmap'i uygulayın. ve
windowskubeproxy
Boolean'larınıwindowsexporter
olaraktrue
ayarlayın. Daha fazla bilgi için bkz . Ölçüm eklentisi ayarları yapılandırma haritası.Kullanıma hazır panolar için gereken kayıt kurallarını etkinleştirin:
- CLI kullanarak ekleniyorsa seçeneğini
--enable-windows-recording-rules
ekleyin. - ARM şablonu, Bicep veya Azure İlkesi kullanarak ekleniyorsa, parametre dosyasında olarak
true
ayarlayınenableWindowsRecordingRules
. - Küme zaten eklendiyse, kural gruplarını oluşturmak için bu ARM şablonunu ve bu parametre dosyasını kullanın. Bu, gerekli kayıt kurallarını ekler ve küme üzerinde bir ARM işlemi değildir ve kümenin geçerli izleme durumunu etkilemez.
- CLI kullanarak ekleniyorsa seçeneğini
Dağıtımı doğrulama
Aracının düzgün dağıtıldığını doğrulamak için kubectl komut satırı aracını kullanın.
Yönetilen Prometheus
DaemonSet'in Linux düğüm havuzlarına düzgün dağıtıldığını doğrulayın
kubectl get ds ama-metrics-node --namespace=kube-system
Pod sayısı, kümedeki Linux düğümlerinin sayısına eşit olmalıdır. Çıktı aşağıdaki örneğe benzemelidir:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-node 1 1 1 1 1 <none> 10h
Windows düğümlerinin düzgün dağıtıldığını doğrulayın
kubectl get ds ama-metrics-win-node --namespace=kube-system
Pod sayısı, kümedeki Windows düğümlerinin sayısına eşit olmalıdır. Çıktı aşağıdaki örneğe benzemelidir:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-win-node 3 3 3 3 3 <none> 10h
Prometheus için iki ReplicaSet'in dağıtıldığını doğrulayın
kubectl get rs --namespace=kube-system
Çıktı aşağıdaki örneğe benzemelidir:
User@aksuser:~$kubectl get rs --namespace=kube-system
NAME DESIRED CURRENT READY AGE
ama-metrics-5c974985b8 1 1 1 11h
ama-metrics-ksm-5fcf8dffcd 1 1 1 11h
Kapsayıcı içgörüleri
DaemonSets'in Linux düğüm havuzlarına düzgün dağıtıldığını doğrulayın
kubectl get ds ama-logs --namespace=kube-system
Pod sayısı, kümedeki Linux düğümlerinin sayısına eşit olmalıdır. Çıktı aşağıdaki örneğe benzemelidir:
User@aksuser:~$ kubectl get ds ama-logs --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs 2 2 2 2 2 <none> 1d
Windows düğümlerinin düzgün dağıtıldığını doğrulayın
kubectl get ds ama-logs-windows --namespace=kube-system
Pod sayısı, kümedeki Windows düğümlerinin sayısına eşit olmalıdır. Çıktı aşağıdaki örneğe benzemelidir:
User@aksuser:~$ kubectl get ds ama-logs-windows --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs-windows 2 2 2 2 2 <none> 1d
Kapsayıcı içgörüleri çözümünün dağıtımını doğrulama
kubectl get deployment ama-logs-rs --namespace=kube-system
Çıktı aşağıdaki örneğe benzemelidir:
User@aksuser:~$ kubectl get deployment ama-logs-rs --namespace=kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
ama-logs-rs 1/1 1 1 24d
CLI ile yapılandırmayı görüntüleme
Çözümün aks show
etkinleştirilip etkinleştirilmediğini, Log Analytics çalışma alanı kaynak kimliğini ve küme hakkındaki özet bilgileri öğrenmek için komutunu kullanın.
az aks show --resource-group <resourceGroupofAKSCluster> --name <nameofAksCluster>
Komut, çözümle ilgili JSON biçimli bilgileri döndürür. bölümünde addonProfiles
aşağıdaki örnekte olduğu gibi ile ilgili omsagent
bilgiler bulunmalıdır:
"addonProfiles": {
"omsagent": {
"config": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"useAADAuth": "true"
},
"enabled": true,
"identity": null
},
}
Sağlanan kaynaklar
İzlemeyi etkinleştirdiğinizde aboneliğinizde aşağıdaki kaynaklar oluşturulur:
Kaynak Adı | Kaynak Türü | Kaynak Grubu | Bölge/Konum | Açıklama |
---|---|---|---|---|
MSCI-<aksclusterregion>-<clustername> |
Veri Toplama Kuralı | Kümeyle aynı | Log Analytics çalışma alanıyla aynı | Bu veri toplama kuralı, Hedef olarak Log Analytics çalışma alanını kullanan ve AKS kümesi kaynağıyla ilişkilendirilmiş Olan Azure İzleyici aracısı tarafından günlük toplamaya yöneliktir. |
MSPROM-<aksclusterregion>-<clustername> |
Veri Toplama Kuralı | Kümeyle aynı | Azure İzleyici çalışma alanıyla aynı | Bu veri toplama kuralı, hedef olarak seçilen Azure izleyici çalışma alanına sahip olan ve AKS kümesi kaynağıyla ilişkilendirilmiş olan ölçüm eklentisine göre prometheus ölçüm koleksiyonuna yöneliktir |
MSPROM-<aksclusterregion>-<clustername> |
Veri Toplama uç noktası | Kümeyle aynı | Azure İzleyici çalışma alanıyla aynı | Bu veri toplama uç noktası, yukarıdaki veri toplama kuralı tarafından ölçüm eklentisinden Prometheus ölçümlerini almak için kullanılır |
Yeni bir Azure İzleyici çalışma alanı oluşturduğunuzda, bunun bir parçası olarak aşağıdaki ek kaynaklar oluşturulur
Kaynak Adı | Kaynak Türü | Kaynak Grubu | Bölge/Konum | Açıklama |
---|---|---|---|---|
<azuremonitor-workspace-name> |
Veri Toplama Kuralı | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | Azure İzleyici Çalışma Alanı ile aynı | Azure İzleyici Çalışma Alanına Uzaktan Yazma için OSS Prometheus sunucusunu kullandığınızda oluşturulan DCR. |
<azuremonitor-workspace-name> |
Veri Toplama Uç Noktası | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | Azure İzleyici Çalışma Alanı ile aynı | Azure İzleyici Çalışma Alanına Uzaktan Yazma için OSS Prometheus sunucusunu kullandığınızda oluşturulan DCE. |
Windows ve Linux kümeleri arasındaki farklar
Windows Server kümesini izleme ile Linux kümesi arasındaki temel farklar şunlardır:
- Windows'un Bellek RSS ölçümü yoktur. Sonuç olarak, Windows düğümleri ve kapsayıcılar için kullanılamaz. Çalışma Kümesi ölçümü kullanılabilir.
- Windows düğümleri için disk depolama kapasitesi bilgileri kullanılamaz.
- Docker ortamları değil yalnızca pod ortamları izlenir.
- Önizleme sürümüyle birlikte en fazla 30 Windows Server kapsayıcısı desteklenir. Bu sınırlama Linux kapsayıcıları için geçerli değildir.
Not
Windows Server 2022 işletim sistemi için kapsayıcı içgörüleri desteği önizleme aşamasındadır.
Kapsayıcılı Linux aracısı (çoğaltma kümesi podu), düğüm ve kapsayıcı performansıyla ilgili ölçümleri toplamak için küme içindeki Kubelet güvenli bağlantı noktasındaki (10250) tüm Windows düğümlerine API çağrıları yapar. Kubelet güvenli bağlantı noktası (:10250) Hem Windows düğümü hem de kapsayıcı performansıyla ilgili ölçüm koleksiyonunun çalışması için kümenin sanal ağında açılmalıdır.
Windows düğümleri olan bir Kubernetes kümeniz varsa, Kubelet güvenli bağlantı noktasının (:10250) kümenin sanal ağında hem gelen hem de giden için açık olduğundan emin olmak için ağ güvenlik grubunu ve ağ ilkelerini gözden geçirin ve yapılandırın.
Sonraki adımlar
- Çözümü eklemeye çalışırken sorunlarla karşılaşırsanız Sorun Giderme kılavuzunu gözden geçirin.
- AKS kümenizin ve üzerinde çalışan iş yüklerinin sistem durumunu ve kaynak kullanımını toplamak için izleme etkinleştirildiğinde Kapsayıcı içgörülerini kullanmayı öğrenin.