Sobes.tech
Junior — Middle

Шумо чӣ гуна версияҳои навро дар кластер Kubernetes татбиқ кардед?

sobes.tech AI

Ҷавоб аз AI

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

  • Rolling Update — การแทนที่ pod เก่าอย่างค่อยเป็นค่อยไปด้วย pod ใหม่ที่มีเวอร์ชันภาพใหม่ ซึ่งเป็นวิธีมาตรฐานในการอัปเดต Deployment ที่ให้เวลาหยุดทำงานน้อยที่สุด

  • Blue-Green Deployment — การติดตั้งเวอร์ชันใหม่ควบคู่ไปกับเวอร์ชันเก่า จากนั้นเปลี่ยนเส้นทางทราฟฟิกไปยังเวอร์ชันใหม่หลังจากตรวจสอบแล้ว พร้อมตัวเลือกในการย้อนกลับ

  • Canary Deployment — เวอร์ชันใหม่จะถูกเปิดใช้งานบนส่วนเล็ก ๆ ของ pod หรือทราฟฟิกเพื่อทดสอบความเสถียรก่อนการเปิดใช้งานเต็มรูปแบบ

  • การอัปเดต manifest ด้วยเวอร์ชันภาพใหม่ (tag ของภาพ) และนำไปใช้ผ่าน kubectl apply หรือ pipelines ของ CI/CD

ตัวอย่างคำสั่งสำหรับ rolling update:

kubectl set image deployment/myapp myapp-container=myapp:2.0

คำสั่งนี้จะอัปเดต container ใน Deployment เป็นเวอร์ชัน 2.0 Kubernetes จะเปลี่ยน pod ทีละน้อยอย่างค่อยเป็นค่อยไป