如何更新和附加标签中的值以进行kubernetes部署

时间:2019-02-28 09:58:12

标签: kubernetes

我有要求,我想使用某种形式的自动化在部署时更新和附加标签值

例如,在初始部署中,我在kubernetes部署中将标签设置为

labels:
    customer: customerA

现在我想将标签更新为

labels:
    customer: customerA,CustomerB

我想出的一种方法是使用kubectl patch命令

 kubectl patch deployment application --patch '{"spec": {"template": {"metadata": {"labels": {"customer": "customerB"}}}}}'

但是以上命令显示了明显的行为,并为客户覆盖了之前的标签,并将新值设置为

labels
    customer: CustomerB

但是我想在标签客户中附加值,方法之一是使用以下命令

kubectl patch deployment application --patch '{"spec": {"template": {"metadata": {"labels": {"customer": "customerA,customerB"}}}}}'

但是,使用上述方法,我需要维护客户标签值列表并传递它。

有没有一种方法可以在现有部署中附加标签的值,因此我不需要维护列表。

1 个答案:

答案 0 :(得分:0)

AFAIK K8s 标签不接受逗号分隔值 -> docs
用于验证的正则表达式为 def int_21(x): if x == '2021-01-07': return '1' else: return '0' df['comm0'] = df['Date'].apply(int_21)

但您始终可以尝试一些解决方法:

'(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')