跳至内容

标签

kOps 可以创建两种主要类型的标签

  • cloudLabels 在 AWS 实例上变为标签
  • nodeLabels 在 k8s 节点对象上变为标签

cloudLabels

cloudLabels 可以在集群和实例组级别指定。

在集群级别指定的标签将被复制到负载均衡器和主节点 EBS 卷。它们还将被合并到实例组 cloudLabels 中,在实例组中指定的标签将覆盖集群级别的标签。

cloudLabels 的一个很好的用途是指定 AWS 成本分配标签.

示例

kops edit ig nodes

...
spec:
  cloudLabels:
    team: me
    project: ion
...

kops edit cluster

...
spec:
  cloudLabels:
    team: me
    project: ion
...

nodeLabels

nodeLabels 在实例组中指定。

nodeLabels 的一个很好的用途是实现 nodeSelector 标签. cloudLabels 和 nodeLabels 会自动应用于由 AWS EC2 自动扩展组 创建的新节点。

示例

kops edit ig nodes

...
spec:
  nodeLabels:
    spot: "false"
...

请注意,键和值都是字符串,因此您需要在 YAML 否则会视为数字或布尔值的周围添加引号。

应用标签更新

要应用更改,您需要执行 kops update cluster,然后可能需要执行 kops rolling-update cluster

对于 AWS,如果 kops rolling-update cluster --instance-group nodes 返回“不需要滚动更新”,则可以使用 kops rolling-update cluster --force 标志强制执行滚动更新,即使没有识别出任何更改。

示例

kops rolling-update cluster --instance-group nodes --force