cAdvisor/Kubelet

Kubelet mengekspos metrik tentang dirinya sendiri serta metrik cAdvisor tentang penampung yang berjalan di node-nya.

Cloud Monitoring menawarkan pengumpulan metrik cAdvisor/Kubelet yang dikelola secara otomatis sebagai alternatif untuk mengonfigurasi integrasi ini. Opsi pengumpulan yang dikelola sepenuhnya menyediakan kumpulan metrik yang dipilih dan memiliki pendapat yang disiapkan di cluster baru secara default.

Integrasi yang dijelaskan dalam dokumen ini menawarkan semua metrik cAdvisor, yang sebagian besar tidak Anda perlukan dan mungkin ingin Anda filter, dan 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 mengetahui informasi selengkapnya, lihat Paket: Metrik cAdvisor/Kubelet.

Jika Anda menyiapkan pengumpulan 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 menggunakan pendekatan yang dijelaskan dalam dokumen ini, Anda dapat mengonfigurasi pengumpulan terkelola untuk otomatis mengambil metrik cAdvisor dan Kubelet dengan mengedit OperatorConfig, bukan menggunakan konfigurasi PodMonitoring kustom. 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 saat, endpoint metrik Kubelet akan di-scrape dan metrik tersebut akan tersedia untuk kueri di Managed Service for Prometheus.

Pengambilan data Kubelet dilengkapi dengan beberapa filter default, dan Anda dapat menambahkan filter tambahan ke bagian collection dari resource OperatorConfig seperti yang ditunjukkan di bawah. 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 di cluster untuk sementara tanpa mengubah resource PodMonitoring apa pun.

Tips untuk penyiapan cAdvisor lanjutan

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

Terutama hindari melampirkan label penampung atau variabel lingkungan Kubernetes ke metrik Anda, dan jika Anda melakukannya, kontrol label ini dengan ketat menggunakan pola daftar yang diizinkan (misalnya, menggunakan bagian metricRelabeling PodMonitoring).

Mengontrol jumlah label yang ditambahkan ke metrik dapat membantu Anda menghindari melampaui batas jumlah label.