Tetapkan Batas Sumber Daya Kubernetes

Tetapkan Batas Sumber Daya Kubernetes



Batas sumber daya adalah bagian penting dari orkestrasi wadah Kubernetes karena mereka memastikan bahwa wadah tidak menghabiskan terlalu banyak sumber daya atau menjadi tidak responsif karena kehabisan sumber daya. Artikel ini memberikan panduan tentang cara menyetel batas sumber daya container Kubernetes untuk memaksimalkan manfaatnya dan memaksimalkan aplikasi Anda. Pelajari cara mengonfigurasi dan mengelola sumber daya penampung Anda dengan cepat dan mudah hanya dengan beberapa langkah sederhana sehingga Anda dapat yakin bahwa semua layanan Anda berjalan dengan lancar.

Tetapkan Batas Sumber Daya Wadah di Kubernetes

Batas sumber daya wadah adalah elemen penting Kubernetes, yang memungkinkan pengguna untuk mengelola jumlah sumber daya yang dapat dikonsumsi oleh sebuah wadah. Untuk menghindari kelebihan beban dan menjamin kinerja aplikasi, ini sangat penting dalam konteks produksi. Berikut ini beberapa kiat profesional untuk menyetel batas sumber daya penampung:







Mulailah dengan menentukan resource yang dibutuhkan container Anda. Analisis penggunaan sistem Anda dan tentukan wadah mana yang harus disesuaikan batas memori dan CPU-nya. Penting juga untuk mempertimbangkan node yang mendasari saat menyetel batas sumber daya – jika Anda menyetel batas terlalu tinggi atau terlalu rendah, node mungkin tidak dapat menjalankan aplikasi lain tanpa mogok. Selanjutnya, tentukan jenis limit yang ingin Anda gunakan – burstable atau non-burstable. Sekarang, mari kita lihat langkah-langkah penting yang dapat Anda ikuti untuk menetapkan batas sumber daya container Kubernetes. Sebelum menuju ke langkah-langkah, ada beberapa prasyarat yang diperlukan:



Prasyarat

Sebelum kita melanjutkan ke langkah-langkahnya, mari kita pastikan bahwa sistem kita memenuhi semua kebutuhan prasyarat. Pastikan Anda memiliki Ubuntu 20.04 atau versi terbaru lainnya agar lingkungan Linux/Unix berfungsi, kluster Kubernetes, Kubectl CLI untuk menggunakan perintah kubectl, komunikasi kluster, mengelola lingkungan pengembangan, dan minikube atau taman bermain Kubernetes lainnya untuk membuat cluster. Instal alat ini jika Anda belum menginstalnya sebelum melanjutkan ke bagian berikutnya. Sekarang, kita beralih ke panduan langkah demi langkah tentang cara mengatur batas sumber daya container Kubernetes.



Cara Menetapkan Batas Sumber Daya Kubernetes

Menetapkan batas sumber daya kontainer Kubernetes adalah bagian penting dalam mengelola dan memelihara klaster Kubernetes Anda. Memiliki batas sumber daya yang tepat memastikan bahwa setiap wadah berjalan secara optimal, tanpa mengorbankan kinerja wadah lain atau keseluruhan klaster. Ini dapat dilakukan dengan menyetel permintaan sumber daya dan batas untuk CPU, memori, penyimpanan singkat, dan lainnya. Berikut cara mengatur batas sumber daya wadah Kubernetes dengan benar.





Langkah 1: Jalankan Minikube

Cluster Minikube harus dalam keadaan aktif agar Anda dapat menjalankan aplikasi atau perintah di dalamnya. Untuk memastikannya aktif dan berjalan dengan benar, gunakan perintah yang diberikan berikut ini:



> mulai minikube

Langkah 2: Aktifkan Server Metrik

Pada langkah ini, kami membagikan perintah yang memungkinkan Anda mengaktifkan server metrik. Perintah diberikan sebagai berikut:

> addon minikube memungkinkan metrik-server

Langkah 3: Periksa Apakah Server Metrik Aktif atau Tidak

Ketik perintah berikut untuk memeriksa apakah metrics-server aktif atau tidak:

> kubectl dapatkan layanan api

Seperti yang terlihat pada gambar sebelumnya, ini berisi referensi ke metrics.k8s.io jika API metrik sumber daya dapat diakses.

Langkah 4: Buat Ruang Nama

Untuk menyimpan sumber daya, Anda membuat ruang nama untuk latihan ini yang terpisah dari klaster Anda yang lain. Kami sekarang mendemonstrasikan cara membuat namespace. Perintah yang melakukan diberikan sebagai berikut:

> kubectl membuat namespace ABC

Langkah 5: Buat File Konfigurasi

File konfigurasi YAML yang kita gunakan untuk membuat pod di dalam container dibuat pada langkah ini. Berikut adalah perintah yang digunakan untuk mencapai hal ini:

> nano reqlimit.yaml

