ข้อมูลเบื้องต้น
Kubernetes v1.29 ประกาศพร้อมใช้งานแล้ว ภายใตัชื่อที่ว่า Kubernetes v1.29: Mandala (The Universe) ซึ่งจะเป็นตัวสุดท้ายของปี 2566 (ก็น่าจะอย่างนั้นนะ วันนี้ก็กลางเดือนธันวาคมแล้ว ไม่น่าจะมีอะไรใหม่ประกาศออกมาอีกแล้ว รูปของ K8s v1.29 ได้รับแรงบันดาลใจจากศิลปะ ที่เรียกว่า Mandala ซึ่งสัญลักษณ์ของจักรวาลในความสมบูรณ์ ก็แปลกตาไปอีกแบบได้เป็นสัญญลักษณ์ของ K8s เป็นสีชมพู อยู่ตรงกลางล้อมรอบด้วยลวดลายที่ดูแปลกตาสำหรับคนไทย K8s v1.29 มีความเปลี่ยนแปลง 49 รายการ โดยที่ 11 รายการเปลี่ยนไปเข้าสู่ Stable, 19 รายการเข้าสู่ Beta และ 19 รายการเข้าสู่ Alpha
เพิ่ม nftables เข้าไปเพิ่ม backend ของ kube-proxy
kube-proxy บน Linux ในปัจจุบันใช้ iptables เป็นค่าเริ่มต้น ซึ่งเป็นระบบกรองและประมวลผลแพ็กเก็ตที่ได้รับความนิยมในเคอร์เนล Linux มาหลายปี (เริ่มต้นด้วยเคอร์เนล 2.4 ในปี 2001) อย่างไรก็ตาม คนที่เคยใช้งานให้ iptables เป็นเบื้องหลังให้ kube-proxy ก็จะทราบถึงปัญหา, และข้อจำกัดทางด้านประสิทธิภาพของ iptables ดังนั้นปัญหาที่แก้ไขไม่ได้กับ iptables นำไปสู่การพัฒนาให้ kube-proxy นำเอา nftables แทน
nftables เข้าไปเพิ่ม backend ของ kube-proxy ยังอยู่ในสถานะ Alpha เท่านั้น
ถึงแม้จะยังอยู่ในสถานะ Alpha ก็เป็นจุดเริ่มต้นให้เราได้จับตามมองถึงความเปลี่ยนแปลงในส่วนของ kube-proxy และเห็นถึงวิสัยทัศน์ของทีมงานที่มีการพัฒนาอย่างต่อเนื่องของ Kubernetes ...
รูปแบบของสถานะของความสามารถใน Kubernetes (Feature Stage)
Alpha Stage เป็นสถานะที่ ยังอยู่ในระหว่างการพัฒนาและอาจไม่เสถียร เหมาะสำหรับการทดสอบและทดลองเท่านั้น
- เป็นความสามารถที่ไม่ได้เปิดให้ใช้งานโดน default ถ้าต้องการใช้ต้องไปเปิดใช้ความสามารถนี้เอง
- อาจจะยังไม่ bug อยู่อีกเพียบ เปิดมาใช้งานแล้วมีโอกาสไม่เสถียรสูงมาก
- อาจจะได้ไปต่อ หรือถูกถอดออกไปโดยที่ไม่ต้องแจ้งล่วงหน้า ถ้ามันไปต่อไม่ได้ก็ไม่ฝืน
- API อาจจะยังมีความเปลี่ยนแปลงอยู่ อาจจะใช้ได้ในรุ่นที่กำลังทดสอบ แต่ในรุ่นถัดไปอาจจะใช้ไม่ได้เลย โดยที่ไม่ต้องแจ้งล่วงหน้า
Beta Stage เป็นสถานะ ที่ผ่านการทดสอบมาเยอะแล้วและค่อนข้างเสถียร เหมาะสำหรับการใช้งานจริง แต่ยังมีความเสี่ยงจากการเปลี่ยนแปลงในอนาคต จะหยิบไปใช้ในงานสำคัญ ก็อาจจะต้องพิจารณากันให้ละเอียดถึงผลกระทบ
- โดยปกติจะเป็นใช้งานโดย default ยกเว้นพวกกลุ่ม API ถ้ายังเป็น beta อยู่จะยังปิดใช้งานโดย default
- ผ่านการทดสอบมาเยอะและค่อนข้างเสถียร
- โดยภาพรวม ถ้าอยู่ในสถานะนี้แล้วจะไม่ถูดถอดออกไปแน่นอน แต่ว่า อาจจะมีความเปลี่ยนแปลงในรายละเอียดเล็ก ๆ น้อย ๆ
- ถ้าเป็น Kubernetes Object พวกโครงสร้างของ Object รายละเอียดใน Object อาจจะมีการเปลี่ยนแปลกได้ และถ้ามีความเปลี่ยนแปลงที่ทำงานด้วยกันไม่ได้เลย ก็จะมีคำแนะนำในการจัดการความเปลี่ยนแปลงที่เกิดขึ้น
General Availability (GA) หรือ Stable Stage เป็นสถานะที่ผ่านการพัฒนาและทดสอบอย่างสมบูรณ์ เหมาะสำหรับการใช้งานจริง
- เป็นความสามารถที่เปิดใช้งานโดย default และไม่สามารถปิดไม่ให้ใช้งานได้
- ไม่จำเป็นต้องไปจัดการผ่าน feature gate
- มีเสถียรภาพในการสใช้งาน และจะถูกบรรจุความสามารถนี้ใน version ถัดไป
Ref: