Perintah Autoscale Kubectl

Perintah Autoscale Kubectl



Kubernetes menyediakan keupayaan autoscaling untuk mengurus sumber secara automatik tanpa interaksi manusia. Fungsi autoskala menukar secara automatik bilangan nod apabila diperlukan dan menjimatkan sumber. Dalam artikel ini, kita akan mempelajari cara untuk menggunakan perintah 'kubectl autoscale' dan 'HorizontalPodScaler' autoscaling. Tutorial ini mengajar konsep penting ini secara terperinci. Mari kita bincangkan dahulu apakah konsep skala auto kubectl dan kemudian menuju ke proses langkah demi langkah untuk pemahaman yang lebih baik. Artikel ini sangat berguna jika anda baru dalam konsep penskalaan automatik Kubernetes.

Apakah Skala Auto Kubectl?

Autoscaling ialah ciri utama dalam gugusan Kubernetes yang menjadikan sumber untuk mengemas kini secara automatik tanpa perlu bersusah payah melakukannya secara manual. Ia adalah proses yang sangat membazir masa dan sumber untuk mengemas kini sumber yang menuntut secara manual. Penskalaan automatik Kubernetes menyediakan kemudahan automatik untuk mengoptimumkan sumber.

Autoscaler boleh mencipta dan memusnahkan bilangan nod mengikut keperluan. Autoscale mengurangkan pembaziran sumber. Skala auto Kubectl secara automatik memilih pod yang sedang dilaksanakan di dalam gugusan Kubernetes.







Terdapat dua jenis penskalaan: (1) HorizontalPodScaler dan (2) Vertical scaler. Penimbang mendatar adalah berbeza daripada penimbang Menegak. HorizontalPodScaler membantu dalam pengurangan atau peningkatan pod apabila diperlukan. Sebaliknya, penimbang Menegak menggunakan sumber seperti CPU dan memori.



Berikut ialah semua langkah yang boleh anda ikuti dalam sistem anda dan lihat output untuk pemahaman yang lebih baik.



Langkah 1: Memulakan Kluster Minikube

Dalam langkah pertama, mulakan alat minikube untuk menjalankan gugusan Kubernetes supaya kita boleh melaksanakan perintah 'kubectl autoscale'. Anda boleh menyediakan nod, pod dan juga kluster dalam persekitaran Kubernetes menggunakan kluster minikube. Untuk berbuat demikian, gunakan arahan berikut untuk memastikan minikube dalam mod aktif:





~$ mulakan minikube

Seperti yang anda boleh lihat dalam tangkapan skrin output berikut, arahan ini mendayakan kluster minikube dan menjadikan persekitaran Kubernetes boleh digunakan:

Langkah 2: Dapatkan Butiran Pod

Dalam langkah ini, kluster Kubernetes berjalan dengan jayanya. Sekarang, kami mendapat butiran pod dalam kelompok. Pod dalam Kubernetes ialah koleksi unit yang berkongsi sumber. Skrip berikut dilaksanakan dengan menjalankan arahan berikut dalam kluster minikube anda:

~$ kubectl dapatkan pod

Menggunakan arahan sebelumnya iaitu 'kubectl get pods', kita boleh mendapatkan senarai semua pod yang dijalankan dalam kelompok Kubernetes.

Selepas melaksanakan arahan 'dapatkan pod', kami memperoleh output berikut:

  Tangkapan skrin program komputer Perihalan dijana secara automatik dengan keyakinan rendah

Langkah 3: Dapatkan Deployments of Pod

Dalam arahan 'kubectl get pods' sebelumnya, kami mendapat butiran pod. Sekarang, kami menggunakan arahan 'dapatkan penempatan' untuk mendapatkan senarai penggunaan yang dibuat. Skrip berikut dilaksanakan untuk tujuan ini:

~$ kubectl mendapatkan penempatan

Selepas melaksanakan arahan, tangkapan skrin berikut menunjukkan output:

Langkah 4: Penerapan Skala Auto

Perintah autoscale digunakan untuk membuat pemilihan automasi pod yang dijalankan dalam kelompok. Dengan menggunakan skala auto dalam kelompok, kami secara automatik memasukkan dan menamatkan bilangan nod. Skrip berikut dilaksanakan dalam kluster minikube dan ia menunjukkan nama fail, pod minimum dan pod maksimum di mana pod hendaklah antara 2 hingga 10:

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

Selepas melaksanakan arahan, output berikut dihasilkan:

Langkah 5: Cipta Fail YAML Kubernetes

