opsta.docker_machine
Zarządzanie Docker Machine
Rola Ansible do zarządzania maszynami dla Docker Machine.
- Instalacja Docker Machine
- Utworzenie Docker Machine na każdym docelowym hoście w inwentarzu
- Wyszukiwanie i zastępowanie pliku config.json Docker Machine, aby zmienić katalog na ten, w którym są przechowywane dane
Możesz zobaczyć przykład, jak stworzyć playbook, konfigurację i przykładowe komendy tutaj: https://github.com/winggundamth/ansible-wing-playbook
Uwagi
- Ta rola uruchomi komendę docker-machine na lokalnej maszynie
- Nazwa docelowej maszyny w pliku inwentarza będzie nazwą maszyny w docker-machine ls
- Domyślna ścieżka przechowywania dla Docker Machine będzie w files/docker-machinew playbooku. Możesz ją zmienić, używając zmiennejdocker_machine_storage_path
- Ta rola ma być rolą warunkową, więc w playbooku musisz skonfigurować zmienną dla konkretnego zadania do wykonania. Możesz zobaczyć przykład w sekcji Przykładowy Playbook- Ustaw zmienną docker_machine_createnatrue, aby uruchomić utworzenie Docker Machine
- Ustaw zmienną docker_machine_manage_confignatrue, aby wyszukać i zastąpić plik config.json Docker Machine
 
- Ustaw zmienną 
Wymagania
- Musisz móc połączyć się z docelowym hostem za pomocą klucza SSH
Zmienne roli
# To są domyślne zmienne
docker_machine_create: false
docker_machine_manage_config: false
docker_machine_install_version: 0.7.0
docker_machine_install_url: https://github.com/docker/machine/releases/download/v{{ docker_machine_install_version }}/docker-machine-{{ ansible_system }}-{{ ansible_architecture }}
docker_machine_install_path: /usr/local/bin/docker-machine
docker_machine_install_checksum: md5:bf73bbfee97fad04d3ff20151b1847fa
docker_machine_storage_path: "{{ playbook_dir }}/files/docker-machine"
docker_machine_config_file: "{{ docker_machine_storage_path }}/machines/{{ inventory_hostname }}/config.json"
docker_machine_config_variables:
  - { regexp: '"StorePath": "(.*)",$', replace: '"StorePath": "{{ docker_machine_storage_path }}",' }
  - { regexp: '"StorePath": "(.*)"$', replace: '"StorePath": "{{ docker_machine_storage_path }}/machines/{{ inventory_hostname }}"' }
  - { regexp: '"CertDir": "(.*)",$', replace: '"CertDir": "{{ docker_machine_storage_path }}/certs",' }
  - { regexp: '"CaCertPath": "(.*)",$', replace: '"CaCertPath": "{{ docker_machine_storage_path }}/certs/ca.pem",' }
  - { regexp: '"CaPrivateKeyPath": "(.*)",$', replace: '"CaPrivateKeyPath": "{{ docker_machine_storage_path }}/certs/ca-key.pem",' }
  - { regexp: '"ServerCertPath": "(.*)",$', replace: '"ServerCertPath": "{{ docker_machine_storage_path }}/machines/{{ inventory_hostname }}/server.pem",' }
  - { regexp: '"ServerKeyPath": "(.*)",$', replace: '"ServerKeyPath": "{{ docker_machine_storage_path }}/machines/{{ inventory_hostname }}/server-key.pem",' }
  - { regexp: '"ClientKeyPath": "(.*)",$', replace: '"ClientKeyPath": "{{ docker_machine_storage_path }}/certs/key.pem",' }
  - { regexp: '"ClientCertPath": "(.*)",$', replace: '"ClientCertPath": "{{ docker_machine_storage_path }}/certs/cert.pem",' }
# To są opcjonalne zmienne
docker_machine_extra_parameters: --engine-registry-mirror https://registry-mirror.example.com
Zależności
Brak
Przykładowy Playbook
- hosts: all
  connection: local
  gather_facts: yes
  become: false
  roles:
    - role: winggundamth.docker_machine
      docker_machine_create: true
      docker_machine_manage_config: true
  vars_files:
    - "{{ docker_machine_vars_file }}"
Lista przydatnych tagów
Istnieją przydatne tagi, których możesz użyć do zarządzania Docker Machine:
- docker-machine-create (należy ustawić zmienną docker_machine_createnatrue)
- docker-machine-install (należy ustawić zmienną docker_machine_createnatrue)
- docker-machine-manage-config (należy ustawić zmienną docker_machine_manage_confignatrue)
Licencja
MIT
Informacje o autorze
Możesz zobaczyć moje prace na https://github.com/winggundamth
Zainstaluj
 ansible-galaxy install opsta.docker_machineLicencja
 
            mit
          
Pobrania
 
            592
          
Właściciel
 DevSecOps Platform Specialist Company with our flagship product, Opstella: The DevSecOps Platform Engineering Portal.
