Kubectl คำสั่งปรับขนาดอัตโนมัติ

Kubectl Kha Sang Prab Khnad Xatnomati



Kubernetes ให้ความสามารถในการปรับขนาดอัตโนมัติเพื่อจัดการทรัพยากรโดยอัตโนมัติโดยไม่ต้องมีการโต้ตอบจากมนุษย์ ฟังก์ชันปรับขนาดอัตโนมัติจะเปลี่ยนจำนวนโหนดโดยอัตโนมัติเมื่อจำเป็นและช่วยประหยัดทรัพยากร ในบทความนี้ เราจะเรียนรู้วิธีปรับใช้คำสั่ง “kubectl autoscale” และการปรับขนาดอัตโนมัติ “HorizontalPodScaler” บทช่วยสอนนี้สอนรายละเอียดแนวคิดที่สำคัญนี้ ก่อนอื่นเรามาคุยกันว่าแนวคิดของ kubectl autoscale คืออะไร จากนั้นไปที่กระบวนการทีละขั้นตอนเพื่อความเข้าใจที่ดีขึ้น บทความนี้มีประโยชน์มากหากคุณยังใหม่ต่อแนวคิดของการปรับขนาดอัตโนมัติของ Kubernetes

Kubectl Autoscale คืออะไร?

การปรับขนาดอัตโนมัติเป็นคุณสมบัติหลักในคลัสเตอร์ Kubernetes ซึ่งทำให้ทรัพยากรอัปเดตโดยอัตโนมัติโดยไม่ต้องดำเนินการด้วยตนเองให้ยุ่งยาก เป็นกระบวนการที่เสียเวลาและสิ้นเปลืองทรัพยากรอย่างมากในการอัปเดตทรัพยากรที่เรียกร้องด้วยตนเอง การปรับขนาดอัตโนมัติของ Kubernetes มอบสิ่งอำนวยความสะดวกอัตโนมัติเพื่อเพิ่มประสิทธิภาพทรัพยากร

Autoscaler สามารถสร้างและทำลายจำนวนโหนดตามความต้องการ Autoscale ช่วยลดการสูญเสียทรัพยากร Kubectl autoscale จะเลือกพ็อดที่กำลังดำเนินการภายในคลัสเตอร์ Kubernetes โดยอัตโนมัติ







การปรับขนาดมีสองประเภท: (1) HorizontalPodScaler และ (2) Scaler แนวตั้ง Scaler แนวนอนแตกต่างจาก Scaler แนวตั้ง HorizontalPodScaler ช่วยในการลดหรือเพิ่มพ็อดเมื่อจำเป็น ในทางกลับกัน Vertical scaler ใช้ทรัพยากรเช่น CPU และหน่วยความจำ



นี่คือขั้นตอนทั้งหมดที่คุณสามารถทำตามในระบบของคุณและดูผลลัพธ์เพื่อความเข้าใจที่ดีขึ้น



ขั้นตอนที่ 1: การเริ่มต้น Minikube Cluster

ในขั้นตอนแรก ให้เริ่มเครื่องมือ minikube เพื่อเรียกใช้คลัสเตอร์ Kubernetes เพื่อให้เราสามารถดำเนินการคำสั่ง “kubectl autoscale” คุณสามารถตั้งค่าโหนด พ็อด และแม้แต่คลัสเตอร์ในสภาพแวดล้อม Kubernetes โดยใช้คลัสเตอร์ minikube ในการดำเนินการดังกล่าว ให้ใช้คำสั่งต่อไปนี้เพื่อให้ minikube อยู่ในโหมดแอ็คทีฟ:





~$ เริ่ม minikube

ดังที่คุณเห็นในภาพหน้าจอผลลัพธ์ต่อไปนี้ คำสั่งนี้เปิดใช้งานคลัสเตอร์ minikube และทำให้สภาพแวดล้อม Kubernetes ใช้งานได้:

ขั้นตอนที่ 2: รับรายละเอียดพ็อด

ในขั้นตอนนี้ คลัสเตอร์ Kubernetes ทำงานสำเร็จ ตอนนี้เราได้รับรายละเอียดพ็อดในคลัสเตอร์ พ็อดใน Kubernetes คือชุดของหน่วยที่แบ่งปันทรัพยากร สคริปต์ต่อไปนี้ดำเนินการโดยการรันคำสั่งต่อไปนี้ในคลัสเตอร์ minikube ของคุณ:

~$ kubectl รับพ็อด

