Apa itu pemantauan Kubernetes?

Mandor mengontrol pemuatan kotak kontainer dari kapal kargo untuk ekspor impor

Apa itu pemantauan Kubernetes?

Pemantauan Kubernetes mengacu pada proses pengumpulan dan analisis data yang terkait dengan karakteristik kesehatan, kinerja, dan biaya aplikasi terkontainerisasi yang berjalan di dalam klaster Kubernetes.

Kubernetes, juga dikenal sebagai K8s atau kube, adalah platform orkestrasi kontainer untuk penjadwalan dan otomatisasi penerapan, manajemen, dan penskalaan aplikasi terkontainerisasi. Awalnya dirancang oleh Google, proyek ini sekarang dikelola oleh Cloud Native Computing Foundation (CNCF).

Pemantauan kluster Kubernetes memungkinkan administrator dan pengguna untuk mencatat hal-hal seperti waktu aktif, penggunaan sumber daya kluster dan interaksi antar komponen kluster. Pemantauan membantu mengidentifikasi dengan cepat masalah seperti sumber daya yang tidak mencukupi, kegagalan, pod yang gagal dimulai, dan node yang tidak dapat bergabung dengan kluster.

Aplikasi di Kubernetes yang disampaikan sebagai layanan mikro cloud-native memiliki lebih banyak komponen yang berkomunikasi satu sama lain. Arsitektur modern yang terdistribusi di berbagai contoh dan lokasi menambah kompleksitas baru dalam tugas sehari-hari seperti memantau, memberikan peringatan, dan memecahkan masalah.

Selain itu, sifat sementara kontainer dapat menghambat upaya pemecahan masalah. Kontainer biasanya hidup selama proses yang berjalan di dalamnya dan menghilang ketika proses itu mati. Ini adalah salah satu bagian paling menantang dari kontainer pemecahan masalah. Ketika kontainer mati atau dijadwalkan ulang ke node alternatif, detail yang Anda perlukan untuk respons insiden mungkin tidak ada lagi.

Kendati Kubernetes memiliki operator kluster bawaan untuk memantau kluster dan mengirim peringatan berdasarkan pod yang berjalan, alat sumber terbuka dan solusi pemantauan pihak ketiga membantu memberikan visibilitas penuh ke dalam lingkungan K8.

Pemandangan udara dari jalan raya

Dapatkan ketenangan saat menggunakan cloud 


Dapatkan Buletin Think mingguan untuk mendapatkan panduan pakar dalam mengoptimalkan pengaturan multicloud di era AI.

Manfaat pemantauan Kubernetes

Pemantauan Kubernetes yang tepat memberikan berbagai manfaat, mulai dari menjaga stabilitas dan daya tanggap kinerja aplikasi hingga meningkatkan keamanan dan kepatuhan.

Pengoptimalan kinerja 

Dengan melacak dan menganalisis metrik seperti konsumsi CPU, penggunaan memori, lalu lintas jaringan, dan waktu respons, Anda dapat mengidentifikasi area yang tidak efisien, mengoptimalkan alokasi sumber daya, dan melakukan fine tuning pada infrastruktur Kubernetes untuk kinerja yang optimal.

Hal ini dapat menghasilkan peningkatan respons aplikasi dan pengalaman pengguna yang lebih baik.

Penggunaan sumber daya yang efisien

Dengan memantau metrik penggunaan sumber daya seperti penggunaan CPU, konsumsi memori, dan lalu lintas jaringan, kita dapat mengidentifikasi node Kubernetes yang kurang dimanfaatkan atau dimanfaatkan secara berlebihan, mengoptimalkan alokasi sumber daya, dan membuat keputusan yang tepat tentang penskalaan infrastruktur.

Hal ini membantu memastikan bahwa aplikasi memiliki sumber daya yang diperlukan untuk bekerja secara optimal, dengan manfaat tambahan berupa pengurangan biaya.

Deteksi masalah secara proaktif

Peringatan dan pemberitahuan membantu mengidentifikasi dan mengatasi akar masalah Kubernetes secara proaktif sebelum masalah tersebut menyebabkan gangguan atau waktu henti.

Hasilnya adalah stabilitas sistem yang lebih baik dan dampak minimal dari potensi masalah pada aplikasi dan pengguna.

Pemecahan masalah dan debugging yang cepat

Log pemantauan, peristiwa, dan metrik membantu mengidentifikasi dan mendiagnosis masalah dengan cepat, seperti kegagalan pod, kendala sumber daya, masalah jaringan, atau kesalahan aplikasi.

Dengan mempercepat proses debugging, waktu henti berkurang dan aplikasi tetap tersedia.

Perencanaan kapasitas dan skalabilitas

Dengan menganalisis data historis dan memantau tren penggunaan sumber daya, Anda dapat memperkirakan kebutuhan sumber daya di masa mendatang dengan lebih baik, mengidentifikasi kapan lebih banyak sumber daya Kubernetes diperlukan, dan merencanakan penskalaan klaster yang sesuai.

