vmware.coreos-bootstrap

Status budowy

WAŻNE: po ansible 2.1, poniższy trik nie jest już ważny:

ansible_python_interpreter="PATH=/home/core/bin:$PATH python"

Dobrą wiadomością jest to, że nie jest to już potrzebne. Poniższe rozwiązanie jest teraz działające i kompatybilne ze starszymi i nowszymi wersjami ansible (i jest prostsze):

ansible_python_interpreter="/home/core/bin/python"

coreos-bootstrap

Aby efektywnie uruchomić ansible, maszyna docelowa musi mieć interpreter Pythona. Maszyny CoreOS są minimalne i nie zawierają żadnej wersji Pythona. Aby obejść to ograniczenie, możemy zainstalować pypy, lekki interpreter Pythona. Rola coreos-bootstrap zainstaluje pypy dla nas, a my zaktualizujemy nasz plik inwentarzowy, aby korzystał z zainstalowanego interpretera Pythona.

Aktualna wersja: 0.6.3

instalacja

ansible-galaxy install vmware.coreos-bootstrap

Konfiguracja projektu

W przeciwieństwie do typowej roli, musisz skonfigurować Ansible, aby używał alternatywnego interpretera Pythona dla hostów CoreOS. Można to zrobić, dodając grupę coreos do swojego pliku inwentarzowego oraz ustawiając zmienne grupy na używanie nowego interpretera Pythona. W ten sposób możesz używać ansible do zarządzania hostami CoreOS i nie-CoreOS. Po prostu umieść każdy host z CoreOS w grupie inwentarzowej coreos, a on automatycznie użyje określonego interpretera Pythona.

[coreos]
host-01
host-02

[coreos:vars]
ansible_ssh_user=core
ansible_python_interpreter="/home/core/bin/python"

To skonfiguruje ansible do użycia interpretera Pythona w /home/core/bin/python, który zostanie utworzony przez rolę coreos-bootstrap.

Playbook Bootstrap

Teraz możesz po prostu dodać poniższe do swojego pliku playbook i zawrzeć go w swoim site.yml, aby uruchomić go na wszystkich hostach w grupie coreos.

- hosts: coreos
  gather_facts: False
  roles:
    - vmware.coreos-bootstrap

Upewnij się, że gather_facts jest ustawione na false, w przeciwnym razie ansible spróbuje najpierw zebrać informacje o systemie przy użyciu Pythona, który nie jest jeszcze zainstalowany!

Przykład Playbooka

Po zainstalowaniu bootstrap, możesz używać ansible jak zwykle do zarządzania usługami systemowymi, instalowania modułów Pythona (przez pip) i uruchamiania kontenerów. Poniżej znajduje się podstawowy przykład, który uruchamia usługę etcd, instaluje moduł docker-py, a następnie używa modułu ansible docker, aby pobrać i uruchomić podstawowy kontener nginx.

- name: Przykład Nginx
  hosts: web
  tasks:
    - name: Uruchom etcd
      service: name=etcd.service state=started
      sudo: yes
      sudo_user: root

    - name: Zainstaluj docker-py
      pip: name=docker-py

    - name: pobierz kontener
      raw: docker pull nginx:1.7.1

    - name: uruchom kontener nginx
      docker:
        image="nginx:1.7.1"
        name="example-nginx"
        ports="8080:80"
        state=running

Licencja

MIT

O projekcie

CoreOS bootstrap

Zainstaluj
ansible-galaxy install vmware.coreos-bootstrap
Licencja
mit
Pobrania
9.8k
Właściciel