Dokumen ini membantu Anda memecahkan masalah kemampuan observasi di Google Distributed Cloud Virtual untuk Bare Metal. Jika mengalami salah satu masalah ini, tinjau perbaikan dan solusi yang disarankan.
Jika Anda memerlukan bantuan lainnya, hubungi Dukungan Google.
Cloud Audit Logs tidak dikumpulkan
Cloud Audit Logs diaktifkan secara default, kecuali jika ada flagdisableCloudAuditLogging
yang ditetapkan di bagian clusterOperations
dalam konfigurasi cluster.
Jika Cloud Audit Logs diaktifkan, izin adalah alasan paling umum log tidak dikumpulkan. Dalam skenario ini, pesan error "izin ditolak" ditampilkan di penampung proxy Cloud Audit Logs.
Container proxy Cloud Audit Logs berjalan sebagai DaemonSet di semua Google Distributed Cloud Virtual untuk cluster Bare Metal.Jika Anda melihat 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 dalam cluster dan menghasilkan metrik di hampir semua resource dalam cluster. Jika KSM dan gke-metrics-agent
berjalan di node yang sama, risiko pemadaman layanan di antara agen metrik pada semua node akan lebih besar.
Metrik KSM memiliki nama yang mengikuti pola kube_<ResourceKind>
, seperti
kube_pod_container_info
. Metrik yang dimulai dengan kube_onpremusercluster_
berasal 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. Pastikan Pod KSM tidak dibatasi oleh resource yang tidak cukup.- Jika metrik API ringkasan ini tidak tersedia untuk KSM,
gke-metrics-agent
pada node yang sama mungkin juga memiliki masalah yang sama.
- Jika metrik API ringkasan ini tidak tersedia untuk KSM,
- Di cluster, periksa status dan log Pod KSM dan Pod
gke-metrics-agent
pada node yang sama dengan KSM.
kube-state-metrics
error berulang
Gejala
Tidak ada metrik dari kube-state-metrics
(KSM) yang tersedia dari Cloud Monitoring.
Penyebab
Skenario ini lebih mungkin terjadi pada cluster besar, atau cluster dengan resource dalam jumlah besar. KSM berjalan sebagai Deployment replika tunggal dan mencantumkan hampir semua resource dalam cluster seperti Pod, Deployment, DaemonSets, ConfigMaps, Secret, dan PersistentVolumes. Metrik dibuat di setiap objek resource ini. Jika salah satu resource memiliki banyak objek, seperti cluster dengan lebih dari 10.000 Pod, KSM berpotensi akan kehabisan memori.
Versi yang terpengaruh
Masalah ini mungkin terjadi pada versi Google Distributed Cloud Virtual untuk Bare Metal.
Batas CPU dan memori default telah ditingkatkan dalam beberapa versi terakhir Google Distributed Cloud Virtual untuk Bare Metal, sehingga masalah resource ini seharusnya jarang terjadi.
Perbaikan dan solusi
Untuk memeriksa apakah masalah Anda disebabkan oleh masalah memori habis, tinjau langkah-langkah berikut:
- Gunakan
kubectl describe pod
ataukubectl get pod -o yaml
dan periksa pesan status error. - Periksa metrik pemakaian dan pemanfaatan memori untuk KSM dan konfirmasi apakah sudah mencapai batas sebelum dimulai ulang.
Jika Anda mengonfirmasi bahwa masalahnya adalah memori habis, gunakan salah satu solusi berikut:
Tingkatkan permintaan dan batas memori untuk KSM.
Untuk menyesuaikan CPU dan memori KSM, gunakan resourceOverride resource kustom Stackdriver untuk
kube-state-metrics
.Kurangi jumlah metrik dari KSM.
Untuk Google Distributed Cloud Virtual for Bare Metal 1.13, KSM hanya mengekspos lebih sedikit metrik yang disebut Metrik Inti secara default. Perilaku ini berarti bahwa penggunaan resource lebih kecil daripada versi sebelumnya, tetapi prosedur yang sama dapat diikuti untuk mengurangi jumlah metrik KSM lebih lanjut.
Untuk Google Distributed Cloud Virtual for Bare Metal versi sebelum 1.13, KSM menggunakan flag default. Konfigurasi ini mengekspos sejumlah besar metrik.
gke-metrics-agent
error berulang
Jika gke-metrics-agent
hanya mengalami masalah memori habis pada node yang memiliki kube-state-metrics
, penyebabnya adalah jumlah metrik kube-state-metrics
yang besar. Untuk mengurangi masalah ini, turunkan skala stackdriver-operator
dan ubah
KSM untuk menampilkan kumpulan kecil metrik yang diperlukan seperti yang dijelaskan di bagian sebelumnya.
Ingatlah untuk meningkatkan skala stackdriver-operator
setelah cluster diupgrade ke Google Distributed Cloud Virtual untuk Bare Metal 1.13 karena KSM secara default mengekspos jumlah Core Metrics yang lebih sedikit.
gke-metric-agent
. Anda dapat menyesuaikan CPU dan memori untuk semua Pod gke-metrics-agent
dengan menambahkan kolom resourceAttrOverride
ke resource kustom Stackdriver.
stackdriver-metadata-agent
error berulang
Gejala
Tidak ada label metadata sistem yang tersedia saat memfilter metrik di Cloud Monitoring.
Penyebab
Kasus paling umum dari loop error stackdriver-metadata-agent
adalah karena peristiwa kehabisan memori. Peristiwa ini mirip dengan kube-state-metrics
. Meskipun
stackdriver-metadata-agent
tidak mencantumkan semua resource, kode ini tetap mencantumkan semua
objek untuk jenis resource yang relevan seperti Pod, Deployment, dan
NetworkPolicy. Agen berjalan sebagai Deployment replika tunggal, yang meningkatkan
risiko peristiwa kehabisan memori jika jumlah objek terlalu besar.
Versi yang terpengaruh
Masalah ini mungkin terjadi pada versi Google Distributed Cloud Virtual untuk Bare Metal.
Batas CPU dan memori default telah ditingkatkan dalam beberapa versi terakhir Google Distributed Cloud Virtual untuk Bare Metal, sehingga masalah resource ini seharusnya jarang terjadi.
Perbaikan dan solusi
Untuk memeriksa apakah masalah Anda disebabkan oleh masalah memori habis, tinjau langkah-langkah berikut:
- Gunakan
kubectl describe pod
ataukubectl get pod -o yaml
dan periksa pesan status error. - Periksa metrik pemakaian dan pemakaian memori untuk
stackdriver-metadata-agent
dan konfirmasi apakah sudah mencapai batas sebelum dimulai ulang.
resourceAttrOverride
pada resource kustom Stackdriver.
metrics-server
error berulang
Gejala
Autoscaler Pod Horizontal dan kubectl top
tidak berfungsi di cluster Anda.
Penyebab dan versi yang terpengaruh
Masalah ini tidak terlalu umum, tetapi disebabkan oleh error kehabisan memori dalam cluster besar atau dalam cluster dengan kepadatan Pod yang tinggi.
Masalah ini mungkin terjadi pada versi Google Distributed Cloud Virtual untuk Bare Metal.
Perbaikan dan solusi
Meningkatkan batas resource server metrik.
Di Google Distributed Cloud Virtual for Bare Metal versi 1.13 dan yang lebih baru, namespace metrics-server
dan konfigurasinya telah dipindahkan dari kube-system
ke
gke-managed-metrics-server
.
metrics-server-operator
dan ubah pod metrics-server
secara manual.
Langkah selanjutnya
Jika Anda memerlukan bantuan lainnya, hubungi Dukungan Google.