标签
为Pod打标签可以实现对Pod的轻易分组,比如通过标签可以将Pod分为生产环境、测试环境,从而一次性对整个组的Pod进行操作。
比如每一个Pod都有下面两个标签:
app:指定Pod属于哪个应用、组件或微服务;
rel:显示Pod中运行的应用程序的版本,分为stable、beta和canary;

为Pod打标签
有两种方式:
使用YAML配置文件:详情见管理Pod章节中创建Pod中的YAML文件。
使用命令:为kubia-manual这个Pod添加
creation_method
标签,其值为manual
:kubectl label pods kubia-manual creation_method=manual
修改Pod标签
有两种方式:
修改资源配置文件:可参考常用命令中修改资源的方式,修改资源配置的
metadata.labels
配置项后,保存即可;使用命令,添加
--overwrite
选项即可:kubectl label pods kubia-manual creation_method=half-auto --overwrite
为Node打标签
使用命令,为名为minikube-node的Node打上gpu=true
这个标签:
kubectl label nodes minikube-node gpu=true
同样可以使用-l
匹配标签的方式来筛选Node,与管理Pod一节中介绍的筛选Pod时使用的-l
用法一样。
将Pod调度到特定一类Node
在YAML配置文件中,使用spec.nodeSelector
将Pod调度到包含该标签的Node上,YAML的具体写法参考管理Pod一节中创建Pod中的详细的YAML格式文件。
将Pod调度到某一个Node
每一个Node都有一个kubernetes.io/hostname
的标签,其值记为该Node的主机名,由于Kubernetes集群要求每一个Node的hostname都是不一致的,因此可以使用spec.nodeSelector
中指定该标签及值的方式,将Pod调度到特定的Node上。
Last updated
Was this helpful?