- 前提條件
0.0 環境準備
0.1 安裝docker
0.2 安裝k8s
- 使用标簽分類工作節點【當運維團隊向叢集添加新節點時,他們将通過附加标簽來對節點進行分類,這些标簽指定節點提供的硬體類型,或者任何在排程pod時能提供便利的其他資訊】
- 檢視所有node節點
kubectl get nodes
- 給node節點加标簽(假設以上指令查到的node name為iz0jl292pbpfbh34wo7707z)
kubectl label node iz0jl292pbpfbh34wo7707z gpu=true
- 列出指定标簽的node節點
kubectl get node -l gpu=true
- 列出所有節點并展示gpu标簽值
kubectl get nodes -L gpu
- 檢視所有node節點
- 将pod排程到特定節點(建立檔案kubia-gpu.yaml)
apiVersion: v1
kind: Pod
metadata:
name: kubia-gpu
spec:
nodeSelector:
gpu: "true"
containers:
- image: nuptaxin/kubia
name: kubia-gpu-c
ports:
- containerPort: 8080
protocol: TCP
- 建立pod(如果修改标簽gpu不為true
,則該pod不可排程,status一直為Pending)kubectl label node iz0jl292pbpfbh34wo7707z gpu=false
kubectl create -f kubia-gpu.yaml
- 排程到一個特定節點【我們可以将pod排程到某個确定的節點,由于每個節點都有一個唯一标簽,其中鍵為kubernetes.io/hostname,值為該節點的實際主機名。但如果節點離線,通過hostname将nodeSelector設定的特定節點可能會導緻pod不可排程。】
- 資源清理
kubectl delete pod kubia-gpu