Halaman ini menjelaskan metrik dan dasbor yang tersedia untuk memantau latensi startup workload Google Kubernetes Engine (GKE) dan node cluster yang mendasarinya. Anda dapat menggunakan metrik untuk melacak, memecahkan masalah, dan mengurangi latensi startup.
Halaman ini ditujukan untuk admin dan operator Platform yang perlu memantau dan mengoptimalkan latensi startup workload mereka. Untuk mempelajari lebih lanjut peran umum yang kita referensikan dalam konten Google Cloud , lihat Tugas dan peran pengguna GKE Enterprise umum.
Ringkasan
Latensi startup secara signifikan memengaruhi cara aplikasi Anda merespons lonjakan traffic, kecepatan replikanya pulih dari gangguan, dan seberapa efisien biaya pengoperasian cluster dan workload Anda. Memantau latensi startup workload dapat membantu Anda mendeteksi degradasi latensi dan melacak dampak update infrastruktur dan workload terhadap latensi startup.
Mengoptimalkan latensi startup beban kerja memiliki manfaat berikut:
- Menurunkan latensi respons layanan Anda kepada pengguna selama lonjakan traffic.
- Mengurangi kapasitas penayangan berlebih yang diperlukan untuk menyerap lonjakan permintaan saat replika baru dibuat.
- Mengurangi waktu nonaktif resource yang sudah di-deploy dan menunggu resource yang tersisa untuk dimulai selama komputasi batch.
Sebelum memulai
Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
lakukan inisialisasi
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan
gcloud components update
.
Aktifkan Cloud Logging dan Cloud Monitoring API.
Persyaratan
Untuk melihat metrik dan dasbor latensi startup workload, cluster GKE Anda harus memenuhi persyaratan berikut:
- Anda harus memiliki GKE versi 1.31.1-gke.1678000 atau yang lebih baru.
- Anda harus mengonfigurasi pengumpulan metrik sistem.
- Anda harus mengonfigurasi pengumpulan log sistem.
- Aktifkan metrik status kube dengan komponen
POD
di cluster Anda untuk melihat metrik Pod dan penampung.
Peran dan izin yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengaktifkan pembuatan log serta mengakses dan memproses log, minta administrator untuk memberi Anda peran IAM berikut:
-
Melihat cluster, node, dan beban kerja GKE:
Kubernetes Engine Viewer (
roles/container.viewer
) di project Anda -
Akses metrik latensi startup dan lihat dasbor:
Monitoring Viewer (
roles/monitoring.viewer
) di project Anda -
Akses log dengan informasi latensi, seperti peristiwa pengambilan image Kubelet, dan lihat di Logs Explorer dan Log Analytics:
Logs Viewer (
roles/logging.viewer
) di project Anda
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Metrik latensi startup
Metrik latensi startup disertakan dalam metrik sistem GKE dan diekspor ke Cloud Monitoring dalam project yang sama dengan cluster GKE.
Nama metrik Cloud Monitoring dalam tabel ini harus diawali dengan
kubernetes.io/
. Awalan tersebut telah dihilangkan dari
entri dalam tabel.
Jenis metrik (Tingkat hierarki resource) Nama tampilan |
|
---|---|
Jenis, Tipe, Unit
Resource yang dimonitor |
Deskripsi Label |
pod/latencies/pod_first_ready
(project)
Latensi siap pertama pod |
|
GAUGE , Double , s
k8s_pod |
Latensi startup menyeluruh Pod (dari Pod Created ke Ready ), termasuk pengambilan image. Diambil sampelnya setiap 60 detik. |
node/latencies/startup
(project)
Latensi startup node |
|
GAUGE , INT64 , s
k8s_node |
Total latensi startup node, dari CreationTimestamp instance GCE ke Kubernetes node ready untuk pertama kalinya. Diambil sampelnya setiap 60 detik.accelerator_family : klasifikasi node berdasarkan akselerator hardware: gpu , tpu , cpu .
kube_control_plane_available : apakah permintaan pembuatan node diterima saat KCP (kube control plane) tersedia.
|
autoscaler/latencies/per_hpa_recommendation_scale_latency_seconds
(project)
Latensi per skala rekomendasi HPA |
|
GAUGE , DOUBLE , s
k8s_scale |
Latensi rekomendasi penskalaan Horizontal Pod Autoscaler (HPA) (waktu antara metrik dibuat dan rekomendasi penskalaan yang sesuai diterapkan ke apiserver) untuk target HPA. Dibuat sampelnya setiap 60 detik. Setelah sampelnya dibuat, data tidak akan terlihat selama maksimal 20 detik.metric_type : jenis sumber metrik. Nilai ini harus berupa salah satu dari "ContainerResource" , "External" , "Object" , "Pods" , atau "Resource" .
|
Melihat dasbor Latensi Startup untuk beban kerja
Dasbor Startup Latency untuk workload hanya tersedia untuk Deployment. Untuk melihat metrik latensi startup untuk Deployment, lakukan langkah berikut di konsol Google Cloud:
Buka halaman Workloads.
Untuk membuka tampilan Detail deployment, klik nama workload yang ingin Anda periksa.
Klik tab Kemampuan observasi.
Pilih Latensi Startup dari menu di sebelah kiri.
Melihat distribusi latensi startup Pod
Latensi startup Pod mengacu pada total latensi startup, termasuk pengambilan
image, yang mengukur waktu dari status Created
Pod hingga
status Ready
. Anda dapat menilai latensi startup Pod menggunakan
dua diagram berikut:
Diagram Distribusi Latensi Startup Pod: diagram ini menunjukkan persentil latensi startup Pod (persentil kelima puluh, persentil sembilan puluh lima, dan persentil sembilan puluh sembilan) yang dihitung berdasarkan pengamatan peristiwa startup Pod selama interval waktu 3 jam tetap, misalnya, 00.00-03.00 dan 03.00-06.00. Anda dapat menggunakan diagram ini untuk tujuan berikut:
- Pahami latensi startup Pod dasar pengukuran Anda.
- Identifikasi perubahan latensi startup Pod dari waktu ke waktu.
- Korelasikan perubahan latensi startup Pod dengan peristiwa terbaru, seperti Deployment Workload atau peristiwa Autoscaler Cluster. Anda dapat memilih peristiwa dalam daftar Anotasi di bagian atas dasbor.

