通過ACK One Fleet實例,您可以像在單個集群上一樣,使用相同的方式創建任務。創建完成后,由Fleet實例根據任務需要的資源和關聯集群的剩余資源,執行動態調度策略,選擇適合的關聯集群下發任務,任務在關聯集群上運行,并返回狀態到Fleet實例。本文介紹如何在Fleet實例中創建任務Job。
前提條件
已開啟艦隊管理功能。具體操作,請參見開啟艦隊管理功能。
艦隊的Fleet實例已添加多個關聯集群。具體操作,請參見添加關聯集群。
已從ACK One控制臺獲取Fleet實例的KubeConfig,并通過kubectl連接至Fleet實例。
已安裝AMC命令行工具。具體操作,請參見AMC命令行幫助。
操作步驟
開發用戶使用以下YAML文件,在Fleet實例上創建任務。
示例的命名空間為
demo
,示例任務名為pi
。apiVersion: batch/v1 kind: Job metadata: name: pi namespace: demo spec: parallelism: 2 template: spec: containers: - name: pi1 image: perl:5.34.0 command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"] resources: requests: memory: "64Mi" cpu: "250m" limits: memory: "128Mi" cpu: "500m" restartPolicy: Never backoffLimit: 4
執行以下命令,在Fleet實例上獲取任務的調度結果。
如果調度失敗,則顯示為空,請檢查是否正確配置命名空間與配額。如果命名空間配置配額或者配額用完,作業將暫停調度。
kubectl get job pi -n demo -o jsonpath='{.metadata.annotations.scheduling\.x-k8s\.io/placement}'
執行以下命令,在Fleet實例上獲取任務的運行狀態。
kubectl get job pi -n demo
預期輸出:
NAME COMPLETIONS DURATION AGE pi 2/1 of 2 28s 6m20s
執行以下命令獲取任務相關Pod的運行狀態。
kubectl amc get pod -j job/pi -n demo
預期輸出:
Run on ManagedCluster managedcluster-c1xxxe5 NAME READY STATUS RESTARTS AGE pi-h6z98 0/1 Completed 0 11d pi-xfg6r 0/1 Completed 0 11d
執行以下命令獲取Pod的運行日志。
kubectl amc logs pi1-h6z98 -j job/pi -n demo
預期輸出:
Run on ManagedCluster managedcluster-c1xxxe5 3.1415926...
文檔內容是否對您有幫助?