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 podMenggunakan 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:
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 penempatanSelepas 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 = 10Selepas 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.yamlSelepas 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/v1baik 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.yamlOutput 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 puluhDi 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 hpaKesimpulan
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.