由于项目部署在内网环境,但有应用A需要访问公网,而只有主机node-01是可以访问公网的,所以我们需要将应用A 的pod分配到node-01上。此时需要用到kubernetes的nodeSelector.
nodeSelector是节点选择约束的最简单的形式,通过给node添加标签的形式,将pod的分配到指定的node上。
1、给节点添加标签
我们通过以下命令给节点添加标签kubectl label nodes <node-name> <label-key>=<label-value>
> kubectl label nodes node-01 pubilc.network=True
node/node-01 labeled
查看标签,会发现多了network=True的值。
> kubectl get no --show-labels
node-01 Ready <none> 37d v1.15.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=node-01,kubernetes.io/os=linux,pubilc.network=True
2、在pod的配置中添加nodeSelector字段
pods/pay-service.yaml
apiVersion: v1
kind: Pod
metadata:
name: pay-service
lab