Perintah Skala Otomatis Kubectl

Perintah Skala Otomatis Kubectl



Kubernetes menyediakan kemampuan penskalaan otomatis untuk mengelola sumber daya secara otomatis tanpa interaksi manusia. Fungsi skala otomatis secara otomatis mengubah jumlah node saat diperlukan dan menghemat sumber daya. Pada artikel ini, kita akan mempelajari cara menerapkan perintah 'kubectl autoscale' dan autoscaling 'HorizontalPodScaler'. Tutorial ini mengajarkan konsep penting ini secara detail. Pertama-tama mari kita bahas apa itu konsep autoscale kubectl dan kemudian menuju ke proses langkah demi langkah untuk pemahaman yang lebih baik. Artikel ini sangat berguna jika Anda baru mengenal konsep penskalaan otomatis Kubernetes.

Apa itu Autoscale Kubectl?

Autoscaling adalah fitur utama di cluster Kubernetes yang membuat resource diperbarui secara otomatis tanpa harus repot melakukannya secara manual. Ini adalah proses yang sangat membuang-buang waktu dan sumber daya untuk memperbarui sumber daya yang diminta secara manual. Autoscaling Kubernetes menyediakan fasilitas otomatis untuk mengoptimalkan sumber daya.

Autoscaler dapat membuat dan menghancurkan jumlah node sesuai kebutuhan. Skala otomatis mengurangi pemborosan sumber daya. Autoscale Kubectl secara otomatis memilih pod yang sedang dijalankan di dalam kluster Kubernetes.







Ada dua jenis penskalaan: (1) HorizontalPodScaler dan (2) Penskalaan vertikal. Scaler Horizontal berbeda dengan Scaler Vertikal. HorizontalPodScaler membantu mengurangi atau menambah pod saat dibutuhkan. Di sisi lain, penskala Vertikal menggunakan sumber daya seperti CPU dan memori.



Berikut ini semua langkah yang dapat Anda ikuti di sistem Anda dan lihat hasilnya untuk pemahaman yang lebih baik.



Langkah 1: Memulai Klaster Minikube

Pada langkah pertama, jalankan alat minikube untuk menjalankan kluster Kubernetes sehingga kita dapat menjalankan perintah “kubectl autoscale”. Anda dapat menyiapkan node, pod, dan bahkan klaster di lingkungan Kubernetes menggunakan klaster minikube. Untuk melakukannya, gunakan perintah berikut untuk menjaga minikube dalam mode aktif:





~$ mulai minikube

Seperti yang dapat Anda lihat pada screenshot keluaran berikut, perintah ini mengaktifkan cluster minikube dan membuat lingkungan Kubernetes dapat digunakan:

Langkah 2: Dapatkan Detail Pod

Pada langkah ini, cluster Kubernetes berjalan dengan sukses. Sekarang, kami mendapatkan detail pod di cluster. Pod di Kubernetes adalah kumpulan unit yang berbagi sumber daya. Skrip berikut dijalankan dengan menjalankan perintah berikut di kluster minikube Anda:

~$ kubectl dapatkan pod

Menggunakan perintah sebelumnya yaitu “kubectl get pods”, kita bisa mendapatkan daftar semua pod yang berjalan di cluster Kubernetes.

Setelah menjalankan perintah 'dapatkan pod', kami memperoleh output berikut:

  Tangkapan layar Deskripsi program komputer dibuat secara otomatis dengan keyakinan rendah

Langkah 3: Dapatkan Deployment Pod

Pada perintah “kubectl get pods” sebelumnya, kita mendapatkan detail pod. Sekarang, kami menggunakan perintah 'get deployment' untuk mendapatkan daftar penerapan yang dibuat. Skrip berikut dijalankan untuk tujuan ini:

~$ kubectl mendapatkan penerapan

Setelah menjalankan perintah, tangkapan layar berikut menunjukkan hasilnya:

Langkah 4: Penerapan Skala Otomatis

Perintah autoscale digunakan untuk membuat pemilihan otomatisasi pod yang berjalan di cluster. Dengan menerapkan skala otomatis di kluster, kami secara otomatis memasukkan dan menghentikan jumlah node. Skrip berikut dijalankan di kluster minikube dan menunjukkan nama file, pod minimum, dan pod maksimum di mana pod harus antara 2 hingga 10:

~$ kubectl autoscale deployment nginx1-deployment1 --min = 2 --maks = 10

Setelah menjalankan perintah, output berikut dihasilkan:

