ai

Skaffold Dev Container Orchestration

skaffold dev container orchestration
Skaffold Dev Container Orchestration

Skaffold Dev Container Orchestration คืออะไร

Skaffold Dev Container Orchestration

Skaffold เป็น CLI tool จาก Google สำหรับ automate Kubernetes development workflow ครอบคลุม build, push และ deploy containers อัตโนมัติพร้อม hot-reload Container Orchestration คือการจัดการ containers หลายตัวให้ทำงานร่วมกันอย่างมีประสิทธิภาพ ครอบคลุม scheduling, scaling, networking และ health management การรวม Skaffold กับ container orchestration ช่วยให้ developers พัฒนา microservices บน Kubernetes ได้อย่างรวดเร็ว ลด inner loop time จากนาทีเหลือวินาที

Skaffold Configuration

# skaffold.yaml — Skaffold configuration for microservices
apiVersion: skaffold/v4beta6
kind: Config
metadata:
  name: my-microservices

build:
  artifacts:
    - image: api-gateway
      context: services/api-gateway
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: "src/**/*.py"
            dest: /app

    - image: user-service
      context: services/user-service
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: "src/**/*.py"
            dest: /app

    - image: order-service
      context: services/order-service
      docker:
        dockerfile: Dockerfile

    - image: notification-service
      context: services/notification-service
      docker:
        dockerfile: Dockerfile

  local:
    push: false
    useBuildkit: true
    concurrency: 2

deploy:
  helm:
    releases:
      - name: api-gateway
        chartPath: charts/api-gateway
        valuesFiles:
          - charts/api-gateway/values-dev.yaml
        setValues:
          image.tag: "{{.IMAGE_TAG_api_gateway}}"

      - name: user-service
        chartPath: charts/user-service
        valuesFiles:
          - charts/user-service/values-dev.yaml

      - name: order-service
        chartPath: charts/order-service
        valuesFiles:
          - charts/order-service/values-dev.yaml

  statusCheckDeadlineSeconds: 120

portForward:
  - resourceType: service
    resourceName: api-gateway
    port: 8080
    localPort: 8080

  - resourceType: service
    resourceName: user-service
    port: 8081
    localPort: 8081

profiles:
  - name: dev
    activation:
      - command: dev
    patches:
      - op: add
        path: /build/local/push
        value: false

  - name: staging
    build:
      googleCloudBuild:
        projectId: my-project
    deploy:
      kustomize:
        paths:
          - k8s/overlays/staging

  - name: production
    build:
      googleCloudBuild:
        projectId: my-project
    deploy:
      kustomize:
        paths:
          - k8s/overlays/production
Skaffold Dev Container Orchestration

FAQ - คำถามที่พบบ่อย

Q: Skaffold กับ Tilt อันไหนดี?

A: Skaffold: CLI-first, config-as-YAML, CI/CD friendly, Google-backed Tilt: UI dashboard, Tiltfile (Starlark), better visualization, Docker Compose-like Skaffold ดีกว่า: CI/CD integration, simple projects, kubectl/Helm/Kustomize users Tilt ดีกว่า: complex microservices, team collaboration, visual debugging ทั้งคู่ฟรี open source — ลองทั้งคู่แล้วเลือก

เนื้อหาเกี่ยวข้อง — อ่านต่อ: LocalAI Self-hosted Developer Experience DX

Q: File sync กับ rebuild ต่างกันอย่างไร?

แนะนำเพิ่มเติม — แหล่งความรู้ Forex iCafeForex

A: File sync: copy ไฟล์ที่เปลี่ยนเข้า running container → ไม่ต้อง rebuild image (~1 วินาที) Rebuild: build Docker image ใหม่ → push → redeploy pod (~30-60 วินาที) File sync เหมาะ: source code changes (Python, JS, HTML) Rebuild จำเป็น: Dockerfile changes, dependency changes (requirements.txt)

เนื้อหาเกี่ยวข้อง — แนะนำให้อ่าน api คือน้ํามัน — ข้อมูลครบถ้วน 2026

Q: Skaffold ใช้กับ local development ได้ยังไง?

A: ต้องมี local Kubernetes: Minikube, Kind, Docker Desktop K8s, Rancher Desktop skaffold dev → build locally → deploy to local cluster → port forward → access at localhost ใช้ build.local.push: false → ไม่ push to registry (เร็วกว่า) Tips: ใช้ Kind + Skaffold = setup เร็วที่สุด

แนะนำเพิ่มเติม — หนังสือเทรดที่ SiamCafeBook

เนื้อหาเกี่ยวข้อง — อ่านต่อ: MLOps Pipeline Data Pipeline ETL — สร้างระบบ ML

Q: รองรับกี่ services ได้?

A: ไม่มี limit ทางทฤษฎี — แต่ performance ขึ้นกับ hardware 5-10 services: ทำงานดีบน laptop ทั่วไป 10-20 services: ต้อง RAM 16GB+, SSD, parallel builds 20+ services: แนะนำ remote cluster + Cloud Build แทน local Tips: ใช้ Skaffold modules — dev แค่ services ที่กำลังทำ ไม่ต้อง build ทั้งหมด

เนื้อหาเกี่ยวข้อง — อ่านต่อ: Great Expectations Cost Optimization ลดค่าใช้จ่าย

XM Legend · เทรดเดอร์ & ผู้สอน Forex 13 ปี

ผู้ก่อตั้ง SiamCafe ตั้งแต่ปี 1997 · เทรดเดอร์สาย Forex มากกว่า 13 ปี ได้รับการยกย่องเป็น XM Legend · แบ่งปันความรู้ Forex, ไอที, AI และการเทรด จากประสบการณ์จริงในตลาดจริง