Diagram Jumlah Startup Pod: diagram ini menunjukkan jumlah Pod yang dimulai selama interval waktu yang dipilih. Anda dapat menggunakan diagram ini untuk tujuan berikut:
- Pahami ukuran sampel Pod yang digunakan untuk menghitung persentil distribusi latensi startup Pod untuk interval waktu tertentu.
- Pahami penyebab dimulainya Pod, seperti Deployment Workload atau peristiwa Horizontal Pod Autoscaler. Anda dapat memilih peristiwa dalam daftar Anotasi di bagian atas dasbor.

Melihat latensi startup setiap Pod
Anda dapat melihat latensi startup setiap Pod pada diagram linimasa Pod First Ready Latency dan daftar terkait.
- Gunakan diagram linimasa Pod First Ready Latency untuk mengaitkan setiap Pod yang dimulai dengan peristiwa terbaru, seperti peristiwa Horizontal Pod Autoscaler atau Autoscaler Cluster. Anda dapat memilih peristiwa ini dalam daftar Annotation di bagian atas dasbor. Diagram ini membantu Anda menentukan potensi penyebab perubahan latensi startup dibandingkan dengan Pod lainnya.
- Gunakan daftar Pod First Ready Latency untuk mengidentifikasi setiap Pod yang memerlukan waktu paling lama atau paling singkat untuk memulai. Anda dapat mengurutkan daftar menurut kolom Latency. Saat mengidentifikasi Pod yang memiliki latensi startup tertinggi, Anda dapat memecahkan masalah degradasi latensi dengan mengaitkan peristiwa mulai Pod dengan peristiwa terbaru lainnya.

Anda dapat mengetahui kapan setiap Pod dibuat dengan melihat nilai di
kolom timestamp
dalam peristiwa pembuatan Pod yang sesuai. Untuk melihat kolom timestamp
, jalankan kueri berikut di Logs Explorer:
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName="io.k8s.core.v1.pods.create" AND
resource.labels.project_id=PROJECT_ID AND
resource.labels.cluster_name=CLUSTER_NAME AND
resource.labels.location=CLUSTER_LOCATION AND
protoPayload.response.metadata.namespace=NAMESPACE AND
protoPayload.response.metadata.name=POD_NAME
Untuk mencantumkan semua peristiwa pembuatan Pod untuk beban kerja Anda, gunakan filter berikut
dalam kueri sebelumnya:
protoPayload.response.metadata.name=~"POD_NAME_PREFIX-[a-f0-9]{7,10}-[a-z0-9]{5}"
Saat membandingkan latensi setiap Pod, Anda dapat menguji dampak berbagai konfigurasi pada latensi startup Pod dan mengidentifikasi konfigurasi yang optimal berdasarkan persyaratan Anda.
Menentukan latensi penjadwalan Pod
Latensi penjadwalan Pod adalah jumlah waktu antara saat Pod dibuat dan saat Pod dijadwalkan di node. Latensi penjadwalan Pod berkontribusi pada waktu startup menyeluruh Pod, dan dihitung dengan mengurangi stempel waktu peristiwa penjadwalan Pod dan permintaan pembuatan Pod.
Anda dapat menemukan stempel waktu setiap peristiwa penjadwalan Pod dari
kolom jsonPayload.eventTime
dalam peristiwa penjadwalan Pod yang sesuai. Untuk melihat kolom jsonPayload.eventTime
, jalankan kueri berikut di Logs Explorer:
log_id("events")
jsonPayload.reason="Scheduled"
resource.type="k8s_pod"
resource.labels.project_id=PROJECT_ID
resource.labels.location=CLUSTER_LOCATION
resource.labels.cluster_name=CLUSTER_NAME
resource.labels.namespace_name=NAMESPACE
resource.labels.pod_name=POD_NAME
Untuk mencantumkan semua peristiwa penjadwalan Pod untuk beban kerja Anda, gunakan filter berikut
dalam kueri sebelumnya:
resource.labels.pod_name=~"POD_NAME_PREFIX-[a-f0-9]{7,10}-[a-z0-9]{5}"
Melihat latensi pull image
Latensi pull image container berkontribusi pada latensi startup Pod dalam skenario saat image belum tersedia di node atau image perlu dimuat ulang. Saat mengoptimalkan latensi pengambilan image, Anda akan mengurangi latensi startup workload selama peristiwa penskalaan cluster.
Anda dapat melihat tabel Kubelet Image Pull Events untuk melihat kapan image container beban kerja diambil dan berapa lama prosesnya.