Pada akhirnya, tuntutan beban kerja yang meningkat tidak akan menyebabkan kekurangan sumber daya.

Peningkatan keamanan dan kepatuhan

Memantau log Kubernetes, lalu lintas jaringan, dan pola akses memudahkan untuk mengidentifikasi aktivitas anomali, potensi pelanggaran, dan upaya akses yang tidak sah.

Selain itu, memastikan kontrol dan kebijakan keamanan yang tepat tersedia dan dipantau secara aktif membantu menjaga kepatuhan terhadap standar dan peraturan.

Metrik K8 yang harus dipantau

Visibilitas penuh atas tumpukan Kubernetes memerlukan pengumpulan data telemetri pada kontainer yang secara konstan dibuat, dihancurkan, dan memanggil satu sama lain, sekaligus mengumpulkan data telemetri pada klaster Kubernetes itu sendiri.

Pemantauan tingkat klaster

Untuk pemantauan klaster, ada beberapa metrik tingkat klaster yang perlu diikuti, yang membantu menentukan kesehatan klaster Kubernetes secara keseluruhan.

Fungsi node: Memantau apakah semua node kluster berfungsi dengan baik dan pada kapasitas berapa node kluster membantu menentukan sumber daya cloud yang dibutuhkan untuk menjalankan cluster.

Ketersediaan node: Memantau berapa banyak node klaster yang tersedia membantu menentukan sumber daya cloud apa yang dibayar (jika menggunakan penyedia cloud seperti Microsoft Azure) dan bagaimana klaster tersebut digunakan.

Penggunaan sumber daya node: Memantau bagaimana kluster secara keseluruhan menggunakan sumber daya (memori, CPU, bandwidth, dan penggunaan disk) membantu menunjukkan keputusan tentang apakah akan menambah atau mengurangi ukuran atau jumlah node dalam kluster.

Jumlah pod yang berjalan: Pemantauan pod yang sedang berjalan menunjukkan apakah jumlah node yang tersedia sudah mencukupi dan, jika terjadi kegagalan node, apakah node tersebut dapat menangani seluruh beban kerja pod atau tidak.

Pemantauan tingkat pod

Pemantauan tingkat pod diperlukan untuk memastikan masing-masing pod dalam klaster Kubernetes berfungsi dengan baik. Hal ini termasuk melihat tiga jenis metrik: Metrik Kubernetes, metrik kontainer, dan metrik aplikasi..

1. Metrik Kubernetes

Memantau metrik Kubernetes membantu memastikan semua pod dalam penerapan Kubernetes berjalan dan sehat.

Jumlah instance pod: Jika jumlah instans pod saat ini lebih rendah dari jumlah yang diharapkan, klaster mungkin kehabisan sumber daya.

Status Pod: Memahami apakah pod sedang berjalan dan berapa banyak yang tertunda, gagal atau dihentikan memberikan visibilitas ke dalam ketersediaan dan stabilitasnya.

Pod restarts: Memantau berapa kali pod dimulai ulang menunjukkan stabilitas aplikasi dalam pod. Dengan seringnya proses memulai ulang, masalah mendasar seperti crash/macet atau kendala sumber daya mungkin menjadi masalahnya.

Penggunaan CPU: Memantau konsumsi CPU dari pod membantu mengidentifikasi potensi kemacetan kinerja dan memastikan bahwa pod memiliki cukup sumber daya pemrosesan.

Penggunaan memori: Memantau konsumsi memori suatu pod membantu mendeteksi kebocoran memori atau penggunaan memori berlebihan yang dapat memengaruhi stabilitas aplikasi.

Penggunaan jaringan: Memantau byte yang dikirim/diterima dari sebuah pod memberikan insight tentang pola komunikasinya dan membantu mengidentifikasi masalah jaringan.

Metrik Kubernetes juga mencakup pemeriksaan kesehatan, data jaringan, dan bagaimana proses yang sedang berlangsung penerapan sedang berlangsung (yaitu jumlah contoh yang diubah dari versi lama ke versi baru).

2. Metrik kontainer

Metrik kontainer pemantauan pod membantu menentukan seberapa dekat Anda dengan batas sumber daya yang telah dikonfigurasi. Metrik ini juga memungkinkan Anda untuk mendeteksi pod yang terjebak dalam CrashLoopBackoff.

Penggunaan/pelambatan CPU: Memantau bagaimana kontainer yang sedang berjalan menggunakan CPU dapat membantu mengidentifikasi kontainer yang boros sumber daya atau menyebabkan kemacetan, yang dapat berdampak pada kinerja klaster secara keseluruhan. Melacak metrik pelambatan CPU menyoroti apakah kontainer dibatasi dalam penggunaan CPU-nya karena keterbatasan sumber daya atau kesalahan konfigurasi.

Penggunaan memori: Memantau bagaimana kontainer yang sedang berjalan mengkonsumsi memori akan membuat masalah seperti kebocoran memori, penggunaan memori yang berlebihan, atau alokasi memori yang tidak mencukupi, yang dapat memengaruhi stabilitas kontainer dan kinerja sistem secara keseluruhan, lebih mudah dideteksi.

