使用Ansible编辑Kubectl名称空间标签

时间:2020-01-23 11:31:55

标签: kubernetes ansible istio

我需要在Ansible中启用istio注射。我的命令是

kubectl label namespace default istio-injection=enabled

我想在Ansible中运行此命令。我将ansible k8s模块用于此任务。但这会保留错误。

  k8s:
    name: default
    kind: Namespace
    label: istio-injection=enabled

该怎么做?

1 个答案:

答案 0 :(得分:2)

您不能使用Ansible就地修改Kubernetes对象(但可以k8s_scale部署除外)。另一方面,Namespace是普通的Kubernetes对象,因此您可以使用k8s来创建或更新它。没有可以仅指定对象元数据的功能,因此您需要给出一个相当完整的对象描述。 (如果您不仅拥有Istio标签,还需要了解 all 所有名称空间标签。)

k8s:
  state: present
  definition:
    apiVersion: v1
    kind: Namespace
    metadata:
      name: default
      labels:
        'istio-injection': enabled