Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, aşağıdaki Azure İzleyici özelliklerini kullanarak Kubernetes kümelerinizin tam olarak izlenmesinin nasıl etkinleştirileceği açıklanır:
- Metrik toplama için Yönetilen Prometheus
- Log toplama için kapsayıcı analizler
- 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 küme aboneliğine ve Azure İzleyici çalışma alanına kaydedilmesi gerekir:
- Microsoft.KonteynerServisi
- Microsoft.Analizler
- Microsoft.AlertsManagement
- Microsoft.Monitor (İngilizce)
- Aşağıdaki kaynak sağlayıcılarının Grafana çalışma alanı aboneliği aboneliğine kayıtlı olması gerekir:
- Microsoft Kontrol Paneli
Arc Özellikli Kubernetes kümeleri ö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-Enabled 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*
ARC özellikli ve Windows düğümleri olan kümeler için, küme içindeki bir Linux düğümünde Azure Managed Prometheus'u kurabilir ve Windows düğümlerinde çalışan ölçüm uç noktalarından metrikleri çekmek için yapılandırabilirsiniz.
Ç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. Log Analytics çalışma alanı mimarisi tasarlama konusundaki yönergeler için, kaç tane çalışma alanı oluşturmanız gerektiği ve bunların nereye yerleştirilmesi gerektiği hakkında bilgi edinin.
Ö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 Managed Grafana'da ölçümleri görüntülemek için Azure Monitor Çalışma Alanınızı bağlamak için Owner düzeyinde izin gerekir. 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. |
Konteyner içgörüleri | Log Analytics çalışma alanı | Aynı Microsoft Entra kiracısında farklı bir Azure aboneliğindeki Log Analytics çalışma alanına küme 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 kümeyi 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 Container Insights tarafından desteklenen bölge eşlemeleri. Çalışma alanını ağ güvenlik çevresi ile yapılandırma yönergeleri için bkz. Ağ Güvenlik Çevresi ile Azure İzleyici'yi yapılandırma. |
Yönetilen Grafana | Azure Yönetimli 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'nın etkinleştirilmesi
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. Bir Grafana çalışma alanını bağlayın için Azure İzleyici çalışma alanınızı ve Azure Yönetilen Grafana çalışma alanınızı bağlama seçeneklerine bakın.
Önemli
Bir şablon veya Azure İlkesi kullanarak dağıtım yaparsanız, Veri Toplama Uç Noktaları, Veri Toplama Kuralları ve Veri Toplama Kuralı İlişkilendirmelerinin
MSProm-<Location of Azure Monitor Workspace>-<Name of cluster resource>
olarak adlandırıldığından emin olun, aksi takdirde ekleme işlemi başarıyla tamamlanmaz.Ö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. Aynı küme bölgesinde yeni bir DCE ve DCRA oluşturun. Yeni DCE'yi kümeyle ilişkilendirin ve yeni DCRA'yi olarak
configurationAccessEndpoint
adlandırın. 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ı henüz mevcut değilse, format olarak DefaultAzureMonitorWorkspace-<mapped_region>
adıyla, DefaultRG-<cluster_region>
adlı bir kaynak grubunda oluşturulacaktır.
Önkoşullar
- 2.49.0 veya üzeri az CLI sürümü gereklidir.
- aks-preview uzantısı, komutu kullanılarak AKS kümelerinden
az extension remove --name aks-preview
. - 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.
İsteğe bağlı parametreler
AKS ve Arc-Enabled Kubernetes komutlarının her biri aşağıdaki isteğe bağlı parametrelere izin verir. Parametre adı her biri için farklıdır, ancak bunların kullanımı aynıdır.
Parametre | Ad ve Açıklama |
---|---|
Açıklama anahtarları | 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çıklamalar metriğidir. 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],... . |
Etiket anahtarları | AKS: --ksm-metric-labels-allow-list Ark: --AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist Kaynağın kube_resource_labels ölçümünde kullanılan daha fazla Kubernetes etiket anahtarını virgülle ayırarak listeleyin. Örneğin, kube_pod_labels, pod kaynağının etiket metriğidir. 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,...],... . |
Kayıt kuralları | 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. |
AKS kümesi
Prometheus ölçümlerini kazıyan ölçümler eklentisini yüklemek için, yeni bir küme oluşturup oluşturmadığınıza veya mevcut bir kümeyi güncellemenize bağlı olarak -enable-azure-monitor-metrics
seçeneği az aks create
veya az aks update
seçeneğini kullanın.
### 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]"
Azure Arc özellikli kümeler için aşağıdaki ek isteğe bağlı parametreler kullanılabilir:
Parametre | Açıklama | Varsayılan | Kaynak Arc kümesi ayarı |
---|---|---|---|
ClusterDistribution |
Kümenin dağılımı. | Azure.Cluster.Distribution |
evet |
CloudEnvironment |
Küme için bulut ortamı. | Azure.Cluster.Cloud |
evet |
MountCATrustAnchorsDirectory |
CA güven kökleri dizininin monte edilip edilmeyeceği. | true |
Hayır |
MountUbuntuCACertDirectory |
Ubuntu CA sertifika dizininin monte edilip edilmeyeceği. |
true bir aks_edge dağıtımı olmadığı sürece. |
Hayı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.
Önemli
Özel bağlantılı tek bir Azure İzleyici Kaynağınız varsa, Azure portalını kullanarak Kapsayıcı içgörülerini etkinleştiremezsiniz. Bkz . Azure İzleyici'de Kubernetes izlemesi için özel bağlantıyı etkinleştirme.
Kapsayıcı içgörülerini ağ güvenlik çevresiyle etkinleştirmek için Log Analytics çalışma alanınızı yapılandırmak amacıyla Ağ Güvenlik Çevresi ile Azure İzleyici'yi Yapılandırma bölümüne 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. Eğer kümenin bölgesinde varsayılan bir çalışma alanı zaten mevcut değilse, DefaultWorkspace-<GUID>-<Region>
formatında bir adla yeni bir çalışma alanı oluşturulacaktır.
Önkoşullar
- Azure CLI sürüm 2.43.0 veya üzeri
- Yönetilen kimlik doğrulaması, varsayılan olarak CLI sürümü 2.49.0 veya üzeri için geçerlidir.
- Azure k8s uzantısı sürüm 1.3.7 veya üzeri
- Yönetilen kimlik doğrulaması, k8s-extension 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
Bir kümeye ContainerLogV2 şemasını, kümenin Veri Toplama Kuralı (DCR) veya ConfigMap'i kullanarak 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"
İleri proxy'ye sahip Arc özellikli küme
Küme bir ileri proxy ile yapılandırılmışsa, proxy 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ı amalogs.ignoreExtensionProxySettings=true
yapılandırma ayarıyla yükleme.
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üğümlerine sahip 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. Bu örnekte amalogs.useAADAuth=false
belirterek eski kimlik doğrulamayı 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 sekmesinde Kapsayıcı Günlüklerini Etkinleştir, Prometheus ölçümlerini etkinleştir, Grafana'yı Etkinleştir ve Önerilen Uyarıları Etkinleştir onay kutuları varsayılan olarak denetlenir.
Mevcut küme (Prometheus, Container insights ve Grafana)
- Azure portalında kümenize gidin.
- Hizmet menüsünde İzleyici>İzleyici Ayarları'nı seçin.
- Prometheus ölçümleri, Grafana ve Kapsayıcı Günlükleri ve olayları sizin için seçilir. Azure İzleyici çalışma alanınız, Grafana çalışma alanınız ve Log Analytics ç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. Günlük profilleri ve Klasik profiller ayarı, izleme maliyetlerinizi azaltmak için varsayılan koleksiyon ayrıntılarını değiştirmenize olanak tanır. Ayrıntılar için Kapsayıcı Insights'ta maliyet optimizasyon ayarlarını etkinleştirme bölümüne bakın.
- Yapılandır öğesini seçin.
Windows ölçüm koleksiyonunu etkinleştirme (önizleme)
Not
windows-exporter-daemonset.yaml dosyasında CPU/Bellek sınırı olmadığı için Windows düğümlerinin aşırı yüklenmesine neden olabilir.
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ı yükleyebilir ve aşırı durumlarda düğümlerin sağlıksız hale gelmesine 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.
AKS düğümlerine Windows ölçümlerine erişmek için windows-exporter uygulamasını el ile yükleyin ve windows-exporter-daemonset YAML dosyasını dağıtın. Aşağıdaki toplayıcıları etkinleştirin:
[defaults]
container
memory
process
cpu_info
Daha fazla toplayıcı için lütfen Windows ölçümleri için Prometheus exporter'a bakınız.
windows-exporter-daemonset YAML dosyasını dağıtın. Düğüm üzerinde uygulanan herhangi bir leke (taint) varsa, uygun toleransları (toleration) uygulamanız gerektiğini unutmayın.
kubectl apply -f windows-exporter-daemonset.yaml
Kümenize ama-metrics-settings-configmap'i uygulayın.
windowsexporter
vewindowskubeproxy
Booleans'ıtrue
olarak ayarlayın. Daha fazla bilgi için Ölçüm eklentisi ayarları yapılandırma haritasına bakınız.Kutudan çıkan panolar için gereken kayıt kurallarını etkinleştirin.
- CLI kullanılarak kurulum yapılıyorsa
--enable-windows-recording-rules
seçeneğini ekleyin. - ARM şablonu, Bicep veya Azure İlkesi kullanarak ekleniyorsanız, parametre dosyasında
enableWindowsRecordingRules
değerinitrue
olarak ayarlayın. - 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 kullanılarak kurulum yapılıyorsa
[Yalnızca ARC özellikli kümelerdeki Windows düğümleri için] ARC özellikli bir küme için Yönetilen Prometheus'ı etkinleştiriyorsanız, Windows düğümlerinde çalışan uç noktalardan ölçümleri kazımak için küme içindeki bir Linux düğümünde çalışan Managed Prometheus'ı yapılandırabilirsiniz. Aşağıdaki kazıma işini ama-metrics-prometheus-config-configmap.yaml dosyasına ekleyin ve yapılandırma haritasını kümenize uygulayın.
scrape_configs:
- job_name: windows-exporter
scheme: http
scrape_interval: 30s
label_limit: 63
label_name_length_limit: 511
label_value_length_limit: 1023
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__meta_kubernetes_node_name]
target_label: instance
- action: keep
source_labels: [__meta_kubernetes_node_label_kubernetes_io_os]
regex: windows
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\:\d+)?
replacement: $$1:9182
kubectl apply -f ama-metrics-prometheus-config-configmap.yaml
Dağıtımı doğrulayın
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
Konteyner 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ğrulayın
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. Kısım addonProfiles
, aşağıdaki örnekte olduğu gibi omsagent
ile ilgili bilgileri içermelidir:
"addonProfiles": {
"omsagent": {
"config": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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ı, Log Analytics çalışma alanını hedef olarak kullanan ve AKS kümesi kaynağıyla ilişkili olan Azure İzleyici aracısı tarafından günlük toplama içindir. |
MSPROM-<aksclusterregion>-<clustername> |
Veri Toplama Kuralı | Kümeyle aynı | Azure İzleyici çalışma alanıyla aynı | Bu veri toplama kuralı, Azure izleyici çalışma alanını hedef olarak seçen ve AKS kümesi kaynağıyla ilişkili olan ölçümler eklentisi tarafından prometheus ölçümlerini toplamak içindir. |
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-çalışmaalanı-adı>_<azuremonitor-çalışmaalanı-bölgesi>_yönetilen | 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-çalışmaalanı-adı>_<azuremonitor-çalışmaalanı-bölgesi>_yönetilen | 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 bir 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 bilgisi mevcut değil.
- 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 portu (:10250) hem Windows düğümü hem de kapsayıcı performansına yönelik ölçüm verilerinin toplanabilmesi için kümenin sanal ağında hem gelen hem de giden yönlerde açık olmalı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.