Memantau kluster Nexus Kubernetes
Setiap kluster Nexus Kubernetes terdiri dari beberapa lapisan:
- Komputer Virtual (VM)
- Lapisan Kubernetes
- Pod aplikasi
Gambar: Contoh kluster Nexus Kubernetes
Pada instans, kluster Nexus Kubernetes dikirimkan dengan solusi observabilitas Container Insights opsional. Container Insights mengambil log dan metrik dari kluster dan beban kerja Nexus Kubernetes. Ini hanya kebijaksanaan Anda apakah akan mengaktifkan alat ini atau menyebarkan tumpukan telemetri Anda sendiri.
Kluster Nexus Kubernetes dengan alat pemantauan Azure terlihat seperti:
Gambar: Kluster Nexus Kubernetes dengan Alat Pemantauan
Onboarding ekstensi dengan CLI menggunakan autentikasi identitas terkelola
Dokumentasi untuk dimulai dengan Azure CLI, cara menginstalnya di beberapa sistem operasi, dan cara menginstal ekstensi CLI.
Instal versi terbaru ekstensi CLI yang diperlukan.
Memantau kluster Nexus Kubernetes
Panduan cara ini menyediakan langkah-langkah untuk mengaktifkan agen pemantauan untuk pengumpulan log Sistem dari VM ini menggunakan Azure Monitoring Agent. Instruksi selanjutnya menangkap detail tentang cara menyiapkan pengumpulan data log ke ruang kerja Analitik Log.
Prasyarat
Akses administrator kluster ke kluster Nexus Kubernetes.
Untuk menggunakan server dengan dukungan Azure Arc, daftarkan penyedia sumber daya Azure berikut ini di langganan Anda:
- Microsoft.HybridCompute
- Microsoft.GuestConfiguration
- Microsoft.HybridConnectivity
Daftarkan penyedia sumber daya ini, jika tidak dilakukan sebelumnya:
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'
- Tetapkan perwakilan layanan Azure ke peran bawaan Azure berikut, sesuai kebutuhan. Tetapkan perwakilan layanan ke grup sumber daya Azure yang memiliki komputer yang akan disambungkan:
Peran | Diperlukan untuk |
---|---|
Administrator atau Kontributor Sumber Daya Azure Connected Machine | Sambungkan server VM kluster Nexus Kubernetes dengan dukungan Arc di grup sumber daya dan instal Azure Monitoring Agent (AMA) |
Kontributor atau Kontributor Pemantauan | Membuat Aturan Pengumpulan Data (DCR) di grup sumber daya dan mengaitkan server dengan dukungan Arc ke dalamnya |
Administrator Akses Pengguna, dan Kontributor atau Kontributor Kebijakan Sumber Daya | Diperlukan jika Anda ingin menggunakan penetapan kebijakan Azure untuk memastikan bahwa DCR dikaitkan dengan komputer berkemampuan Arc |
Kontributor Ekstensi Kubernetes | Diperlukan untuk menyebarkan ekstensi K8s untuk Container Insights |
Memantau kluster Nexus Kubernetes
Prasyarat
Ada prasyarat tertentu yang harus dipastikan operator untuk mengonfigurasi alat pemantauan pada Kluster Kubernetes Nexus.
Container Insights menyimpan datanya di ruang kerja Analitik Log. Data log mengalir ke ruang kerja yang ID Sumber Dayanya Anda berikan selama penginstalan ekstensi Container Insights. Jika tidak, corong data ke ruang kerja default di grup Sumber Daya yang terkait dengan langganan Anda (berdasarkan lokasi Azure).
Contoh untuk US Timur mungkin terlihat seperti berikut:
- Nama ruang kerja Analitik Log: DefaultWorkspace-GUID-EUS<>
- Nama grup sumber daya: DefaultResourceGroup-EUS
Jalankan perintah berikut untuk mendapatkan ID Sumber Daya ruang kerja Analitik Log yang sudah ada sebelumnya:
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
Untuk menyebarkan Wawasan Kontainer dan melihat data di ruang kerja Analitik Log yang berlaku memerlukan penetapan peran tertentu di akun Anda. Misalnya, penetapan peran "Kontributor". Lihat instruksi untuk menetapkan peran yang diperlukan:
- Peran Kontributor Analitik Log: izin yang diperlukan untuk mengaktifkan pemantauan kontainer pada kluster CNF (disediakan).
- Peran Pembaca Analitik Log: non-anggota peran Kontributor Analitik Log, menerima izin untuk melihat data di ruang kerja Analitik Log setelah Anda mengaktifkan pemantauan kontainer.
Menginstal ekstensi kluster
Masuk ke Azure Cloud Shell untuk mengakses kluster:
az login
az account set --subscription "<Subscription Name or ID the Provisioned Cluster is in>"
Sekarang, sebarkan ekstensi Container Insights pada kluster Nexus Kubernetes yang disediakan menggunakan salah satu dari dua perintah berikutnya:
Dengan ruang kerja Analitik log yang telah dibuat sebelumnya kepada pelanggan
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
Menggunakan ruang kerja analitik Log default
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
Memvalidasi ekstensi Kluster
Validasi keberhasilan penyebaran pengaktifan agen pemantauan pada Kluster Kubernetes Nexus menggunakan perintah berikut:
az k8s-extension show --name azuremonitor-containers \
--cluster-name "<Nexus Kubernetes cluster Name>" \
--resource-group "<Nexus Kubernetes cluster Resource Group>" \
--cluster-type connectedClusters
Cari Status Provisi "Berhasil" untuk ekstensi. Perintah "k8s-extension create" mungkin juga mengembalikan status.
Menyesuaikan pengumpulan log & metrik
Container Insights menyediakan fungsionalitas pengguna akhir untuk menyempurnakan pengumpulan log dan metrik dari Kluster Nexus Kubernetes. Lihat instruksi untuk Mengonfigurasi pengumpulan data agen insight Kontainer untuk informasi selengkapnya.
Catatan
Container Insights tidak mengumpulkan log dari kube-system
namespace secara default. Untuk mengumpulkan log dari kube-system
namespace layanan, Anda harus mengonfigurasi agen untuk mengumpulkan log dari kube-system
namespace.
Ini dapat dilakukan dengan menghapus kube-system
namespace layanan dari excludedNamespaces
bidang di ConfigMap dengan mengikuti configMap
pendekatan konfigurasi .
[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"]
Sumber daya ekstra
- Tinjau dokumentasi buku kerja lalu Anda dapat menggunakan sampel telemetri Operator Nexus Operator buku kerja Nexus.
- Tinjau Pemberitahuan Azure Monitor, cara membuat aturan Pemberitahuan Azure Monitor, dan menggunakan contoh templat Pemberitahuan Nexus Operator.