Argo CD คืออะไร และวิธีติดตั้งบน Kubernetes
Argo CD คือเครื่องมือที่ทำให้สถานะของคลัสเตอร์ Kubernetes ตรงกับสิ่งที่เขียนไว้ใน Git เสมอ ทีมจึงเปลี่ยนระบบด้วยการแก้ไฟล์แล้ว Merge แทนการสั่งคำสั่งบนคลัสเตอร์โดยตรง
- หมวดหมู่
- DevOps และ CI/CD
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- Apache License 2.0 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
Argo CD คืออะไร
แนวคิด GitOps คือให้ Git เป็นแหล่งความจริงเดียวของสิ่งที่ควรรันอยู่ในระบบ เมื่อมีคนแก้ไฟล์และรวมเข้าสายหลัก เครื่องมือจะนำการเปลี่ยนแปลงไปใช้กับคลัสเตอร์ให้เอง ไม่มีใครต้องสั่งงานบนเครื่องจริงด้วยมือ
ผลที่ได้คือความชัดเจนในการตรวจสอบ ทุกการเปลี่ยนแปลงมีคนอนุมัติและมีประวัติใน Git และเมื่อต้องย้อนกลับก็เพียงย้อน Commit ระบบจะปรับกลับให้เอง
Argo CD ยังตรวจจับความต่างระหว่างสิ่งที่อยู่ใน Git กับสิ่งที่รันจริงตลอดเวลา ถ้ามีคนแก้บนคลัสเตอร์โดยตรง ระบบจะแจ้งเตือนหรือปรับกลับให้ตรงกับ Git ตามที่ตั้งไว้
ความสามารถเด่นของ Argo CD
ซิงก์สถานะจาก Git อัตโนมัติ
คลัสเตอร์ตรงกับไฟล์ใน Git เสมอโดยไม่ต้องสั่งงานด้วยมือ
ตรวจจับความต่างจากสิ่งที่ประกาศไว้
แจ้งเตือนหรือปรับกลับเมื่อมีคนแก้คลัสเตอร์โดยตรง
ย้อนกลับได้ทันที
ย้อน Commit ใน Git แล้วระบบปรับคลัสเตอร์กลับให้เอง
หน้าจอเห็นภาพรวมของแอป
เห็นทุกทรัพยากรของแอปและสถานะสุขภาพในหน้าเดียว
รองรับหลายคลัสเตอร์
จัดการทั้งระบบทดสอบและระบบจริงจากศูนย์กลางเดียว
ใช้ Argo CD ทำอะไรได้บ้าง
- ทีมที่ใช้ Kubernetes และต้องการให้การ Deploy ตรวจสอบย้อนหลังได้
- องค์กรที่ต้องมีการอนุมัติก่อนเปลี่ยนแปลงระบบจริง
- ระบบที่มีหลายสภาพแวดล้อมและต้องให้ตั้งค่าตรงกัน
- ทีมที่ต้องการลดความเสี่ยงจากการสั่งคำสั่งบนคลัสเตอร์ด้วยมือ
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| ทดสอบคลัสเตอร์ทดลองที่มีแอปไม่มาก | 2 vCPU | 4 GB | NVMe 40 GB |
| แนะนำคลัสเตอร์งานจริงที่มีหลายสิบแอป | 4 vCPU | 8 GB | NVMe 80 GB |
| หลายคลัสเตอร์ศูนย์กลางที่ดูแลหลายคลัสเตอร์พร้อมกัน | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 100 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง Argo CD บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- คลัสเตอร์ Kubernetes ที่ใช้งานได้ เช่น K3s หรือ RKE2
- เครื่องมือ kubectl ที่เชื่อมกับคลัสเตอร์ได้
- ที่เก็บ Git ที่คลัสเตอร์เข้าถึงได้
ทดสอบบน Kubernetes บน Cloud Server
- 1
สร้าง Namespace และติดตั้ง
kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml - 2
ดึงรหัสผ่านเริ่มต้น
kubectl -n argocd get secret argocd-initial-admin-secret \ -o jsonpath="{.data.password}" | base64 -d; echo - 3
เปิดหน้าจอผ่าน Ingress พร้อม HTTPS
อย่าเปิดหน้าจอสู่อินเทอร์เน็ตโดยไม่มีการป้องกัน ควรจำกัดไอพีหรือให้เข้าผ่าน VPN เท่านั้น
- 4
เชื่อมกับที่เก็บ Git
เพิ่มที่เก็บพร้อมคีย์สำหรับอ่านอย่างเดียว ซึ่งเพียงพอเพราะ Argo CD ไม่ต้องเขียนกลับ
argocd repo add [email protected]:ops/manifests.git --ssh-private-key-path ~/.ssh/argocd - 5
สร้างแอปแรก
argocd app create my-app \ --repo [email protected]:ops/manifests.git \ --path apps/my-app/overlays/production \ --dest-server https://kubernetes.default.svc \ --dest-namespace production \ --sync-policy automated - 6
ตั้งนโยบายการซิงก์ให้เหมาะกับแต่ละสภาพแวดล้อม
ระบบทดสอบตั้งให้ซิงก์อัตโนมัติได้ ส่วนระบบจริงหลายองค์กรเลือกให้กดยืนยันก่อน เพื่อควบคุมช่วงเวลาที่เปลี่ยนแปลง
เก็บค่าลับไว้ใน Git ไม่ได้โดยตรง ควรใช้เครื่องมือเข้ารหัสค่าลับหรือดึงจากระบบจัดการความลับอย่าง Vault
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | หน้าจอและ API ผ่าน Ingress (ควรจำกัดการเข้าถึง) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- เปลี่ยนรหัสผ่านผู้ดูแลระบบและผูกกับระบบยืนยันตัวตนขององค์กร
- ไม่เปิดหน้าจอสู่อินเทอร์เน็ตโดยไม่จำกัดไอพีหรือไม่ผ่าน VPN
- ให้สิทธิ์เข้าถึงที่เก็บ Git แบบอ่านอย่างเดียว
- ไม่เก็บค่าลับเป็นข้อความธรรมดาใน Git
- กำหนดสิทธิ์ตามบทบาทให้แต่ละทีมเห็นเฉพาะแอปของตัวเอง
ทำไมควรรัน Argo CD บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ใช้กับคลัสเตอร์ K3s หรือ RKE2 ที่รันบน Cloud Server ในไทยได้โดยตรง
ดึงไฟล์จาก GitLab ที่ติดตั้งเองในวงเดียวกัน ทำให้กระบวนการ Deploy ไม่ต้องออกอินเทอร์เน็ต
จัดการคลัสเตอร์หลายชุดทั้งทดสอบและจริงจากศูนย์กลางเดียวในประเทศ
คำถามที่พบบ่อยเกี่ยวกับ Argo CD
Argo CD ต่างจาก Jenkins อย่างไร
Jenkins เป็นเครื่องมือสั่งงานทั่วไปที่มักใช้ทั้งบิลด์และ Deploy ส่วน Argo CD ทำเฉพาะการนำสถานะจาก Git ไปใช้กับ Kubernetes ทีมส่วนใหญ่ใช้คู่กันโดยให้ CI บิลด์และอัปเดตไฟล์ใน Git แล้วให้ Argo CD จัดการส่วน Deploy
ต้องใช้ Kubernetes ไหม
ต้องใช้ เพราะออกแบบมาสำหรับ Kubernetes โดยเฉพาะ ถ้าระบบยังรันบนเครื่องธรรมดา ควรใช้เครื่องมืออย่าง Ansible หรือไปป์ไลน์ CI ที่ Deploy ผ่าน SSH แทน
ควรตั้งให้ซิงก์อัตโนมัติไหม
ระบบทดสอบตั้งอัตโนมัติได้เต็มที่ ส่วนระบบจริงหลายองค์กรเลือกให้กดยืนยันก่อน เพื่อควบคุมช่วงเวลาที่เปลี่ยนแปลงและลดผลกระทบต่อผู้ใช้
ทางเลือกอื่นที่คล้ายกับ Argo CD
แอปอื่นในหมวด DevOps และ CI/CD
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง Argo CD ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด