Aracılığıyla paylaş


Nexus Kubernetes kümesini izleme

Her Nexus Kubernetes kümesi birden çok katmandan oluşur:

  • Sanal Makineler (VM)
  • Kubernetes katmanı
  • Uygulama podları

Örnek Nexus Kubernetes kümesinin ekran görüntüsü.

Şekil: Örnek Nexus Kubernetes kümesi

Bir örnekte, Nexus Kubernetes kümeleri isteğe bağlıbir Container Insights gözlemlenebilirlik çözümüyle sunulur. Container Insights, Nexus Kubernetes kümelerinden ve iş yüklerinden günlükleri ve ölçümleri yakalar. Bu aracı etkinleştirmek veya kendi telemetri yığınınızı dağıtmak yalnızca sizin takdirinize bağlıdır.

Azure izleme aracıyla Nexus Kubernetes kümesi şöyle görünür:

İzleme Araçları ile Nexus Kubernetes kümesinin ekran görüntüsü.

Şekil: İzleme Araçları ile Nexus Kubernetes kümesi

Yönetilen kimlik doğrulaması kullanarak CLI ile uzantı ekleme

Azure CLI ile çalışmaya başlama, birden çok işletim sistemine yükleme ve CLI uzantılarını yükleme belgeleri.

Gerekli CLI uzantılarının en son sürümünü yükleyin.

Nexus Kubernetes kümesini izleme

Bu nasıl yapılır kılavuzu, Azure monitoring Agent kullanarak bu VM'lerden Sistem günlüklerinin toplanması için izleme aracılarını etkinleştirme adımları sağlar. Yönergeler, Log Analytics çalışma alanında günlük verileri toplamanın nasıl ayarlanacağına ilişkin ayrıntıları daha ayrıntılı olarak yakalar.

Önkoşullar

  • Nexus Kubernetes kümesine küme yöneticisi erişimi.

  • Azure Arc özellikli sunucuları kullanmak için aboneliğinize aşağıdaki Azure kaynak sağlayıcılarını kaydedin:

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

Daha önce yapılmadıysa bu kaynak sağlayıcılarını kaydedin:

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'
  • Gerektiğinde aşağıdaki Azure yerleşik rollerine bir Azure hizmet sorumlusu atayın. Hizmet sorumlusunu, bağlanılacak makinelerin yer aldığı Azure kaynak grubuna atayın:
Role Gereken
Azure Bağlı Makine Kaynak Yöneticisi veya Katkıda Bulunanı Arc özellikli Nexus Kubernetes kümesi VM sunucusunu kaynak grubuna bağlama ve Azure İzleme Aracısı'nı (AMA) yükleme
Katkıda Bulunanı veya Katkıda Bulunanı İzleme Kaynak grubunda bir Veri Toplama Kuralı (DCR) oluşturun ve Arc özellikli sunucuları bu kuralla ilişkilendirin
Kullanıcı Erişimi Yöneticisi ve Kaynak İlkesi Katkıda Bulunanı veya Katkıda Bulunanı DCR'nin Arc özellikli makinelerle ilişkilendirildiğinden emin olmak için Azure ilke atamalarını kullanmak istiyorsanız gereklidir
Kubernetes Uzantısı Katkıda Bulunanı Container Insights için K8s uzantısını dağıtmak için gereklidir

Nexus Kubernetes kümesini izleme

Önkoşullar

Operatörün Nexus Kubernetes Kümelerindeki izleme araçlarını yapılandırdığından emin olması gereken bazı önkoşullar vardır.

Container Insights, verilerini bir Log Analytics çalışma alanında depolar. Günlük verileri, Container Insights uzantısının yüklenmesi sırasında kaynak kimliğini sağladığınız çalışma alanına akar. Aksi halde, veri hunileri aboneliğinizle ilişkili Kaynak grubunda (Azure konumuna göre) varsayılan çalışma alanına gelir.

Doğu ABD örneği aşağıdaki gibi görünebilir:

  • Log Analytics çalışma alanı adı: DefaultWorkspace-GUID-EUS<>
  • Kaynak grubu adı: DefaultResourceGroup-EUS

Önceden var olan bir Log Analytics çalışma alanı Kaynak Kimliğini almak için aşağıdaki komutu çalıştırın:

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

Container Insights'ı dağıtmak ve geçerli Log Analytics çalışma alanında verileri görüntülemek için hesabınızda belirli rol atamaları gerekir. Örneğin, "Katkıda Bulunan" rol ataması. Gerekli rolleri atama yönergelerine bakın:

  • Log Analytics Katkıda Bulunanı rolü: CNF (sağlanan) kümesinde kapsayıcı izlemeyi etkinleştirmek için gerekli izinler.
  • Log Analytics Okuyucusu rolü: Log Analytics Katılımcısı rolünün üyesi olmayanlar, kapsayıcı izlemeyi etkinleştirdikten sonra Log Analytics çalışma alanında verileri görüntüleme izinlerini alır.

Küme uzantısını yükleme

Kümeye erişmek için Azure Cloud Shell'de oturum açın:

az login

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

Şimdi, sonraki iki komutu kullanarak sağlanan bir Nexus Kubernetes kümesinde Container Insights uzantısını dağıtın:

Müşteri önceden oluşturulmuş Log analytics çalışma alanıyla

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

Varsayılan Log Analytics çalışma alanını kullanma

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

Küme uzantısını doğrulama

Aşağıdaki komutu kullanarak Nexus Kubernetes Kümelerinde izleme aracılarının etkinleştirmesinin başarılı dağıtımını doğrulayın:

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

Uzantı için "Başarılı" Sağlama Durumu'na bakın. "k8s-extension create" komutu da durumu döndürmüştür.

Günlükleri ve ölçüm koleksiyonunu özelleştirme

Container Insights, Nexus Kubernetes Kümelerinden günlük ve ölçüm koleksiyonunda ince ayar yapmak için son kullanıcılara işlevsellik sağlar. Daha fazla bilgi için Kapsayıcı içgörüleri aracı veri toplamayı yapılandırma yönergelerine bakın.

Not

Container Insights varsayılan olarak ad alanından kube-system günlük toplamaz. Ad alanından kube-system günlükleri toplamak için aracıyı ad alanından kube-system günlükleri toplayacak şekilde yapılandırmanız gerekir. Bu, yapılandırma yaklaşımını kube-system izleyerek configMap ConfigMap'teki alandan excludedNamespaces ad alanı kaldırılarak yapılabilir.

[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"]

Ek kaynaklar

  • Çalışma kitapları belgelerini gözden geçirin ve ardından İşleç Nexus telemetri örneği İşleç Nexus çalışma kitaplarını kullanabilirsiniz.
  • Azure İzleyici Uyarıları'nı gözden geçirin, Azure İzleyici Uyarı kurallarını oluşturma ve örnek Operatör Nexus Uyarısı şablonlarını kullanma.