K8S - Development - Replicas
前言 這篇的主題是建立 development 並且確認 development 在各個狀況會如何調度資源,如果需要跳到別的部分的 k8s 筆記,請透過下方連結跳轉~ K8S - 基礎學習筆記目錄 建立 Development apiVersion: apps/v1 # 定義這個物件的類型為 Deployment kind: Deployment # 設定這個 Deployment 的 metadata(唯一識別資訊) metadata: name: py-backend-test-deployment # 設定這個 Deployment 的 spec(規格) spec: # 定義這個 Deployment 要運行的 Pod 的數量 replicas: 2 # 定義這個 Deployment 如何去選擇要管理的 Pod # 對應到 Pod 的 metadata.labels selector: matchLabels: app: py-backend-test # 定義這個 Deployment 要管理的 Pod 的模板 template: # 定義這個 Pod 的 metadata(唯一識別資訊) # 這邊的 metadata.labels 會對應到 Deployment 的 selector.matchLabels metadata: labels: app: py-backend-test spec: containers: - name: py-backend-test image: sekixu/py-backend-test:latest resources: limits: memory: "512Mi" cpu: "500m" requests: memory: "256Mi" cpu: "250m" ports: - containerPort: 8000 指令 # 套用寫好的 yaml 檔建立 development kubectl apply -f development.backend.yaml # 取得 development 資訊 kubectl get pods # example: # NAME READY UP-TO-DATE AVAILABLE AGE # py-backend-test-deployment 2/2 2 2 12s # 取得由 development 建立的 pods 資訊 kubectl get pods # example: # NAME READY STATUS RESTARTS AGE # py-backend-test-deployment-64c6765877-6mm7b 1/1 Running 0 21s # py-backend-test-deployment-64c6765877-mx5zx 1/1 Running 0 21s 資源調度 嘗試刪除掉其中一個 pods 並觀察 pod 數量,可以發現下面範例 6mm7b 結尾的 container 被刪除後,development 自動幫我們建立了 28xtj 結尾的 pod。 ...