Skip to main content
Back to articles

Argo CD Application เชื่อม Git กับ Kubernetes อย่างไร

Application บอก Argo CD ว่าจะอ่าน manifest จากที่ใดและนำไปใช้กับคลัสเตอร์ใด อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

Argo CD Application เชื่อม Git กับ Kubernetes อย่างไร

Application บอก Argo CD ว่าจะอ่าน manifest จากที่ใดและนำไปใช้กับคลัสเตอร์ใด เหมาะกับการจัดการการ deploy Kubernetes ผ่าน repository และการทบทวนโค้ด บทความนี้สรุปแนวคิดจากเอกสารทางการของ Argo CD และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

Argo CD เปรียบเทียบสถานะใน Git กับ resource ที่ทำงานใน Kubernetes ทีมต้องระบุว่าใครแก้ Git และสั่ง sync ได้ รวมทั้งวิธีตรวจสุขภาพแอปหลัง deploy

หัวข้อนี้ตอบโจทย์เฉพาะเรื่อง: Application บอก Argo CD ว่าจะอ่าน manifest จากที่ใดและนำไปใช้กับคลัสเตอร์ใด จึงควรเริ่มจากปัญหาที่ต้องแก้และผลลัพธ์ที่คาดหวัง ไม่ใช่เพียงเปิดฟีเจอร์เพราะมีอยู่ในเครื่องมือ

หลักการทำงาน

ตัวควบคุมเปรียบเทียบ desired state ใน Git กับ live state แล้วแสดงผลต่างให้ผู้ดูแลเห็น

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

เหมาะกับงานแบบไหน

เหมาะกับการจัดการการ deploy Kubernetes ผ่าน repository และการทบทวนโค้ด

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

ขั้นตอนนำไปใช้

  1. ตรวจ repository, revision, namespace และ AppProject
  2. อ่าน diff ก่อน sync และดูทั้งสถานะ Synced กับ Healthy
  3. เตรียม commit สำหรับย้อนการเปลี่ยนและวิธีกู้ข้อมูล

เริ่มจากขอบเขตเล็กและเก็บผลทดสอบไว้กับการเปลี่ยนแปลง หากจะใช้ใน production ให้กำหนดผู้ติดตามผลและเงื่อนไขที่จะหยุดการขยายการใช้งาน

ข้อควรระวัง

กำหนดสิทธิ์ repository และปลายทางคลัสเตอร์ให้แคบตามหน้าที่

แปลงข้อควรระวังนี้เป็นรายการตรวจในการทบทวนงาน เพราะปัญหาจากค่าตั้งต้นอาจไม่แสดงทันทีในสภาพแวดล้อมทดสอบ

สรุป

Application บอก Argo CD ว่าจะอ่าน manifest จากที่ใดและนำไปใช้กับคลัสเตอร์ใด เหมาะกับการจัดการการ deploy Kubernetes ผ่าน repository และการทบทวนโค้ด ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

อ่านเพิ่มเติม: เอกสารทางการของ Argo CD