Perangkat untuk Memantau Sumber Daya

Untuk melukan penyekalaan aplikasi dan memberikan Service yang handal, kamu perlu memahami bagaimana aplikasi berperilaku ketika aplikasi tersebut digelar (deploy). Kamu bisa memeriksa kinerja aplikasi dalam klaster Kubernetes dengan memeriksa Container, Pod, Service, dan karakteristik klaster secara keseluruhan. Kubernetes memberikan detail informasi tentang penggunaan sumber daya dari aplikasi pada setiap level ini. Informasi ini memungkinkan kamu untuk mengevaluasi kinerja aplikasi kamu dan mengevaluasi di mana kemacetan dapat dihilangkan untuk meningkatkan kinerja secara keseluruhan.

Di Kubernetes, pemantauan aplikasi tidak bergantung pada satu solusi pemantauan saja. Pada klaster baru, kamu bisa menggunakan pipeline metrik sumber daya atau pipeline metrik penuh untuk mengumpulkan statistik pemantauan.

Pipeline Metrik Sumber Daya

Pipeline metrik sumber daya menyediakan sekumpulan metrik terbatas yang terkait dengan komponen-komponen klaster seperti controller HorizontalPodAutoscaler, begitu juga dengan utilitas kubectl top. Metrik ini dikumpulkan oleh memori yang ringan, jangka pendek, dalam metrics-server dan diekspos ke API metrics.k8s.io.

Metrics-server menemukan semua Node dalam klaster dan bertanya ke setiap kubelet dari Node tentang penggunaan CPU dan memori. Kubelet bertindak sebagai jembatan antara control plane Kubernetes dan Node, mengelola Pod dan Container yang berjalan pada sebuah mesin. Kubelet menerjemahkan setiap Pod ke Container yang menyusunnya dan mengambil masing-masing statistik penggunaan untuk setiap Container dari runtime Container melalui antarmuka runtime Container. Kubelet mengambil informasi ini dari cAdvisor yang terintegrasi untuk pengintegrasian Docker yang lama. Hal ini yang kemudian memperlihatkan statistik penggunaan sumber daya dari kumpulan Pod melalui API sumber daya metrics-server. API ini disediakan pada /metrics/resource/v1beta1 pada kubelet yang terautentikasi dan porta read-only.

Pipeline Metrik Penuh

Pipeline metrik penuh memberi kamu akses ke metrik yang lebih banyak. Kubernetes bisa menanggapi metrik ini secara otomatis dengan mengubah skala atau mengadaptasi klaster berdasarkan kondisi saat ini, dengan menggunakan mekanisme seperti HorizontalPodAutoscaler. Pipeline pemantauan mengambil metrik dari kubelet dan kemudian memgekspos ke Kubernetes melalui adaptor dengan mengimplementasikan salah satu dari API custom.metrics.k8s.io atau API external.metrics.k8s.io.

Prometheus, sebuah proyek CNCF, yang dapat secara alami memonitor Kubernetes, Node, dan Prometheus itu sendiri. Proyek pipeline metrik penuh yang bukan merupakan bagian dari CNCF berada di luar ruang lingkup dari dokumentasi Kubernetes.