在一些有特殊需求的情况下,可能会涉及到将某些服务或者是某些pod固定要起在哪些节点上的需求,例如某些可能对磁盘IO性能要求比较高的pod,要固定起在使用ssd的node上,以下为通过lables来实现以上的需求

1、对node进行label的添加和修改

基础语法

添加label

kubectl label nodes <node-name> <label-key>=<label-value> 

删除label

kubectl label nodes <node-name> <label-key>-

修改label

kubectl label nodes <node-name> <label-key>=<label-value> --overwrite
添加label的选择

在pod或者rc的配置项中添加如下配置

nodeSelector: 
       node: kube-node4
详细配置文件举例

apiVersion: v1
kind: ReplicationController
metadata:
 name: nginx
spec:
 replicas: 6
 template:
   metadata:
     labels:
       run: nginx
   spec:
     containers:
     - name: nginx
       image: nginx:1.7.9
       ports:
         - containerPort: 80
       volumeMounts:
         - mountPath: /data/db
           name: nginx
     volumes: [{"name":"nginx","hostPath":{"path":"/root/volumes/nginx"}}]
     nodeSelector: 
       node: ssd
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