首页 文章

如何在创建时将标签设置为Kubernetes节点?

提问于
浏览
7

我正在跟踪指南[1]以创建具有1个主节点和2个节点的多节点K8S集群 . 此外,标签需要分别设置到每个节点 .

Node 1 - label name=orders 
Node 2 - label name=payment

我知道以上可以通过运行kubectl命令来实现

kubectl get nodes
kubectl label nodes <node-name> <label-key>=<label-value>

但我想知道如何在创建节点时设置标签 . 节点创建指南在[2]中 .

感谢您的意见 .

[1] https://coreos.com/kubernetes/docs/latest/getting-started.html

[2] https://coreos.com/kubernetes/docs/latest/deploy-workers.html

2 回答

  • 3

    您可以选择几种方式 . 最简单的恕我直言将使用systemd单元来安装和配置kubectl,然后运行 kubectl label 命令 . 或者,您可以直接使用 curl 更新node's metadata中的标签 .

    话虽如此,虽然我不知道您的确切用例,但您在节点上使用标签的方式似乎是绕过Kubernetes的一些关键功能,例如跨节点动态调度组件 . 我建议您自动标记节点,而不是尝试解决为什么需要首先识别节点 .

  • 4

    事实上,从1.3或类似的东西开始,实现这一目标有一个微不足道的方法 .

    负责注册节点的是在其上启动的kubelet进程,你需要做的就是传递一个像这样的标志 --node-labels 'role=kubemaster' . 这就是我如何区分AWS k8s群集中不同自动缩放组之间的节点 .

相关问题