Отредактируйте метку пространства имен kubectl с помощью ansible - PullRequest
1 голос
/ 23 января 2020

Мне нужно включить впрыск istio в Ansible. Моя команда:

kubectl label namespace default istio-injection=enabled

Я хочу выполнить эту команду в Ansible. Для этой задачи я использовал модуль ansible k8s. Но это сохраняет ошибки.

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

Как это сделать?

1 Ответ

1 голос
/ 23 января 2020

Вы не можете использовать Ansible для изменения объекта Kubernetes на месте (за исключением того, что вы можете k8s_scale развертывание). С другой стороны, Пространство имен является обычным объектом Kubernetes, поэтому вы можете использовать k8s для его создания или обновления. Нет возможности просто указать метаданные объекта, поэтому вам нужно дать довольно полное описание объекта. (Вам нужно знать все меток пространства имен, если у вас больше, чем просто метка Istio.)

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