Penggunaan database etcd yang tinggi dapat menyebabkan ketidakstabilan cluster dan kekurangan resource yang mencegah cluster Google Kubernetes Engine (GKE) Anda melakukan penskalaan secara efektif.
Gunakan dokumen ini untuk mempelajari cara mengidentifikasi cluster yang penggunaan etcd-nya mendekati batas dan menemukan rekomendasi untuk mengosongkan ruang, sehingga membantu memastikan cluster Anda tetap stabil.
Informasi ini penting bagi admin dan operator Platform yang bertanggung jawab untuk menjaga kesehatan dan skalabilitas cluster GKE. Untuk mengetahui informasi selengkapnya tentang peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Peran dan tugas pengguna GKE umum.
Dokumen ini membahas pemecahan masalah stabilitas cluster yang terkait dengan penggunaan etcd yang tinggi. Jika Anda mengalami masalah skalabilitas yang berbeda, salah satu dokumen berikut mungkin dapat membantu:
Masalah cluster autoscaler:
- Untuk memecahkan masalah mengapa node baru tidak ditambahkan, lihat Memecahkan masalah penskalaan autoscaler cluster.
- Untuk memecahkan masalah mengapa node yang kurang dimanfaatkan tidak dihapus, lihat Memecahkan masalah autoscaler cluster yang tidak menurunkan skala.
Masalah Horizontal Pod Autoscaler: untuk memecahkan masalah mengapa Horizontal Pod Autoscaler Anda tidak berfungsi, lihat Memecahkan masalah penskalaan otomatis Pod horizontal.
Masalah penskalaan Autopilot: untuk mengetahui informasi selengkapnya tentang masalah khusus Autopilot, termasuk yang terkait dengan penskalaan, lihat Memecahkan masalah cluster Autopilot.
Mengidentifikasi cluster yang penggunaan etcd-nya hampir mencapai batas
GKE memberikan insight dan rekomendasi untuk skenario saat penggunaan etcd mendekati batas. Anda dapat menemukan insight dan rekomendasi ini dengan cara berikut:
- Gunakan Google Cloud console. Buka halaman cluster Kubernetes. Di kolom Notifikasi untuk cluster tertentu, periksa rekomendasi Kosongkan ruang untuk mengurangi risiko ketidakstabilan cluster.
Gunakan gcloud CLI atau Recommender API dengan menentukan subjenis recommender
ETCD_DB_USAGE_APPROACHING_LIMIT
.Untuk membuat kueri rekomendasi ini, jalankan perintah berikut:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:ETCD_DB_USAGE_APPROACHING_LIMIT"
Untuk menerapkan rekomendasi ini, hapus data yang tidak diperlukan dari etcd untuk mengosongkan ruang penyimpanan. Hal ini mungkin melibatkan penghapusan resource lama atau pemindahan objek besar dari etcd. Untuk mengetahui informasi selengkapnya, lihat Merencanakan cluster GKE besar.
Mengidentifikasi cluster yang penggunaan penyimpanan per jenis objeknya hampir mencapai batas
GKE memberikan insight dan rekomendasi untuk skenario saat ukuran total objek etcd per jenis mendekati batas. Anda dapat menemukan insight dan rekomendasi ini dengan cara berikut:
- Gunakan Google Cloud console. Buka halaman cluster Kubernetes. Di kolom Notifikasi untuk cluster tertentu, periksa rekomendasi Kurangi ukuran jenis resource.
Gunakan gcloud CLI atau Recommender API dengan menentukan subjenis recommender
APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT
.Untuk membuat kueri rekomendasi ini, jalankan perintah berikut:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT"
Untuk memutuskan objek mana yang akan dihapus, Anda dapat menggunakan kubectl untuk mencantumkannya. Misalnya, jika ConfigMap hampir mencapai batas penyimpanan, perintah berikut akan menampilkan semua ConfigMap di semua namespace, sehingga membantu Anda mengidentifikasi kandidat untuk dihapus:
kubectl get configmaps --all-namespaces > new_file.txt
Untuk menerapkan rekomendasi ini dan mengosongkan ruang, hapus objek yang tidak diperlukan dari jenis yang ditentukan dari penyimpanan. Proses ini mungkin melibatkan penghapusan resource lama atau memindahkan objek besar dari penyimpanan. Untuk mengetahui informasi selengkapnya, lihat Merencanakan cluster GKE besar.
Langkah berikutnya
Jika Anda tidak dapat menemukan solusi untuk masalah Anda dalam dokumentasi, lihat Mendapatkan dukungan untuk mendapatkan bantuan lebih lanjut, termasuk saran tentang topik berikut:
- Membuka kasus dukungan dengan menghubungi Layanan Pelanggan Cloud.
- Mendapatkan dukungan dari komunitas dengan
mengajukan pertanyaan di StackOverflow
dan menggunakan tag
google-kubernetes-engine
untuk menelusuri masalah serupa. Anda juga dapat bergabung ke#kubernetes-engine
channel Slack untuk mendapatkan dukungan komunitas lainnya. - Membuka bug atau permintaan fitur menggunakan issue tracker publik.