Argo CD CLI คืออะไร และทำไมจึงจำเป็น
Argo CD เป็นเครื่องมือ GitOps ที่ช่วยให้การจัดการ Kubernetes Deployment ผ่าน Git Repository เป็นเรื่องง่ายและเป็นระบบ Argo CD CLI (Command Line Interface) คือเครื่องมือบรรทัดคำสั่งที่ช่วยให้ผู้ดูแลระบบสามารถควบคุมและจัดการ Argo CD ได้จาก Terminal
การใช้ Argo CD CLI มีข้อดีหลายประการ:
- ประสิทธิภาพสูง – ทำงานได้เร็วกว่า Web UI ในการจัดการ Applications
- การทำงานอัตโนมัติ – เหมาะสำหรับการเขียน Script และ CI/CD Pipelines
- การควบคุมแบบครบถ้วน – เข้าถึงทุกฟีเจอร์ของ Argo CD ผ่าน Command Line
- การทำงานระยะไกล – สามารถจัดการ Argo CD Server ที่อยู่บน Cloud VPS ได้จากเครื่องของคุณ
- ความยืดหยุ่น – สามารถรวมเข้ากับเครื่องมือ DevOps อื่น ๆ ได้อย่างลงตัว
สำหรับผู้ที่ใช้ ผู้ให้บริการโฮสติ้ง Cloud VPS ในการติดตั้ง Argo CD Server การมี CLI ติดตั้งอยู่บนเครื่องของคุณจะช่วยให้จัดการ Infrastructure ได้อย่างสะดวก
ติดตั้ง Argo CD CLI บน Linux
Linux เป็นระบบปฏิบัติการที่นิยมสำหรับผู้พัฒนาและผู้ดูแล DevOps การติดตั้ง Argo CD CLI บน Linux ทำได้ง่ายมาก
วิธีที่ 1: ดาวน์โหลด Binary โดยตรง
ดาวน์โหลด Argo CD CLI จาก GitHub Releases:
curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64
sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
rm argocd-linux-amd64
คำสั่งเหล่านี้ทำหน้าที่:
curl -sSL -o– ดาวน์โหลด Binary เวอร์ชันล่าสุดsudo install -m 555– ติดตั้งไฟล์พร้อมกำหนดสิทธิ์ Executerm– ลบไฟล์ที่ดาวน์โหลดมาหลังติดตั้งเสร็จ
วิธีที่ 2: ดาวน์โหลดเวอร์ชันเฉพาะ
หากต้องการเวอร์ชันเฉพาะเจาะจง:
VERSION=v2.10.0
curl -sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/download/$VERSION/argocd-linux-amd64
sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
rm argocd-linux-amd64
ตรวจสอบการติดตั้ง:
argocd version --client
ติดตั้ง Argo CD CLI บน macOS
ผู้ใช้ macOS มีหลายวิธีในการติดตั้ง Argo CD CLI โดย Homebrew เป็นวิธีที่สะดวกที่สุด
วิธีที่ 1: ติดตั้งด้วย Homebrew
brew install argocd
เพียงคำสั่งเดียว Homebrew จะจัดการทุกอย่างให้ ตรวจสอบการติดตั้ง:
argocd version --client
วิธีที่ 2: ดาวน์โหลด Binary โดยตรง (Intel Mac)
curl -sSL -o argocd-darwin-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-darwin-amd64
sudo install -m 555 argocd-darwin-amd64 /usr/local/bin/argocd
rm argocd-darwin-amd64
วิธีที่ 3: ดาวน์โหลด Binary โดยตรง (Apple Silicon M1/M2/M3)
curl -sSL -o argocd-darwin-arm64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-darwin-arm64
sudo install -m 555 argocd-darwin-arm64 /usr/local/bin/argocd
rm argocd-darwin-arm64
ติดตั้ง Argo CD CLI บน Windows
ผู้ใช้ Windows สามารถติดตั้ง Argo CD CLI ได้หลายวิธี
วิธีที่ 1: ติดตั้งด้วย Chocolatey
Chocolatey เป็น Package Manager สำหรับ Windows เปิด PowerShell ในฐานะ Administrator:
choco install argocd-cli
วิธีที่ 2: ติดตั้งด้วย Scoop
scoop install argocd
วิธีที่ 3: ดาวน์โหลด Binary โดยตรง
ดาวน์โหลดจาก GitHub Releases ด้วย PowerShell:
$version = (Invoke-RestMethod https://api.github.com/repos/argoproj/argo-cd/releases/latest).tag_name
$url = "https://github.com/argoproj/argo-cd/releases/download/" + $version + "/argocd-windows-amd64.exe"
$output = "C:\Tools\argocd.exe"
Invoke-WebRequest -Uri $url -OutFile $output
จากนั้นเพิ่ม C:\Tools เข้าไปใน PATH Environment Variable:
- เปิด System Properties (กด Win+X แล้วเลือก System)
- คลิก “Advanced system settings”
- คลิก “Environment Variables”
- ในส่วน User variables เลือก Path แล้วคลิก Edit
- คลิก New แล้วพิมพ์
C:\Tools - คลิก OK และรีสตาร์ท PowerShell
ตรวจสอบการติดตั้ง
หลังจากติดตั้ง Argo CD CLI บนระบบปฏิบัติการใดก็ตาม ให้ตรวจสอบว่าติดตั้งสำเร็จ:
argocd version --client
ผลลัพธ์ตัวอย่าง:
argocd: v2.10.0+fcf5d8c
BuildDate: 2024-02-01T18:10:30Z
GitCommit: fcf5d8c
GitTreeState: clean
GoVersion: go1.21.6
Compiler: gc
Platform: linux/amd64
ดูรายการคำสั่งทั้งหมด:
argocd --help
คำสั่ง Argo CD CLI ที่ใช้บ่อย
Login เข้า Argo CD Server
argocd login <ARGOCD_SERVER> --username admin --password <PASSWORD>
ตัวอย่างเชื่อมต่อ Server บน Cloud VPS:
argocd login argocd.yourdomain.com --username admin
CLI จะแสดง Password Prompt ที่ปลอดภัยกว่าการพิมพ์ใน Command
ดูรายชื่อ Applications ทั้งหมด
argocd app list
ดูรายละเอียด Application
argocd app get <APP_NAME>
Sync Application
argocd app sync <APP_NAME>
ดูความแตกต่างก่อน Sync
argocd app diff <APP_NAME>
สร้าง Application ใหม่
argocd app create myapp \
--repo https://github.com/mycompany/myrepo.git \
--path apps/myapp \
--dest-server https://kubernetes.default.svc \
--dest-namespace default
ลบ Application
argocd app delete <APP_NAME>
ตั้งค่า Auto Sync
argocd app set <APP_NAME> --sync-policy automated --auto-prune --self-heal
เชื่อมต่อ CLI ไปยัง Argo CD Server บน Cloud VPS
สำหรับผู้ใช้ ผู้ให้บริการโฮสติ้ง Cloud VPS ที่ติดตั้ง Argo CD Server ไว้ การเชื่อมต่อ CLI ทำได้ดังนี้:
เตรียมความพร้อม
- Argo CD Server ติดตั้งอยู่บน Cloud VPS
- มี IP Address หรือ Domain Name ของ Server
- Firewall เปิด Port 443 (HTTPS)
- มี Username และ Password สำหรับ Login
ขั้นตอนการเชื่อมต่อ
ตรวจสอบการเข้าถึง Server:
curl -k https://<YOUR_ARGOCD_SERVER>
Login ไปยัง Server:
argocd login <YOUR_ARGOCD_SERVER> --username admin --grpc-web
Flag --grpc-web ช่วยในกรณีที่มี Reverse Proxy อยู่ด้านหน้า หลังจาก Login สำเร็จ สามารถใช้คำสั่ง CLI ได้ทันที:
argocd app list
argocd cluster list
เคล็ดลับการใช้งาน CLI
สร้าง Aliases เพื่อประหยัดเวลา
เพิ่มใน ~/.bashrc หรือ ~/.zshrc:
alias acd="argocd"
alias acdl="argocd app list"
alias acds="argocd app sync"
alias acdg="argocd app get"
ใช้ JSON Output สำหรับ Scripting
argocd app list -o json | jq '.[].metadata.name'
ตรวจสอบ Diff ก่อน Sync เสมอ
argocd app diff <APP_NAME>
argocd app sync <APP_NAME>
ติดตามสถานะ Sync
argocd app wait <APP_NAME> --timeout 300
จัดการหลาย Context
argocd context
argocd context <SERVER_NAME>
สรุป
การติดตั้ง Argo CD CLI บน Linux, macOS และ Windows ทำได้ง่ายดาย ไม่ว่าจะผ่าน Package Manager อย่าง Homebrew, Chocolatey, Scoop หรือดาวน์โหลด Binary โดยตรง เมื่อติดตั้งแล้ว CLI จะเป็นเครื่องมือสำคัญที่ช่วยให้จัดการ Argo CD Server บน ผู้ให้บริการโฮสติ้ง Cloud VPS ได้อย่างมีประสิทธิภาพ
การใช้ CLI ร่วมกับ Web UI ทำให้คุณมีความยืดหยุ่นในการจัดการ Kubernetes Deployment ทั้งแบบ Manual และ Automated เริ่มต้นใช้งาน Cloud VPS ของ ผู้ให้บริการโฮสติ้ง สำหรับ Argo CD ได้ที่ de.co.th/cloud-vps

