kubernetes labels控制调度节点

为node 添加labels disktype=ssd

[root@k8s-master /]# kubectl label node k8s-node01 disktype=ssd
node/k8s-node01 labeled
[root@k8s-master /]# kubectl get node --show-labels
NAME         STATUS   ROLES    AGE   VERSION   LABELS
k8s-master   Ready    master   22d   v1.15.4   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master,kubernetes.io/os=linux,node-role.kubernetes.io/master=
k8s-node01   Ready    <none>   22d   v1.15.4   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node01,kubernetes.io/os=linux
k8s-node02   Ready    <none>   22d   v1.15.4   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node02,kubernetes.io/os=linux

加入label之前

[root@k8s-master /]# kubectl get pod -o wide
NAME                                   READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES k8s-node02   <none>           <none>
demo-wpp-deployment-7cf9dd6ff6-pfc55   1/1     Running   0          14m   10.244.1.19   k8s-node02   <none>           <none>
demo-wpp-deployment-7cf9dd6ff6-qg25v   1/1     Running   0          14m   10.244.2.18   k8s-node01   <none>           <none>

加入label

---
 apiVersion: v1
 kind: Service
 metadata:
   name: demo-wpp-service
 spec:
   type: NodePort
   selector:
     app: demo-wpp
   ports:
    - port: 80
      targetPort: 8088
      nodePort: 30089
---
 apiVersion: extensions/v1beta1
 kind: Deployment
 metadata:
   name: demo-wpp-deployment
 spec:
   replicas: 2
   template:
     metadata:
       labels:
         app: demo-wpp
     spec:
       nodeSelector:
         disktype: ssd
       containers:
         - name: demo-wpp
           image: registry.cn-shanghai.aliyuncs.com/glodoncornerstone/demo_wpp
           imagePullPolicy: IfNotPresent
           args: [
                "--mysql.host=$(mysql_host)"
           ]
           env:
             - name: mysql_host
               valueFrom:
                  configMapKeyRef:
                    name: demo-wpp-configmap
                    key: mysql_host
           ports:
             - containerPort: 8088
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: demo-wpp-configmap
data:
  mysql_host: "222222"

加入label之后

[root@k8s-master /]# kubectl get pod -o wide
NAME                                  READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES k8s-node02   <none>           <none>
demo-wpp-deployment-f88554f8b-h2hlm   1/1     Running   0          8s    10.244.2.19   k8s-node01   <none>           <none>
demo-wpp-deployment-f88554f8b-tzb47   1/1     Running   0          8s    10.244.2.20   k8s-node01   <none>           <none>

现在已全部调度至node1 节点

发布了55 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/AAA17864308253/article/details/103805090