在Kubernetes下将pod启动到指定node节点

1、以tomcat为例的yaml文件如下:

[root@k8s-node1 yaml_file]# cat 1.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: tomcat
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tomcat
  minReadySeconds: 1
  progressDeadlineSeconds: 60
  revisionHistoryLimit: 5
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
  template:
    metadata:
      name: tomcat
      labels:
        app: tomcat
    spec:
      nodeSelector:              #node节点标签选择器
        disk: ssd                #node节点标签内容
      containers:
      - name: tomcat
        image: tomcat:8
        ports:
        - containerPort: 8080
        readinessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 45
          periodSeconds: 20
        livenessProbe:
          tcpSocket:
            port: 8080
          initialDelaySeconds: 45
          periodSeconds: 20
        volumeMounts:
        - name: tz-config
          mountPath: /etc/localtime
      volumes:
      - name: tz-config
        hostPath:
          path: /usr/share/zoneinfo/Asia/Shanghai

---
apiVersion: v1
kind: Service
metadata:
  name: tomcat
spec:
  type: NodePort
  ports:
   - port: 8080
  selector:
    app: tomcat

2、创建node节点的labels
2.1、查看node节点名称

[root@k8s-node1 ~]# kubectl get nodes
NAME             STATUS    ROLES     AGE       VERSION
192.168.29.176   Ready     <none>    17d       v1.10.3
192.168.29.182   Ready     <none>    17d       v1.10.3

2.2、添加node节点labels

kubectl label nodes <node-name> <label-key>=<label-value>   #添加label语法
[root@k8s-node1 ~]# kubectl label node 192.168.29.182 disk=ssd
node "192.168.29.182" labeled

2.3、查看pod运行状态

[root@k8s-node1 yaml_file]# kubectl get pod -o wide
tomcat-6c5598cd87-qwm4b                1/1       Running   0          18m       10.2.11.52   192.168.29.182

2.4、修改node节点标签需要添加–overwrite参数

[root@k8s-node1 ~]# kubectl label node 192.168.29.182 disk=hdd  --overwrite

2.5、查看node节点标签

[root@k8s-node1 ~]# kubectl get node --show-labels
NAME             STATUS    ROLES     AGE       VERSION   LABELS
192.168.29.176   Ready     <none>    17d       v1.10.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.29.176
192.168.29.182   Ready     <none>    17d       v1.10.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disk=ssd,kubernetes.io/hostname=192.168.29.182

2.6、删除node节点标签

kubectl label nodes <node-name> <label-key>-     #删除label语法
[root@k8s-node1 ~]# kubectl label node 192.168.29.182 disk-
node "192.168.29.182" labeled

2.7、查看删除后的结果

[root@k8s-node1 ~]# kubectl get node --show-labels
NAME             STATUS    ROLES     AGE       VERSION   LABELS
192.168.29.176   Ready     <none>    17d       v1.10.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.29.176
192.168.29.182   Ready     <none>    17d       v1.10.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=192.168.29.182
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维那些事~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值