Latensi pull gambar tersedia di kolom jsonPayload.message
, yang berisi pesan seperti berikut:
"Successfully pulled image "gcr.io/example-project/image-name" in 17.093s (33.051s including waiting). Image size: 206980012 bytes."
Melihat distribusi latensi rekomendasi penskalaan HPA
Latensi rekomendasi penskalaan Horizontal Pod Autoscaler (HPA) untuk target HPA adalah jumlah waktu antara saat metrik dibuat dan saat rekomendasi penskalaan yang sesuai diterapkan ke server API. Saat mengoptimalkan latensi rekomendasi penskalaan HPA, Anda akan mengurangi latensi startup workload selama peristiwa penskalaan.
Penskalaan HPA dapat dilihat pada dua diagram berikut:
Diagram Distribusi Latensi Rekomendasi Penskalaan HPA: diagram ini menunjukkan persentil latensi rekomendasi penskalaan HPA (persentil kelima puluh, persentil sembilan puluh lima, dan persentil sembilan puluh sembilan) yang dihitung berdasarkan pengamatan rekomendasi penskalaan HPA selama interval waktu 3 jam terakhir. Anda dapat menggunakan diagram ini untuk tujuan berikut:
- Pahami latensi rekomendasi penskalaan HPA dasar pengukuran Anda.
- Identifikasi perubahan latensi rekomendasi penskalaan HPA dari waktu ke waktu.
- Korelasikan perubahan latensi rekomendasi penskalaan HPA dengan peristiwa terbaru. Anda dapat memilih peristiwa dalam daftar Anotasi di bagian atas dasbor.

Diagram Jumlah Rekomendasi Penskalaan HPA: diagram ini menunjukkan jumlah rekomendasi penskalaan HPA yang diamati selama interval waktu yang dipilih. Gunakan diagram untuk tugas berikut:
- Memahami ukuran sampel rekomendasi penskalaan HPA. Sampel digunakan untuk menghitung persentil dalam distribusi latensi untuk rekomendasi penskalaan HPA selama interval waktu tertentu.
- Korelasikan rekomendasi penskalaan HPA dengan peristiwa pengaktifan Pod baru dan dengan peristiwa Horizontal Pod Autoscaler. Anda dapat memilih peristiwa dalam daftar Anotasi di bagian atas dasbor.

Melihat masalah penjadwalan untuk Pod
Masalah penjadwalan pod dapat memengaruhi latensi startup menyeluruh dari beban kerja Anda. Untuk mengurangi latensi startup menyeluruh dari workload Anda, pecahkan masalah dan kurangi jumlah masalah ini.
Berikut adalah dua diagram yang tersedia untuk melacak masalah tersebut:
- Diagram Pod yang Tidak Dapat Dijadwalkan/Tertunda/Gagal menunjukkan jumlah Pod yang tidak dapat dijadwalkan, tertunda, dan gagal dari waktu ke waktu.
- Diagram Backoff/Waiting/Readiness Failed Containers menunjukkan jumlah penampung dalam status ini dari waktu ke waktu.
Melihat dasbor latensi startup untuk node
Untuk melihat metrik latensi startup untuk node, lakukan langkah-langkah berikut di konsol Google Cloud:
Buka halaman Cluster Kubernetes.
Untuk membuka tampilan Cluster details, klik nama cluster yang ingin Anda periksa.
Klik tab Kemampuan observasi.
Dari menu di sebelah kiri, pilih Latensi Startup.
Melihat distribusi latensi startup node
Latensi startup node mengacu pada total latensi startup, yang
mengukur waktu dari CreationTimestamp
node hingga
status Kubernetes node ready
. Latensi startup node dapat dilihat di
dua diagram berikut:
Diagram Distribusi Latensi Startup Node: diagram ini menunjukkan persentil latensi startup node (persentil kelima puluh, persentil sembilan puluh lima, dan persentil sembilan puluh sembilan) yang dihitung berdasarkan pengamatan peristiwa startup node selama interval waktu 3 jam tetap, misalnya, 00.00-03.00 dan 03.00-06.00. Anda dapat menggunakan diagram ini untuk tujuan berikut:
- Pahami latensi startup node dasar pengukuran Anda.
- Identifikasi perubahan latensi startup node dari waktu ke waktu.
- Korelasikan perubahan latensi startup node dengan peristiwa terbaru, seperti Update Cluster atau Update Node Pool. Anda dapat memilih peristiwa dalam daftar Anotasi di bagian atas dasbor.

Diagram Node Startup Count: diagram ini menunjukkan jumlah node yang dimulai selama interval waktu yang dipilih. Anda dapat menggunakan diagram untuk tujuan berikut:
- Pahami ukuran sampel node, yang digunakan untuk menghitung persentil distribusi latensi startup node untuk interval waktu tertentu.
- Pahami penyebab dimulainya node seperti Update Node Pool atau peristiwa Cluster Autoscaler. Anda dapat memilih peristiwa dalam daftar Anotasi di bagian atas dasbor.

Melihat latensi startup setiap node
Saat membandingkan latensi setiap node, Anda dapat menguji dampak berbagai konfigurasi node pada latensi startup node dan mengidentifikasi konfigurasi yang optimal berdasarkan persyaratan Anda. Anda dapat melihat latensi startup setiap node pada diagram linimasa Latensi Startup Node dan daftar terkait.
Gunakan diagram linimasa Latensi Startup Node untuk mengaitkan setiap node yang dimulai dengan peristiwa terbaru, seperti Update Cluster atau Update Kumpulan Node. Anda dapat menentukan kemungkinan penyebab perubahan latensi startup dibandingkan dengan node lain. Anda dapat memilih peristiwa dalam daftar Anotasi di bagian atas dasbor.
Gunakan daftar Node Startup Latency untuk mengidentifikasi setiap node yang memerlukan waktu paling lama atau paling singkat untuk dimulai. Anda dapat mengurutkan daftar menurut kolom Latency. Saat mengidentifikasi node dengan latensi startup tertinggi, Anda dapat memecahkan masalah degradasi latensi dengan mengaitkan peristiwa mulai node dengan peristiwa terbaru lainnya.

Anda dapat mengetahui kapan setiap node dibuat dengan melihat nilai
kolom protoPayload.metadata.creationTimestamp
dalam peristiwa pembuatan node
yang sesuai. Untuk melihat kolom protoPayload.metadata.creationTimestamp
, jalankan kueri berikut di Logs Explorer:
log_id("cloudaudit.googleapis.com/activity") AND
protoPayload.methodName="io.k8s.core.v1.nodes.create" AND
resource.labels.project_id=PROJECT_ID AND
resource.labels.cluster_name=CLUSTER_NAME AND
resource.labels.location=CLUSTER_LOCATION AND
protoPayload.response.metadata.name=NODE_NAME
Melihat latensi startup di node pool
Jika node pool Anda memiliki konfigurasi yang berbeda, misalnya, untuk menjalankan workload yang berbeda, Anda mungkin perlu memantau latensi startup node secara terpisah menurut node pool. Saat membandingkan latensi startup node di seluruh node pool, Anda dapat mendapatkan insight tentang pengaruh konfigurasi node terhadap latensi startup node dan secara konsisten mengoptimalkan latensi.
Secara default, dasbor Node Startup Latency menampilkan Distribusi Latensi Startup Agregat dan Latensi Startup Node individual di semua node pool dalam cluster. Untuk melihat latensi startup node untuk node pool tertentu, pilih
nama node pool menggunakan filter $node_pool_name_var
yang terletak di
bagian atas dasbor.
Langkah berikutnya
- Pelajari cara mengoptimalkan penskalaan otomatis Pod berdasarkan metrik.
- Pelajari lebih lanjut cara mengurangi latensi cold start di GKE.
- Pelajari cara mengurangi latensi pengambilan gambar dengan Streaming gambar.
- Pelajari ekonomi yang mengejutkan dari penyesuaian Horizontal Pod Autoscaler.
- Memantau beban kerja Anda dengan pemantauan aplikasi otomatis.