node節點IP 192.168.1.205
給節點添加標簽的命令
添加label語法
kubectl label nodes <node-name> <label-key>=<label-value>
實戰
kubectl label node 192.168.1.205 mem=large
查看現有node及label
通過--show-labels 選項將節點的標簽顯示出來
kubectl get node --show-labels
給節點刪除標簽的命令
刪除label語法
kubectl label nodes <node-name> <label-key>-
kubectl label node 192.168.1.205 mem-
上面命令中的mem-中的mem為標簽的鍵,后面的減號表示將該標簽刪除
kubernetes通過資源配置文件的nodeSelector屬性來對節點進行選擇
在Deployment配置文件,spec屬性中增加nodeSelector屬性
如下的Deployment配置文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 3
template:
metadata:
labels:
app: nginx
track: stable
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
nodeSelector:
mem: large
創建一個名為nginx-deployment.yaml的配置文件
kubectl apply -f nginx-deployment.yaml
kubectl get pods -o wide
除了可以在配置文件中通過nodeSelector屬性指定節點之外,用戶在命令行中也可以通過
-l或者--labels=這兩個選項指定節點的標簽,例如
kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=3 --labels='mem=large'