通過nodeSelector配置項實現pod部署至指定node


Node節點添加標簽

[root@node1 work]# kubectl label nodes node1 node=master --overwrite
node/node1 labeled
[root@node1 work]# kubectl label nodes node2 node=master --overwrite 
node/node2 labeled
[root@node1 work]# kubectl label nodes node3 node=master --overwrite 
node/node3 labeled
[root@node1 work]# kubectl get nodes --show-labels
NAME STATUS ROLES AGE VERSION LABELS
node1 Ready <none> 5d18h v1.12.0-rc.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node1,node=master
node2 Ready <none> 5d18h v1.12.0-rc.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node2,node=master
node3 Ready <none> 5d18h v1.12.0-rc.2 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/hostname=node3,node=master

 

編排文件

[root@node1 work]# cat nginx.yaml 
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: dep-staff-nginx
  namespace: default
spec:
  replicas: 3
  template:
    metadata:
      labels:
        name: staff-nginx
    spec:
      containers:
      - name: staff-nginx
        image: nginx:1.7.9
        imagePullPolicy: IfNotPresent
        env:
        - name: TZ
          value: "Asia/Shanghai"
        ports:
        - name: tcp80
          containerPort: 80
      nodeSelector:
        node: "master"  

---
kind: Service
apiVersion: v1
metadata:
  name: staff-proxy-service
  labels:
    name: staff-proxy-service 
spec:
  type: NodePort
  selector:
    name: staff-nginx
  ports:
    - name: tcp80
      port: 80
      targetPort: 80
      nodePort: 30080

 參考鏈接

https://k8smeetup.github.io/docs/concepts/configuration/assign-pod-node/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM