CKA [Workoad] – Node Selector的使用

什么是Node Selector?

Node Selector是让你的pod可以决定在哪个worker node上运行


为什么需要使用Node Selector?

1. 可以决定你的pod运行在那个worker node,因为有可能你的worker node的size并不是每个都一样,有可能你想在比较大台的worker node运行比较多pod

2. 出于合规性、性能和隔离目的而隔离工作负载

使用案例

1. 可以在pod或deployment当中添加nodeSelector

Deployment案例

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      nodeSelector:
        disktype: ssd
      containers:
      - name: my-container
        image: nginx
        ports:
        - containerPort: 80

Pod案例

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  nodeSelector:
    disktype: ssd
  containers:
  - name: my-container
    image: nginx
    ports:
    - containerPort: 80

2. 为node添加label

【查看你所有的worker node】
kubectl get nodes

【为node添加label】
kubectl label nodes [你的node名] disktype=ssd

【查看node详情】
kubectl describe nodes [你的node名]

【从node list查看label】
kubectl get nodes --show-labels

3. 如果标签都设对的话, 就会有以下的结果

kubectl get pods -o wide

4. 如果标签设错的话, 就会有以下的结果

kubectl get pods -o wide
kubectl describe pods my-pod

Loading

Facebook评论