cAdvisor/Kubelet

Kubelet menampilkan metrik tentang dirinya sendiri serta metrik cAdvisor tentang container yang berjalan di node-nya.

Cloud Monitoring menawarkan koleksi metrik cAdvisor/Kubelet yang siap pakai sebagai alternatif untuk mengonfigurasi integrasi ini. Opsi pengumpulan yang terkelola sepenuhnya menyediakan kumpulan metrik yang tidak fleksibel dan terseleksi yang disiapkan di cluster baru secara default.

Integrasi yang dijelaskan dalam dokumen ini menawarkan semua metrik cAdvisor, yang sebagian besar tidak diperlukan dan mungkin ingin difilter, serta tersedia untuk Google Kubernetes Engine dan lingkungan Kubernetes lainnya. Kumpulan metrik cAdvisor/Kubelet terkelola telah diseleksi untuk hanya menyediakan metrik yang paling berguna dan hanya tersedia untuk GKE. Untuk informasi selengkapnya, lihat Paket: metrik cAdvisor/Kubelet.

Jika Anda menyiapkan kumpulan metrik cAdvisor seperti yang dijelaskan dalam dokumen ini, konfigurasi akan menggantikan konfigurasi cAdvisor yang dikelola GKE. Konfigurasi yang dijelaskan dalam dokumen ini memungkinkan superset metrik cAdvisor terkelola.

Saat Anda menggunakan pendekatan yang dijelaskan dalam dokumen ini, daripada menggunakan konfigurasi PodMonitoring kustom, Anda dapat mengonfigurasi koleksi terkelola untuk mengekstrak metrik cAdvisor dan Kubelet secara otomatis dengan mengedit OperatorConfig. Anda dapat menginstal manifes dengan menyalinnya ke file lokal, lalu menjalankan kubectl apply -f FILE_NAME. Anda juga dapat menginstal manifes menggunakan Terraform.

  1. Buka resource OperatorConfig untuk mengedit:

    kubectl -n gmp-public edit operatorconfig config
    
  2. Tambahkan bagian collection berikut, yang ditampilkan dalam huruf tebal, ke resource:

    apiVersion: monitoring.googleapis.com/v1
    kind: OperatorConfig
    metadata:
      namespace: gmp-public
      name: config
    collection:
      kubeletScraping:
        interval: 30s
    
  3. Simpan file dan tutup editor.

Setelah beberapa waktu, endpoint metrik Kubelet akan disalin dan metrik akan tersedia untuk pembuatan kueri di Google Cloud Managed Service for Prometheus.

Salinan kubelet dilengkapi dengan beberapa filter default, dan Anda dapat menambahkan filter tambahan ke bagian collection dalam resource OperatorConfig seperti yang ditunjukkan di bawah ini. Bagian konfigurasi filter.matchOneOf memiliki semantik yang sama dengan parameter match[] untuk federasi Prometheus.

Contoh berikut memfilter metrik yang dimulai dengan container_foo atau container_bar:

collection:
  filter:
    matchOneOf:
    - '{__name__!~"container_foo.*|container_bar.*"}'

Anda juga dapat menggunakan filter koleksi OperatorConfig ini untuk tujuan proses debug. Misalnya, Anda mungkin ingin menonaktifkan pengumpulan metrik tertentu untuk sementara di cluster tanpa mengubah resource PodMonitoring apa pun.

Tips untuk penyiapan cAdvisor lanjutan

Jika Anda men-deploy sendiri cAdvisor atau menyediakan konfigurasi lanjutan ke Kubelet dengan cAdvisor, perhatikan bahwa label tambahan dapat dilampirkan menggunakan setelan cAdvisor lanjutan.

Hindari penyertaan label container atau variabel lingkungan Kubernetes ke metrik. Jika Anda melakukannya, kontrol secara ketat label ini dengan menggunakan pola daftar yang diizinkan (misalnya, menggunakan bagian metricRelabeling PodMonitoring).

Mengontrol jumlah label yang ditambahkan ke metrik dapat membantu Anda agar tidak melebihi batas jumlah label.