当您在实时环境中工作时,有时您希望在指定的工作节点上运行特定类型的工作负载(或应用程序)。
为了 example,生产工作负载应该在特定的工作节点上运行,并且不应该与暂存或开发工作负载混合。
这就是为节点添加标签的地方。
让我向您展示如何为节点添加标签 Kubernetes,更改标签并稍后删除这些标签。
如何在 Kubernetes 中读取节点标签
您可以按以下方式列出 Kubernetes 节点详细信息及其标签:
kubectl get nodes --show-labels
如果您想了解特定节点的详细信息,请使用以下命令:
kubectl label --list nodes node_name
标签采用键值对的形式。 它们必须以字母或数字开头,并且可以包含字母、数字、连字符、点和下划线,每个最多 63 个字符。
如何为节点分配标签
现在假设你想要 kworker-rj1
节点来托管所有与生产相关的工作负载。
让我们用适当的名称(如生产)标记该节点:
[email protected]:~# kubectl label nodes kworker-rj1 workload=production
node/kworker-rj1 labeled
确认 pod 标签:
[email protected]:~# kubectl label --list nodes kworker-rj1 | grep -i workload
workload=production
我使用 grep 命令清除不必要的细节并专注于标签。
如何覆盖节点标签
如果您稍后决定根据要求覆盖某些标签,请查看如何实现。
[email protected]:~# kubectl label --overwrite nodes kworker-rj1 workload=staging
node/kworker-rj1 labeled
您可以确认 pod 重新标记:
[email protected]:~# kubectl label --list nodes kworker-rj1 | grep -i workload
workload=staging
如何删除节点标签
要从节点中删除标签,请提供不带任何值的键。
[email protected]:~# kubectl label --overwrite nodes kworker-rj1 workload-
node/kworker-rj1 labeled
您可以确认删除节点标签:
[email protected]:~# kubectl label --list nodes kworker-rj1 | grep -i workload
[email protected]:~#
就这样! 希望您通过本教程熟悉 kubectl label 命令。
拉克什耆那教
DevOps 专业 | RHCA | 詹金斯 | 吉特 | 码头工人 | Kubernetes | 稳定 | 普罗米修斯 | 格拉法纳 | AWS Cloud