labels 在 K8s 中是一个很重要的概念,作为一个标识,Service、Deployments 和 Pods 之间的关联都是通过 label 来实现的。而每个节点也都拥有 label,通过设置 label 相关的策略可以使得 pods 关联到对应 label 的节点上。

第一步:在节点打好label

kubectl label node nodeName key=values

例如:kubectl label node  10.200.203.19 steamapptype=tools

第二步:整改chart下的values文件

在value.yaml文件里面添加一个nodeSelector: {} 标签,哪个层级都可以,区别在于:

--set 命令的时候指定的层级不同

  

第三步:整改chart/templates/*deployment.yaml

在spec: 下的container:同级加上如下参数

{{ toYaml .Values.resources | indent 12 }}

    {{- with .Values.nodeSelector }}

      nodeSelector:

{{ toYaml . | indent 8 }}

    {{- end }}

第四步:helm 命令部署

添加如下--set 参数

--set nodeSelector.steamapptype=tools

注意自己nodeSelector字段在values.yaml的层级

第五步:采用部署功能

直接修改values参数,如下图所示:

Logo

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

更多推荐