Lalu lintas jaringan/kesalahan: Memantau lalu lintas jaringan kontainer, serta kesalahan seperti kehilangan paket atau kegagalan koneksi, membantu menilai pola komunikasi dan penggunaan jaringan yang berlebihan atau lonjakan lalu lintas yang tidak terduga.

3. Metrik aplikasi .

Memantau metrik aplikasi membantu mengukur kinerja dan ketersediaan aplikasi yang berjalan di dalam pod Kubernetes. Metrik ini biasanya dikembangkan oleh aplikasi Kubernetes itu sendiri dan berhubungan dengan business rules yang ditanganinya, seperti latensi, daya respons, tingkat kesalahan, dan waktu respons.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Praktik terbaik pemantauan Kubernetes

Berikut adalah beberapa praktik terbaik yang perlu dipertimbangkan untuk berhasil memantau lingkungan Kubernetes.

Gunakan Kubernetes DaemonSets: DaemonSets memungkinkan Anda untuk menggunakan agen yang memantau setiap node lingkungan Kubernetes Anda dan semua sumber daya pada node tersebut di seluruh kluster Kubernetes. Daemon membantu memastikan bahwa host muncul dan siap untuk menyediakan metrik.

Manfaatkan label dengan cerdas: Membuat skema pelabelan yang logis, konsisten, dan koheren memudahkan tim DevOps untuk mengidentifikasi berbagai komponen dan membantu memberikan nilai maksimal dari pemantauan Kubernetes Anda.

Gunakan Penemuan Layanan: Penemuan Layanan untuk Google Kubernetes Engine (GKE) memungkinkan Anda memantau aplikasi Anda terus-menerus meskipun Anda tidak tahu di mana aplikasi tersebut berjalan. Ini secara otomatis menyesuaikan pengumpulan metrik ke kontainer yang bergerak untuk pemahaman yang lebih lengkap tentang kesehatan kluster.

Mengatur peringatan dan pemberitahuan: Mengatur peringatan untuk metrik penting, seperti penggunaan CPU atau memori, dan mendapatkan pemberitahuan ketika metrik tersebut mencapai ambang batas tertentu. Alat pemantauan dengan peringatan cerdas membantu meminimalkan kelelahan peringatan dengan hanya mengirimi Anda peringatan untuk peristiwa atau perubahan yang berarti.

Memantau elemen bidang kontrol: Memantau elemen bidang kontrol Kubernetes secara rutin, seperti server API, kube-dns, kubelet, kube-proxy, dll., dan manajer pengendali membantu memastikan bahwa layanan kluster berjalan tanpa hambatan.

Pantau pengalaman pengguna: Meskipun tidak diukur secara native di platform Kubernetes, memantau pengalaman pengguna terkadang dapat memperingatkan Anda tentang masalah sebelum masalah tersebut ditemukan di dalam klaster.

Gunakan alat bawaan dan sumber terbuka: Terlepas dari contoh penggunaan Anda, manfaatkan alat pemantauan Kubernetes bawaan, seperti Kubernetes Dashboard, cAdvisor (Container Advisor), dan Kube-state-Metrics, serta alat sumber terbuka yang populer, termasuk Prometheus, Grafana, Jaeger, dan Elastic Stack (sebelumnya ELK Stack). Selain penerapan, pemecahan masalah, dan pemantauan, alat bantu ini memberikan fungsi tambahan seperti visualisasi data dan mengumpulkan serta menyimpan metrik deret waktu dari berbagai sumber.

Gunakan solusi pemantauan K8 berbasis SaaS: Untuk memudahkan manajemen Kubernetes, pengembangan infrastruktur dan biaya, serta menerima pembaruan rutin, gunakan sistem pemantauan berbasis SaaS dengan otomatisasi bawaan alih-alih sistem lokal.

Solusi terkait
Pemantauan Kubernetes - IBM Instana

Secara otomatis mengamati, memantau, dan memperbaiki seluruh klaster Kubernetes Anda untuk meningkatkan kinerja dan ketersediaan aplikasi.

Jelajahi IBM Instana
Layanan konsultasi cloud 

Percepat ketangkasan dan pertumbuhan bisnis — terus modernisasi aplikasi Anda di platform apa pun menggunakan layanan dan konsultasi cloud kami.

Jelajahi layanan konsultasi cloud
Solusi kontainer

Solusi kontainer menjalankan dan meningkatkan beban kerja dalam kontainer dengan keamanan, inovasi sumber terbuka, dan penerapan yang cepat.

Jelajahi Container
Ambil langkah selanjutnya

IBM Instana Observability menyediakan observabilitas Kubernetes otomatis dan kemampuan APM yang dirancang untuk memantau seluruh tumpukan aplikasi Kubernetes Anda, mulai dari node dan pod hingga kontainer dan aplikasi, untuk semua distribusi Kubernetes.

Jelajahi IBM Instana Observability Jelajahi Instana