如何在Kubernetes中添加或者删除标签到节点
时间:2020-03-05 15:31:09 来源:igfitidea点击:
当我们在实时环境上工作时,有时需要运行特定类型的工作负载(或者应用程序)指定的工人节点。
例如,生产工作负载应该在特定的工作者节点上运行,不应与暂存或者开发工作负载混合。
这是向节点添加标签的位置将有用。
让我向我们展示如何将标签添加到Kubernetes中的节点,更改标签并稍后删除这些标签。
如何在Kubernetes中读取节点标签
我们可以以这种方式列出Kubernetes节点详细信息以及他们的标签:
kubectl get nodes --show-labels
如果我们想知道特定节点的详细信息,请使用以下内容:
kubectl label --list nodes node_name
The labels are in form of key-value pair. They must begin with a letter or number, and Jan contain letters, numbers, hyphens, dots, and underscores, up to 63 characters each.
如何将标签分配给节点
现在假设我们希望"kWorker-rj1"节点托管所有生产相关的工作负载。
让我们用相应的名称标记该节点(如生产):
Hyman@theitroad:~# kubectl label nodes kworker-rj1 workload=production node/kworker-rj1 labeled
确认POD标签:
Hyman@theitroad:~# kubectl label --list nodes kworker-rj1 | grep -i workload workload=production
我使用grep命令用来杂草不必要的细节并专注于标签。
如何覆盖节点标签
如果我们稍后决定根据要求覆盖某些标签,请参阅如何实现这一目标。
Hyman@theitroad:~# kubectl label --overwrite nodes kworker-rj1 workload=staging node/kworker-rj1 labeled
我们可以确认POD重新标记:
Hyman@theitroad:~# kubectl label --list nodes kworker-rj1 | grep -i workload workload=staging
如何删除节点标签
要从节点中删除标签,请提供键而没有任何值。
Hyman@theitroad:~# kubectl label --overwrite nodes kworker-rj1 workload node/kworker-rj1 labeled
我们可以确认节点标签删除:
Hyman@theitroad:~# kubectl label --list nodes kworker-rj1 | grep -i workload Hyman@theitroad:~#