Langkah 5: Buat File YAML Kubernetes

Pada langkah ini, Anda akan belajar membuat file YAML di cluster. File YAML berguna untuk penerapan dan pengujian aplikasi. Ada berbagai jenis di Kubernetes untuk membuat dan mengedit file.

Pada artikel ini, kami menggunakan perintah “nano” untuk membuat file YAML karena ini adalah cara termudah dan pilihan terbaik untuk pemula.

Ikuti langkah-langkah yang diberikan di sini untuk membuat file YAML menggunakan nano:

  • Untuk membuat file baru atau mengubah yang sudah ada, arahkan ke lokasi direktori yang diinginkan.
  • Ketik “nano”. Setelah itu tulis nama filenya. Misalnya, jika Anda ingin membuat nama file baru, tuliskan nama – “deploo.yaml”.

Jalankan skrip berikut dan buat file YAML di direktori proyek:

~$nano deploo.yaml

Setelah membuat file “deploo.yaml”, langkah selanjutnya adalah mengkonfigurasi file YAML. Kami menjelaskannya pada langkah berikut.

Langkah 6: Konten File YAML

Pada langkah ini, kita dapat dengan mudah mengkonfigurasi server Apache dan file PHP. Sebelum menggunakan HorizontalPodScaler, kita harus mengonfigurasi monitor beban kerja. Seperti potongan kode berikut menunjukkan kind:deployment, port browser web adalah 90 dan batas CPU adalah 200m.

Anda dapat melihat informasi file “deploo.yaml” lengkap di sini:

apiVersion : aplikasi/v1
baik
: Penyebaran
metadata
:
nama
: php
spek
:
pemilih
:
matchLabels
:
berlari
: php-apache
templat
:
metadata
:
label
:
berlari
: php-apache
spek
:
kontainer
:
- nama
: php
gambar
: registry.k8s.io/hpa-contoh
port
:
- containerPort
: 90
sumber daya
:
batas
:
cpu
: 200 m
permintaan
:

cpu
: 100m
---
apiVersion
: v1
baik
: Melayani
metadata
:
nama
: php
label
:
berlari
: php-apache
spek
:
port
:
- pelabuhan
: 70
pemilih
:
berlari
: php-apache

Langkah 7: Buat Deployment

Pada langkah ini, mari buat file YAML bernama “deploo.yaml”. Skrip berikut dijalankan di kluster minikube:

~$ kubectl create -f deploo.yaml

Output dari perintah tersebut yang kami jalankan dapat dilihat pada tangkapan layar berikut. Outputnya menunjukkan bahwa file YAML telah dibuat:

Langkah 8: Buat HorizontalPodScaler

Pada langkah ini, kami akan menunjukkan kepada Anda perintah untuk membuat HorizontalPodAutoscaler. Pod dimasukkan dan diakhiri secara otomatis tergantung pada permintaan. Ini berbeda dari penskalaan vertikal, di mana sumber daya CPU dan memori ditetapkan oleh penskalaan otomatis. Skrip berikut dijalankan di kluster minikube:

~$ kubectl penerapan skala otomatis php -- cpu - persen = lima puluh -- min = 10 –maks = dua puluh

Di sini, Anda dapat melihat bahwa kami menetapkan nilai minimum dan maksimum ke 10 dan 20.

Terlampir adalah output dari perintah sebelumnya:

Langkah 9: Periksa HorizontalPodScaler

Pada langkah ini, kami memeriksa status HorizontalPodAutoscaler saat ini yang baru saja dibuat. Perintah berikut dijalankan:

~$ kubectl dapatkan hpa

Kesimpulan

Salah satu fitur Kubernetes yang paling berguna adalah “kubectl autoscale” yang menyediakan pembaruan sumber daya otomatis di kluster Kubernetes. Autoscaler membantu ketika sebuah cluster perlu menambah pod atau mengurangi pod. Dalam artikel ini, kita mempelajari dua metode penskalaan otomatis – satu adalah penskala otomatis default dan yang lainnya adalah HorizontalPodScaler.

Pertama, kami menerapkan pod dan mendeklarasikannya. Kemudian, kami membuat penskala otomatis dan mengonfigurasi server Apache untuk menerapkan monitor beban kerja sebelum HorizontalPodScaler. Setelah itu, kami membuat file YAML dan HorizontalPodScaler. Artikel ini berfokus pada langkah-langkah mendetail untuk membuat, mengonfigurasi, dan menerapkan Kubernetes skala otomatis.