คืออะไร GitOps
การจัดการโครงสร้างพื้นฐานผ่าน Git repository
GitOps คือระเบียบวิธีสำหรับจัดการโครงสร้างพื้นฐานและแอปพลิเคชันโดยที่ Git repository เป็นแหล่งความจริงเดียวสำหรับทั้งระบบ
หลักการ GitOps
- ประกาศ — โครงสร้างพื้นฐานทั้งหมดอธิบายเป็นโค้ด
- มีเวอร์ชัน — การเปลี่ยนแปลงทั้งหมดติดตามใน Git
- อัตโนมัติ — การเปลี่ยนแปลงใช้งานโดยอัตโนมัติ
- ซ่อมแซมตัวเอง — ระบบกลับสู่สถานะเป้าหมายโดยอัตโนมัติ
ประโยชน์
- ประวัติที่สมบูรณ์ของการเปลี่ยนแปลงทั้งหมด
- ย้อนกลับไปเวอร์ชันก่อนหน้าได้ง่าย
- การตรวจสอบและการปฏิบัติตามในตัว
- การเริ่มต้นที่ง่ายขึ้นสำหรับนักพัฒนาใหม่
- ความปลอดภัยที่เพิ่มขึ้น (ไม่มีการเข้าถึง production โดยตรง)
เครื่องมือ
- Argo CD — GitOps controller ที่นิยมสำหรับ Kubernetes
- Flux — GitOps operator โดย Weaveworks
- Jenkins X — CI/CD พร้อม GitOps สำหรับ Kubernetes
- Terraform — Infrastructure as Code
เวิร์กโฟลว์
- นักพัฒนาสร้าง Pull Request
- Code Review และการทดสอบอัตโนมัติ
- Merge เข้า branch หลัก
- GitOps operator ซิงค์ cluster
- การตรวจสอบยืนยันการ deploy สำเร็จ