メインコンテンツへスキップ
記事一覧へ戻る

จัดการ Secret ใน GitOps กับ Argo CD

GitOps ต้องมีวิธีส่งความลับให้คลัสเตอร์โดยไม่เก็บ plaintext ใน repository อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

จัดการ Secret ใน GitOps กับ Argo CD

GitOps ต้องมีวิธีส่งความลับให้คลัสเตอร์โดยไม่เก็บ plaintext ใน repository เหมาะกับระบบที่ใช้ Argo CD กับ credential ของแอปและฐานข้อมูล บทความนี้สรุปแนวคิดจากเอกสารทางการของ Argo CD และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

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

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

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

แนวทางอาจใช้ระบบ secret ภายนอกหรือเครื่องมือเข้ารหัสที่เข้ากับกระบวนการสร้าง manifest

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

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

เหมาะกับระบบที่ใช้ Argo CD กับ credential ของแอปและฐานข้อมูล

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

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

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

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

ข้อควรระวัง

พิจารณาสิทธิ์ของผู้เห็น manifest ที่ render แล้วและ log ของ controller ด้วย

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

สรุป

GitOps ต้องมีวิธีส่งความลับให้คลัสเตอร์โดยไม่เก็บ plaintext ใน repository เหมาะกับระบบที่ใช้ Argo CD กับ credential ของแอปและฐานข้อมูล ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

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