Flux Subsystem for Argo — คลื่นหลังการสร้างตัวเชื่อม Argo CD และ Flux เข้าด้วยกัน

Chanwit Kaewkasi
2 min readApr 16, 2022

หลังจากสร้างตัวเชื่อม Flux และ Argo CD ที่เรียกว่า Flux Subsystem for Argo ได้สำเร็จ โยง GitOps ของทั้งสองฝั่งเข้าด้วยกันแล้ว ก็มีเสียงตอบกลับทั้งในทางบวกและลบ

เสียงตอบรับที่เป็นบวก ส่วนใหญ่มาจากผุ้ใช้ Argo CD ที่กำลังตกระกำลำบากกับฟีเจอร์การสนับสนุน Helm ที่ไม่สมบูรณ์ของ Argo CD เพราะมันมักจะทำให้ระบบบน Production พังถ้าต้องอัพเกรด Helm Chart ใหญ่ ๆ

ใน Flux Subsystem for Argo กลไกการจัดการ Helm ถูกชดเชยด้วย Helm Controller คุณภาพสูงจาก Flux แบบนี้

ในแง่มุมอื่นก็อาจจะมีบ้าง เช่น อยากใช้บางฟีเจอร์ของ Flux บน Argo CD แต่ก็ไม่เยอะเท่าเรื่อง Helm พัง

ส่วนเรื่องความแย่ในเชิง Security ของ Argo CD นั้นไม่ค่อยมีผู้ใช้ฝั่ง Argo CD แคร์เลย ทั้ง ๆ ที่เป็นเรื่องคอขาดบาดตาย

แต่พอดูจากข้อมูล Survey ของ CNCF Argo Project ก็พอจะเข้าใจได้ เพราะว่าการ Deploy Argo CD ในปัจจุบันเน้นไปที่โครงการขนาดเล็ก 50–100 App ดูแลได้ด้วยตัวคนเดียว เรื่อง Security เลยยังไม่จำเป็นสำหรับผู้ใช้กลุ่มนี้ จากข้อมูล Survey จำนวนโครงการขนาดใหญ่มากมีอยู่แค่ 10%

พูดถึงทางลบบ้าง

เสียงตอบรับที่เป็นลบ ที่ไม่ค่อยอยากให้เกิด Flux Subsystem for Argo ขึ้นมานั้น เจอว่าไม่ได้มาจากผู้ใช้ Argo CD เลย ความไม่พอใจและข้อโต้แย้งล้วนมาจาก Argo CD เวนเดอร์ล้วน ๆ ตอนแรกก็เจอคนนึงประมาณว่าน่าจะเป็นผู้ใช้ Argo CD แต่พอได้อ่าน Profile ก็กลายเป็นคนสร้างชิ้นส่วนให้ Argo CD ที่มาจากบริษัท ๆ หนึ่ง

เลยได้ข้อสรุปว่า จากมุมมองของผู้ใช้แล้ว Pain Point แสนสาหัสของ Argo CD มีอยู่จริง และทุกคนอยากได้ทางออกเพื่อแก้ปัญหาแบบที่ไม่ต้องเปลี่ยนระบบทั้งระบบ เพราะกลัวผลกระทบหลายอย่าง แต่เป็นเรื่องน่าเศร้าว่า Argo CD เวนเดอร์ ไม่ได้ใจกว้างกับผู้ใช้ขนาดนั้น

เมื่อได้ข้อสรุปที่ดูเป็นเหตุเป็นผลพอสมควรแล้ว ก็เริ่มพัฒนา Flux Subsystem for Argo ต่อ อย่างน้อยก็เพื่อช่วยปลดล็อคในด้านความลำบากของการตัดสินใจในองค์กร ประเภทกลัวว่าเลือกตัวนี้มาทำ GitOps แล้ว จะมีคนรอดูว่าเราพลาดมั้ย จะกลายเป็นข้ออ้างเอามาเล่นงานกันรึเปล่า

ตอนนี้ไม่ต้องกลัวแล้วครับ การเลือกเครื่องมือ GitOps มีความเป็นอิสระมากขึ้นแล้ว

ถ้าเลือก Argo CD เพราะ UI แล้วเจอข้อจำกัดอื่น จะ Switch ไป Flux ก็จะมีทางไปได้ง่าย ๆ โดยไม่จำเป็นต้องโละระบบเดิมที่เคยใช้อยู่ทิ้ง ๆ ค่อย ๆ Migrate ไปได้ เพราะ Flux Subsystem for Argo ในทางเทคนิคแล้วก็แค่ Argo CD รุ่นนึง

UI เหมือนกันเป๊ะ

Engineer ใน Culture DevOps ที่ทำงานหนักเพื่อบริษัทไม่ควรค่าแก่การตำหนิเพียงเพราะความพยายามในการเลือกเครื่องมือมาช่วยปรับปรุงให้ DevOps CI/CD pipeline มันดีขึ้น

ทุกคนควรมีโอกาสได้ GitOps pipeline ดี ๆ ไปใช้ ไม่ว่าจะเริ่มจากการเลือกเครื่องมืออะไรก็ตาม

--

--

Chanwit Kaewkasi

Creator Weave TF-controller, Kubernetes & GitOps for Terraform, SNR SE @weaveworks, Go nut since r57 (pre v1)