Memecahkan masalah kemampuan observasi Google Distributed Cloud

Dokumen ini membantu Anda memecahkan masalah kemampuan observasi di Google Distributed Cloud. Jika Anda mengalami salah satu dari masalah ini, tinjau perbaikan yang disarankan dan .

Jika Anda memerlukan bantuan tambahan, hubungi Dukungan Google.

Cloud Audit Logs tidak dikumpulkan

Cloud Audit Logs diaktifkan secara default kecuali ada Tanda disableCloudAuditLogging disetel di bagian clusterOperations konfigurasi cluster Anda.

Jika Cloud Audit Logs diaktifkan, izin adalah alasan paling umum yang log tidak dikumpulkan. Dalam skenario ini, pesan {i>error<i} izin yang ditolak adalah yang ditampilkan di container proxy Cloud Audit Logs.

Container proxy Cloud Audit Logs berjalan sebagai DaemonSet di semua Google Distributed Cloud klaster.

Jika Anda melihat pesan error izin, ikuti langkah-langkah untuk memecahkan dan menyelesaikan masalah izin.

kube-state-metrics metrik tidak dikumpulkan

kube-state-metrics (KSM) berjalan sebagai Deployment replika tunggal di cluster dan membuat metrik di hampir semua resource di cluster. Ketika KSM dan gke-metrics-agent berjalan di node yang sama, ada risiko pemadaman layanan yang lebih besar di antara agen metrik di semua node.

Metrik KSM memiliki nama yang mengikuti pola kube_<ResourceKind>, seperti kube_pod_container_info. Metrik yang dimulai dengan kube_onpremusercluster_ adalah dari pengontrol cluster lokal, bukan dari KSM.

Jika metrik KSM tidak ada, tinjau langkah-langkah pemecahan masalah berikut:

  • Di Cloud Monitoring, periksa CPU, memori, dan jumlah mulai ulang KSM menggunakan metrik API ringkasan seperti kubernetes.io/anthos/container/... . Ini adalah pipeline terpisah dengan KSM. Memastikan bahwa Pod KSM tidak dibatasi oleh sumber daya yang cukup.
    • Jika metrik API ringkasan ini tidak tersedia untuk KSM, gke-metrics-agent pada {i>node<i} yang sama mungkin juga memiliki masalah yang sama.
  • Di cluster, periksa status dan log Pod KSM dan gke-metrics-agent Pod pada node yang sama dengan KSM.

Pengulangan error kube-state-metrics

Gejala

Tidak ada metrik dari kube-state-metrics (KSM) yang tersedia dan konfigurasi di Cloud Monitoring.

Penyebab

Skenario ini lebih mungkin terjadi dalam klaster besar, atau klaster dengan jumlah resource. KSM berjalan sebagai Deployment replika tunggal dan mencantumkan hampir semua resource dalam cluster seperti Pod, Deployment, DaemonSets, ConfigMaps, Rahasia, dan PersistentVolume. Metrik dibuat di setiap resource ini objek terstruktur dalam jumlah besar. Jika salah satu resource memiliki banyak objek, seperti cluster dengan lebih dari 10.000 Pod, KSM berpotensi kehabisan memori.

Versi yang terpengaruh

Masalah ini dapat dialami pada versi Google Distributed Cloud apa pun.

Batas CPU dan memori default telah ditingkatkan dalam beberapa versi Google Distributed Cloud, sehingga masalah resource ini seharusnya jarang terjadi.

Perbaikan dan solusi

Untuk memeriksa apakah masalah Anda karena masalah kehabisan memori, tinjau langkah-langkah berikut:

  • Gunakan kubectl describe pod atau kubectl get pod -o yaml dan periksa error pesan status.
  • Periksa metrik pemakaian dan pemakaian memori untuk KSM dan konfirmasi apakah sudah mencapai batas sebelum dimulai ulang.

Jika Anda memastikan bahwa masalahnya adalah masalah memori, gunakan salah satu solusi berikut:

  • Meningkatkan permintaan dan batas memori untuk KSM.

  • Kurangi jumlah metrik dari KSM.

    Untuk Google Distributed Cloud 1.13, KSM hanya mengekspos metrik dalam jumlah lebih sedikit yang disebut Metrik Inti secara default. Perilaku ini berarti bahwa penggunaan sumber daya lebih kecil dari versi sebelumnya, tetapi prosedur yang sama dapat diikuti untuk akan mengurangi jumlah metrik KSM.

    Untuk versi Google Distributed Cloud sebelum 1.13, KSM menggunakan flag. Konfigurasi ini mengekspos metrik dalam jumlah besar.

Pengulangan error gke-metrics-agent

Jika gke-metrics-agent hanya mengalami masalah memori habis di node tempat kube-state-metrics ada, penyebabnya adalah banyak kube-state-metrics metrik. Untuk mengurangi masalah ini, perkecil stackdriver-operator dan ubah KSM untuk menampilkan serangkaian kecil metrik yang diperlukan seperti yang dijelaskan di bagian sebelumnya. Jangan lupa untuk meningkatkan skala stackdriver-operator setelah cluster diupgrade ke Google Distributed Cloud 1.13, di mana KSM secara default mengekspos jumlah Core Metrik.

Untuk masalah yang tidak terkait dengan peristiwa kehabisan memori, periksa log Pod dari gke-metric-agent. Anda dapat menyesuaikan CPU dan memori untuk semua gke-metrics-agent Pod dengan menambahkan Kolom resourceAttrOverride ke resource kustom Stackdriver.

Pengulangan error stackdriver-metadata-agent

Gejala

Tidak ada label metadata sistem yang tersedia saat memfilter metrik di Cloud Monitoring.

Penyebab

Kasus yang paling umum dari loop error stackdriver-metadata-agent adalah karena peristiwa kehabisan memori. Acara ini mirip dengan kube-state-metrics. Meskipun stackdriver-metadata-agent tidak mencantumkan semua materi, tetap mencantumkan semua objek untuk jenis resource yang relevan seperti Pod, Deployment, dan NetworkPolicy. Agen berjalan sebagai Deployment replika tunggal, yang meningkatkan risiko kehabisan memori jika jumlah objek terlalu besar.

Versi yang terpengaruh

Masalah ini dapat dialami pada versi Google Distributed Cloud apa pun.

Batas CPU dan memori default telah ditingkatkan dalam beberapa versi Google Distributed Cloud, sehingga masalah resource ini seharusnya jarang terjadi.

Perbaikan dan solusi

Untuk memeriksa apakah masalah Anda karena masalah kehabisan memori, tinjau langkah-langkah berikut:

  • Gunakan kubectl describe pod atau kubectl get pod -o yaml dan periksa error pesan status.
  • Periksa metrik pemakaian dan pemakaian memori untuk stackdriver-metadata-agent dan konfirmasi apakah sudah mencapai batas sebelum dimulai ulang.
Jika Anda mengonfirmasi bahwa masalah kehabisan memori menyebabkan masalah, tingkatkan batas memori di Kolom resourceAttrOverride dari resource kustom Stackdriver.

Pengulangan error metrics-server

Gejala

Horizontal Pod Autoscaler dan kubectl top tidak berfungsi di cluster Anda.

Penyebab dan versi yang terpengaruh

Masalah ini tidak terlalu umum, tetapi disebabkan oleh error kehabisan memori atau dalam cluster dengan kepadatan Pod yang tinggi.

Masalah ini dapat dialami pada versi Google Distributed Cloud apa pun.

Perbaikan dan solusi

Meningkatkan batas resource server metrik. Di Google Distributed Cloud versi 1.13 dan yang lebih baru, namespace metrics-server dan konfigurasinya telah dipindahkan dari kube-system ke gke-managed-metrics-server.

Untuk Google Distributed Cloud, pengeditan konfigurasi pengasuh akan dikembalikan jika ada pembaruan atau upgrade cluster. Anda harus mengajukan permohonan kembali perubahan konfigurasi. Untuk mengatasi keterbatasan ini, memperkecil metrics-server-operator dan mengubah pod metrics-server secara manual.

Langkah selanjutnya

Jika Anda memerlukan bantuan tambahan, hubungi Dukungan Google.