Di sini, Anda perlu menyertakan permintaan CPU bersama dengan batas CPU. Sertakan sumber daya: batas untuk menentukan batas CPU. Dalam hal ini, sebuah Pod dengan satu container akan dibuat. Penampung memiliki batas permintaan 0,5 CPU dan maksimal 1 CPU. File konfigurasi Pod tersedia di sini. Seperti yang Anda lihat, bagian args file konfigurasi berisi argumen yang digunakan penampung saat dimulai. Kontainer diinstruksikan untuk mencoba menggunakan 2 CPU melalui parameter -cpus “2”.

Saat membuat sumber daya di Kubernetes seperti penerapan dan pod, penting untuk menentukan jumlah minimum sumber daya yang diperlukan (permintaan) dan jumlah maksimum sumber daya yang diizinkan (batas) untuk setiap pod atau penerapan. Hal ini mencegah salah satu pod mengkonsumsi terlalu banyak sumber daya yang dapat menyebabkan pod aktif lainnya mengalami penurunan kinerja atau bahkan macet karena kurangnya sumber daya yang tersedia di cluster.

Langkah 6: Buat Pod

Sekarang, kami tunjukkan cara membuat pod dengan perintah berikut:

> kubectl buat -f reqlimit.yaml

Dari output yang diberikan sebelumnya, Anda dapat melihat bahwa pod bernama “cpu-demo” telah dibuat.

Langkah 7: Verifikasi Pod

Pada langkah ini, kami memeriksa apakah pod yang dibuat aktif atau tidak dengan perintah berikut:

> kubectl dapatkan pod cpu-demo --ruangnama = abc

Langkah 8: Lihat Detail Pod

Sekarang, jika kamu ingin melihat informasi detail tentang Pod, berikut adalah perintah yang harus dijalankan:

> kubectl dapatkan pod cpu-demo --keluaran =yaml --ruangnama = abc

Langkah 9: Hapus Pod

Di sini, kami akan menunjukkan cara menghapus pod untuk membersihkan sumber daya. Perintah yang digunakan untuk tujuan ini adalah sebagai berikut:

> kubectl menghapus pod cpu-demo --ruangnama = abc

Langkah 10: Buat File Konfigurasi

Pada langkah ini, kami membuat file konfigurasi. File ini menentukan permintaan CPU yang cukup besar untuk node Anda.

> nano reqlimit2

File konfigurasi dengan satu wadah dapat ditemukan di sini. Kontainer meminta 100 CPU yang lebih dari Node mana pun yang dapat disediakan oleh cluster Anda secara wajar.

Langkah 11: Kre sebuah te Pod

Pada langkah ini, kami membuat pod dengan perintah berikut:

> kubectl buat -f reqlimit2.yaml

Langkah 12: Lihat Status Pod

Sekarang, Anda dapat melihat st sebuah tus dari pod dengan perintah yang terlampir di sini:

Keluarannya menunjukkan bahwa status Pod adalah Pending.

Langkah 13: Lihat Informasi Pod

Sekarang, kita melihat informasi detail tentang Pod termasuk event dengan perintah yang diberikan di sini:

Buka bagian acara dan lihat apakah penampung dijadwalkan atau tidak.

Jika tidak dapat dijadwalkan dan alasannya adalah sumber daya CPU tidak mencukupi, Anda dapat menghapus node tersebut. Cara menghapus node dijelaskan pada langkah selanjutnya.

Melangkah 14: Hapus Node

Anda dapat menghapus node dengan perintah berikut:

> kubectl menghapus pod cpu-demo- 2 --ruangnama = abc

Apa Dampak Batasan Sumber Daya Kontainer terhadap Kinerja?

Dengan semakin populernya teknologi wadah Kubernetes, penting untuk memahami bagaimana batasan sumber daya dapat memengaruhi kinerja. Menetapkan batas sumber daya di dalam wadah Kubernetes dapat membantu Anda memastikan bahwa aplikasi Anda berjalan pada tingkat optimalnya dan tidak menghabiskan terlalu banyak sumber daya dari server host. Dengan membatasi sumber daya, Anda dapat menghindari proses redundan yang terbuang percuma, membantu mencegah sistem mogok karena penggunaan, dan mengoptimalkan kinerja wadah Anda.

Untuk menetapkan batas sumber daya ini dalam wadah Kubernetes, Anda harus menggunakan alat yang disebut cgroups (grup kontrol). Cgroup memungkinkan administrator untuk membatasi sumber daya seperti siklus CPU atau penggunaan memori untuk masing-masing wadah. Anda juga dapat mengatur parameter lain seperti ukuran file maksimum atau penggunaan bandwidth jaringan per wadah.

Kesimpulan

Menetapkan batas sumber daya wadah Kubernetes adalah bagian penting dalam mengelola lingkungan komputasi awan Anda. Dengan konfigurasi yang tepat, Anda dapat memastikan bahwa setiap penampung memiliki akses ke sumber daya yang dibutuhkannya, tetapi tidak terlalu banyak sehingga memengaruhi penampung atau sistem lain. Hal ini memungkinkan penggunaan sumber daya komputasi yang lebih efisien dan hemat biaya. Selain itu, dengan membatasi berapa banyak memori atau CPU yang dapat digunakan oleh wadah, Anda dapat mencegah pemadaman yang terjadi karena proses yang tidak terkendali atau lonjakan penggunaan yang tidak terduga.