标签 ¶
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