Рейтинг:0

применить манифест calico через основной модуль ansible kubernetes

флаг cn

Я пытаюсь установить calico на существующий кластер kubernetes с одним узлом (установленный через kubeadm). Два манифеста тигра-оператор и пользовательские ресурсы. Это отлично работает, если я вручную устанавливаю его через kubectl:

kubectl -f применить tigera-operator.yaml
customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org создан
создано customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org
customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org создан
customresourcedefinition.apiextensions.k8s.io/apiservers.operator.tigera.io создан
customresourcedefinition.apiextensions.k8s.io/imagesets.operator.tigera.io создан
customresourcedefinition.apiextensions.k8s.io/installations.operator.tigera.io создан
customresourcedefinition.apiextensions.k8s.io/tigerastatuses.operator.tigera.io создан
создано пространство имен/тигровый оператор
Предупреждение: policy/v1beta1 PodSecurityPolicy устарела в v1.21+, недоступна в v1.25+
Создан podsecuritypolicy.policy/tigera-operator
serviceaccount/tigera-оператор создан
Clusterrole.rbac.authorization.k8s.io/tigera-operator создан
Clusterrolebinding.rbac.authorization.k8s.io/tigera-operator создан
Deployment.apps/tigera-оператор создан

Когда я пытаюсь установить его через доступный модуль kubernetes (ядро или сообщество, это одно и то же), я получаю следующую ошибку:

фатальный: [работа-пве]: FAILED! => {"changed": false, "msg": "Не удалось найти точное совпадение для operator.tigera.io/v1.Installation by [kind, name, singleName, shortNames]"}

Манифест, конечно, представляет собой смесь всех видов ресурсов и содержит более 5 тысяч строк. Я не уверен, как решить проблему, но я с нетерпением жду любых предложений. Я предполагаю, что эта проблема возникает и с другими манифестами, поэтому я не думаю, что это проблема, связанная с калико.

Ансибл задача:

- имя: применить манифест манифеста тигра-оператора
  kubernetes.core.k8s:
    источник: "/tmp/tigera-operator.yaml"
    состояние: присутствует
    kubeconfig: /etc/kubernetes/admin.conf

На хосте запускаю ansible 4.4 (apple m1, устанавливал через brew).
На сервере у меня Ubuntu 20.04.3.
Библиотеки пипов: openshift (0.12.1), kubernetes (12.0.1).

Рейтинг:1
флаг cn

В конце концов, я смог решить ее довольно легко. Мне нужно было добавить применять директива к задаче. Итак, теперь это выглядит так (я также добавляю вторую связанную задачу):

- имя: применить манифест манифеста тигра-оператора
  kubernetes.core.k8s:
    источник: "/tmp/tigera-operator.yaml"
    состояние: присутствует
    применять: да
    kubeconfig: /etc/kubernetes/admin.conf

- имя: применить манифест кастомных ресурсов Calico
  kubernetes.core.k8s:
    источник: "/tmp/custom-resources.yaml"
    состояние: присутствует
    применять: да
    kubeconfig: /etc/kubernetes/admin.conf

Справка: https://docs.ansible.com/ansible/latest/collections/community/kubernetes/k8s_module.html

apply сравнивает желаемое определение ресурса с ранее предоставленным определением ресурса, игнорируя автоматически сгенерированные свойства. apply лучше работает со службами, чем «force=yes»

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.