Dalam langkah ini, anda akan belajar untuk mencipta fail YAML dalam kelompok. Fail YAML berguna untuk penggunaan dan ujian aplikasi. Terdapat pelbagai jenis dalam Kubernetes untuk membuat dan mengedit fail.

Dalam artikel ini, kami menggunakan arahan 'nano' untuk mencipta fail YAML kerana ia adalah cara paling mudah dan pilihan terbaik untuk pemula.

Ikuti langkah yang diberikan di sini untuk mencipta fail YAML menggunakan nano:

  • Untuk mencipta fail baharu atau menukar fail sedia ada, navigasi ke lokasi direktori yang dikehendaki.
  • Taipkan “nano”. Selepas itu, tulis nama fail. Contohnya, jika anda ingin membuat nama fail baharu, tuliskan nama – “deploo.yaml”.

Jalankan skrip berikut dan buat fail YAML dalam direktori projek:

~$ nano deploo.yaml

Selepas mencipta fail 'deploo.yaml', langkah seterusnya ialah mengkonfigurasi fail YAML. Kami menerangkannya dalam langkah berikut.

Langkah 6: Kandungan Fail YAML

Dalam langkah ini, kami boleh mengkonfigurasi pelayan Apache dan fail PHP dengan mudah. Sebelum kita menggunakan HorizontalPodScaler, kita mesti mengkonfigurasi monitor beban kerja. Oleh kerana sekeping kod berikut menunjukkan jenis:pengerahan, port penyemak imbas web ialah 90 dan had CPU ialah 200m.

Anda boleh melihat maklumat lengkap fail 'deploo.yaml' di sini:

apiVersion : apl/v1
baik hati
: Kerahan
metadata
:
nama
: php
spek
:
pemilih
:
matchLabels
:
lari
: php-apache
templat
:
metadata
:
label
:
lari
: php-apache
spek
:
bekas
:
- nama
: php
gambar
: registry.k8s.io/hpa-example
pelabuhan
:
- Pelabuhan kontena
: 90
sumber
:
had
:
CPU
: 200m
permintaan
:

CPU
: 100m
---
apiVersion
: v1
baik hati
: Perkhidmatan
metadata
:
nama
: php
label
:
lari
: php-apache
spek
:
pelabuhan
:
- pelabuhan
: 70
pemilih
:
lari
: php-apache

Langkah 7: Buat Deployment

Dalam langkah ini, mari buat fail YAML bernama 'deploo.yaml'. Skrip berikut dilaksanakan dalam kluster minikube:

~$ kubectl create -f deploo.yaml

Output arahan yang disebutkan di atas yang kami laksanakan boleh dilihat dalam tangkapan skrin yang berikut. Output menunjukkan bahawa fail YAML telah dibuat:

Langkah 8: Cipta HorizontalPodScaler

Dalam langkah ini, kami akan menunjukkan kepada anda arahan untuk mencipta HorizontalPodAutoscaler. Pod dimasukkan dan ditamatkan secara automatik bergantung pada permintaan. Ia berbeza daripada penskalaan menegak, di mana CPU dan sumber memori diperuntukkan oleh autoscale. Skrip berikut dilaksanakan dalam kluster minikube:

~$ kubectl autoscale deployment php -- CPU - peratus = lima puluh -- min = 10 –maks = dua puluh

Di sini, anda dapat melihat bahawa kami menetapkan nilai untuk minimum dan maksimum kepada 10 dan 20.

Dilampirkan ialah output arahan sebelumnya:

Langkah 9: Semak HorizontalPodScaler

Dalam langkah ini, kami menyemak status semasa HorizontalPodAutoscaler yang baru dibuat. Perintah berikut dilaksanakan:

~$ kubectl dapatkan hpa

Kesimpulan

Salah satu ciri Kubernetes yang paling berguna ialah 'kubectl autoscale' yang menyediakan kemas kini sumber automatik dalam kelompok Kubernetes. Autoscaler membantu apabila kluster perlu meningkatkan pod atau mengurangkan pod. Dalam artikel ini, kami mempelajari dua kaedah autoscale – satu ialah autoscaler lalai dan satu lagi ialah HorizontalPodScaler.

Mula-mula, kami mengerahkan pod dan mengisytiharkannya. Kemudian, kami mencipta autoscaler dan mengkonfigurasi pelayan Apache untuk menggunakan monitor beban kerja sebelum HorizontalPodScaler. Selepas itu, kami mencipta fail YAML dan HorizontalPodScaler. Artikel ini memfokuskan pada langkah terperinci untuk mencipta, mengkonfigurasi dan menggunakan Kubernetes skala auto.