เมื่อใช้คำสั่งก่อนหน้าซึ่งก็คือ “kubectl get pods” เราสามารถรับรายการพ็อดทั้งหมดที่ทำงานในคลัสเตอร์ Kubernetes

หลังจากดำเนินการคำสั่ง 'get pods' เราจะได้ผลลัพธ์ต่อไปนี้:

  ภาพหน้าจอของคำอธิบายโปรแกรมคอมพิวเตอร์ที่สร้างขึ้นโดยอัตโนมัติด้วยความมั่นใจต่ำ

ขั้นตอนที่ 3: รับการปรับใช้ Pod

ในคำสั่ง “kubectl get pods” ก่อนหน้านี้ เราได้รับรายละเอียดของพ็อด ตอนนี้ เราใช้คำสั่ง 'รับการปรับใช้' เพื่อรับรายการการปรับใช้ที่สร้างขึ้น สคริปต์ต่อไปนี้ดำเนินการเพื่อจุดประสงค์นี้:

~$ kubectl รับการปรับใช้

หลังจากดำเนินการคำสั่ง ภาพหน้าจอต่อไปนี้จะแสดงผลลัพธ์:

ขั้นตอนที่ 4: การปรับใช้มาตราส่วนอัตโนมัติ

คำสั่ง autoscale ใช้เพื่อทำการเลือกอัตโนมัติของพ็อดที่ทำงานในคลัสเตอร์ ด้วยการปรับใช้มาตราส่วนอัตโนมัติในคลัสเตอร์ เราจะแทรกและยุติจำนวนโหนดโดยอัตโนมัติ สคริปต์ต่อไปนี้ดำเนินการในคลัสเตอร์ minikube และแสดงชื่อไฟล์ พ็อดขั้นต่ำ และพ็อดสูงสุด โดยพ็อดควรอยู่ระหว่าง 2 ถึง 10:

~$ การปรับใช้ kubectl autoscale nginx1-deployment1 --นาที = 2 --สูงสุด = 10

หลังจากรันคำสั่ง ผลลัพธ์ต่อไปนี้จะถูกสร้างขึ้น:

ขั้นตอนที่ 5: สร้างไฟล์ Kubernetes YAML

ในขั้นตอนนี้ คุณจะได้เรียนรู้วิธีสร้างไฟล์ YAML ในคลัสเตอร์ ไฟล์ YAML มีประโยชน์สำหรับการปรับใช้และการทดสอบแอปพลิเคชัน มีหลายประเภทใน Kubernetes เพื่อสร้างและแก้ไขไฟล์

ในบทความนี้ เราใช้คำสั่ง “nano” เพื่อสร้างไฟล์ YAML เนื่องจากเป็นวิธีที่ง่ายที่สุดและเป็นทางเลือกที่ดีที่สุดสำหรับผู้เริ่มต้น

ทำตามขั้นตอนที่กำหนดที่นี่เพื่อสร้างไฟล์ YAML โดยใช้นาโน:

  • หากต้องการสร้างไฟล์ใหม่หรือเปลี่ยนไฟล์ที่มีอยู่ ให้ไปที่ตำแหน่งไดเร็กทอรีที่ต้องการ
  • พิมพ์ “นาโน” หลังจากนั้นให้เขียนชื่อไฟล์ ตัวอย่างเช่น หากคุณต้องการสร้างชื่อไฟล์ใหม่ ให้จดชื่อ – “deploo.yaml”

เรียกใช้สคริปต์ต่อไปนี้และสร้างไฟล์ YAML ในไดเรกทอรีโครงการ:

~$ นาโน deploo.yaml

หลังจากสร้างไฟล์ “deploo.yaml” แล้ว ขั้นตอนต่อไปคือกำหนดค่าไฟล์ YAML เราอธิบายในขั้นตอนต่อไปนี้

ขั้นตอนที่ 6: เนื้อหาของไฟล์ YAML

ในขั้นตอนนี้ เราสามารถกำหนดค่าเซิร์ฟเวอร์ Apache และไฟล์ PHP ได้อย่างง่ายดาย ก่อนที่เราจะใช้ HorizontalPodScaler เราต้องกำหนดค่าตัวตรวจสอบปริมาณงาน เนื่องจากโค้ดต่อไปนี้แสดง type:deployment พอร์ตของเว็บเบราว์เซอร์คือ 90 และขีดจำกัดของ CPU คือ 200m

คุณสามารถดูข้อมูลไฟล์ “deploo.yaml” ทั้งหมดได้ที่นี่:

