Модуль Ansible K8s: не удалось импортировать необходимую библиотеку Python (openshift) в Python / usr / bin / python3 - PullRequest
0 голосов
/ 26 марта 2020

Конверт

Ansible 2.9.6 (python3)

Попытка запустить простую пьесу

- hosts: master
  gather_facts: no
  become: yes
  tasks:
    - name: create name space
      k8s:
        name: testing
        api_version: v1
        kind: Namespace
        state: present

Получение следующая ошибка

The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_k8s_payload_u121g92v/ansible_k8s_payload.zip/ansible/module_utils/k8s/common.py", line 33, in <module>
    import kubernetes
ModuleNotFoundError: No module named 'kubernetes'
fatal: [192.168.20.38]: FAILED! => {
    "changed": false,
    "error": "No module named 'kubernetes'",
    "invocation": {
        "module_args": {
            "api_key": null,
            "api_version": "v1",
            "append_hash": false,
            "apply": false,
            "ca_cert": null,
            "client_cert": null,
            "client_key": null,
            "context": null,
            "force": false,
            "host": null,
            "kind": "Namespace",
            "kubeconfig": null,
            "merge_type": null,
            "name": "testing",
            "namespace": null,
            "password": null,
            "proxy": null,
            "resource_definition": null,
            "src": null,
            "state": "present",
            "username": null,
            "validate": null,
            "validate_certs": null,
            "wait": false,
            "wait_condition": null,
            "wait_sleep": 5,
            "wait_timeout": 120
        }
    },
    "msg": "Failed to import the required Python library (openshift) on k8smasternode's Python /usr/bin/python3. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter"
}

Меня смущает, что

  • причина root равна "нет модуля с именем kubernetes" ?
  • или "Не удалось импортировать необходимую библиотеку Python (openshift) в Python / usr / bin / python3" ?

И как это исправить?

Буду признателен за любую помощь!

btw,

Главный узел Kubernetes имеет / usr / bin / python3

1 Ответ

0 голосов
/ 26 марта 2020

Взгляните на документацию здесь: https://docs.ansible.com/ansible/latest/modules/k8s_module.html

Похоже, вам нужно иметь:

  • python> = 2,7
  • openshift> = 0,6
  • PyYAML> = 3,11

Один из способов сделать это:

pip install openshift pyyaml kubernetes 

Примечание, я добавил kubernetes здесь, но я считаю, что это зависимость от openshift.

...