opsta.docker_machine

Docker Maschine verwalten

Ansible-Rolle zur Verwaltung von Maschinen für Docker Maschine.

  • Docker Maschine installieren
  • Docker Maschine für jeden Ziel-Host im Inventar erstellen
  • Suchen und Ersetzen der docker Maschine config.json Datei, um das Verzeichnis zu ändern, in dem sie gespeichert wird

Beispiel für die Erstellung eines Playbooks, Konfiguration und Beispielbefehle finden Sie hier: https://github.com/winggundamth/ansible-wing-playbook

Hinweise

  • Diese Rolle führt den Befehl docker-machine auf der lokalen Maschine aus.
  • Der Name der Zielmaschine in der Inventar-Datei wird der Name der Maschine in docker-machine ls sein.
  • Der Standard-Speicherort für Docker Maschinen befindet sich im Verzeichnis files/docker-machine des Playbooks. Sie können ihn über die Variable docker_machine_storage_path ändern.
  • Diese Rolle soll eine bedingte Rolle sein, daher müssen Sie im Playbook eine Variable konfigurieren, um spezifische Aufgaben auszuführen. Ein Beispiel finden Sie im Abschnitt Beispiel-Playbook.
    • Setzen Sie die Variable docker_machine_create auf true, um docker-machine zu erstellen.
    • Setzen Sie die Variable docker_machine_manage_config auf true, um die docker Maschine config.json zu suchen und zu ersetzen.

Anforderungen

  • Sie müssen sich mit einem SSH-Schlüssel auf den Ziel-Host verbinden können.

Rollenvariablen

# Dies sind die Standardvariablen
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",' }

# Dies sind optionale Variablen
docker_machine_extra_parameters: --engine-registry-mirror https://registry-mirror.example.com

Abhängigkeiten

Keine

Beispiel-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 }}"

Liste nützlicher Tags

Es gibt einige nützliche Tags, die Sie zur Verwaltung der Docker Maschine verwenden können:

  • docker-machine-create (dazu muss die Variable docker_machine_create auf true gesetzt werden)
  • docker-machine-install (dazu muss die Variable docker_machine_create auf true gesetzt werden)
  • docker-machine-manage-config (dazu muss die Variable docker_machine_manage_config auf true gesetzt werden)

Lizenz

MIT

Autoreninformation

Sie können meine Arbeiten unter https://github.com/winggundamth einsehen.

Über das Projekt

Ansible role to manage machines for Docker Machine

Installieren
ansible-galaxy install opsta.docker_machine
GitHub Repository
Lizenz
mit
Downloads
582
Besitzer
We build scale