apiVersion : แอป/v1
ใจดี
: การปรับใช้
ข้อมูลเมตา
:
ชื่อ
: php.ini
ข้อมูลจำเพาะ
:
ตัวเลือก
:
จับคู่ฉลาก
:
วิ่ง
: php-apache
แม่แบบ
:
ข้อมูลเมตา
:
ป้ายกำกับ
:
วิ่ง
: php-apache
ข้อมูลจำเพาะ
:
ตู้คอนเทนเนอร์
:
- ชื่อ
: php.ini
ภาพ
: Registry.k8s.io/hpa-example
พอร์ต
:
- พอร์ตคอนเทนเนอร์
: 90
ทรัพยากร
:
ขีด จำกัด
:
ซีพียู
: 200ม
คำขอ
:

ซีพียู
: 100ม
---
apiVersion
: v1
ใจดี
: บริการ
ข้อมูลเมตา
:
ชื่อ
: php.ini
ป้ายกำกับ
:
วิ่ง
: php-apache
ข้อมูลจำเพาะ
:
พอร์ต
:
- ท่าเรือ
: 70
ตัวเลือก
:
วิ่ง
: php-apache

ขั้นตอนที่ 7: สร้างการปรับใช้

ในขั้นตอนนี้ เรามาสร้างไฟล์ YAML ชื่อ “deploo.yaml” สคริปต์ต่อไปนี้ดำเนินการในคลัสเตอร์ minikube:

~$ kubectl สร้าง -f deploo.yaml

ผลลัพธ์ของคำสั่งดังกล่าวที่เราดำเนินการสามารถดูได้ในภาพหน้าจอต่อไปนี้ ผลลัพธ์ระบุว่าไฟล์ YAML ถูกสร้างขึ้นแล้ว:

ขั้นตอนที่ 8: สร้าง HorizontalPodScaler

ในขั้นตอนนี้ เราจะแสดงคำสั่งในการสร้าง HorizontalPodAutoscaler พ็อดจะถูกแทรกและสิ้นสุดโดยอัตโนมัติขึ้นอยู่กับความต้องการ ซึ่งแตกต่างจากการปรับขนาดแนวตั้ง โดยที่ทรัพยากร CPU และหน่วยความจำถูกกำหนดโดยมาตราส่วนอัตโนมัติ สคริปต์ต่อไปนี้ดำเนินการในคลัสเตอร์ minikube:

~$ การปรับใช้ php kubectl autoscale -- ซีพียู - เปอร์เซ็นต์ = ห้าสิบ -- นาที = 10 –สูงสุด = ยี่สิบ

ที่นี่ คุณจะเห็นว่าเราตั้งค่าต่ำสุดและสูงสุดเป็น 10 และ 20

สิ่งที่แนบมาคือผลลัพธ์ของคำสั่งก่อนหน้า:

ขั้นตอนที่ 9: ตรวจสอบ HorizontalPodScaler

ในขั้นตอนนี้ เราจะตรวจสอบสถานะปัจจุบันของ HorizontalPodAutoscaler ซึ่งสร้างขึ้นใหม่ ดำเนินการคำสั่งต่อไปนี้:

~$ kubectl รับ hpa

บทสรุป

หนึ่งในคุณสมบัติที่มีประโยชน์ที่สุดของ Kubernetes คือ “kubectl autoscale” ซึ่งให้การอัปเดตทรัพยากรอัตโนมัติในคลัสเตอร์ Kubernetes ตัวปรับขนาดอัตโนมัติช่วยเมื่อคลัสเตอร์ต้องการเพิ่มพ็อดหรือลดพ็อด ในบทความนี้ เราได้เรียนรู้วิธีการปรับขนาดอัตโนมัติสองวิธี วิธีหนึ่งคือตัวปรับขนาดอัตโนมัติเริ่มต้น และอีกวิธีคือ HorizontalPodScaler

ขั้นแรก เราปรับใช้พ็อดและประกาศ จากนั้น เราสร้างตัวปรับขนาดอัตโนมัติและกำหนดค่าเซิร์ฟเวอร์ Apache เพื่อปรับใช้ตัวตรวจสอบปริมาณงานก่อน HorizontalPodScaler หลังจากนั้น เราสร้างไฟล์ YAML และ HorizontalPodScaler บทความนี้มุ่งเน้นไปที่ขั้นตอนโดยละเอียดของการสร้าง กำหนดค่า และปรับใช้ Kubernetes แบบปรับขนาดอัตโนมัติ