คืออะไร Kustomize
การปรับแต่ง Kubernetes manifest
Kustomize เป็นเครื่องมือสำหรับปรับแต่ง Kubernetes manifests โดยไม่ต้องใช้ templates ถูกรวมเข้าใน kubectl ตั้งแต่เวอร์ชัน 1.14
แนวคิดหลัก
- Base — manifests พื้นฐานของแอปพลิเคชัน
- Overlay — เลเยอร์การแก้ไขสำหรับสภาพแวดล้อมต่างๆ
- Patches — การเปลี่ยนแปลงในฟิลด์เฉพาะ
- Kustomization.yaml — ไฟล์กำหนดค่า
คุณสมบัติหลัก
- การจัดการการกำหนดค่าแบบประกาศ
- ใช้การเปลี่ยนแปลงโดยไม่ต้องแก้ไขต้นฉบับ
- สร้าง ConfigMap และ Secret
- เพิ่ม prefixes และ labels
- จัดการหลายสภาพแวดล้อม
ข้อดีเหนือ Helm
- การรวม kubectl แบบเนทีฟ
- ทำงานกับ YAML บริสุทธิ์โดยไม่มี templates
- ง่ายกว่าสำหรับโปรเจกต์ขนาดเล็ก
- ไม่ต้องติดตั้งซอฟต์แวร์เพิ่มเติม
- เข้าใจและดีบักง่ายกว่า
การประยุกต์ใช้ DevOps
- แยกการกำหนดค่า dev/staging/prod
- จัดการ secrets และตัวแปรสภาพแวดล้อม
- ท่อ CI/CD ด้วย GitOps
- ขยายสำหรับหลาย clusters
- การควบคุมเวอร์ชันโครงสร้างพื้นฐาน