geerlingguy.packer-debian

Rola Ansible: Konfiguracja Packer dla Debian/Ubuntu do Vagrant VirtualBox

CI

Ta rola konfiguruje Debian/Ubuntu (minimalną lub pełną instalację) w celu przygotowania go do spakowania jako część pliku .box dla Vagrant/VirtualBox lub Vagrant/Vmware_desktop przy użyciu Packer.

Wymagania

Przed uruchomieniem tej roli za pomocą Packer, musisz upewnić się, że Ansible jest zainstalowany poprzez provisioner shell oraz, że wstępna konfiguracja VM (jak dodanie użytkownika vagrant do odpowiedniej grupy i pliku sudoers) jest zakończona, zazwyczaj przy użyciu pliku konfiguracyjnego Kickstart (np. ks.cfg) lub preseeding z Packer. Przykładowa tablica provisionerów dla szablonu Packer .json wygląda tak:

"provisioners": [
  {
    "type": "shell",
    "execute_command": "echo 'vagrant' | {{.Vars}} sudo -S -E bash '{{.Path}}'",
    "script": "scripts/ansible.sh"
  },
  {
    "type": "ansible-local",
    "playbook_file": "ansible/main.yml",
    "role_paths": [
      "/Users/jgeerling/Dropbox/VMs/roles/geerlingguy.packer-debian",
    ]
  }
],

Pliki powinny zawierać, co najmniej:

scripts/ansible.sh:

Przykład dla Ubuntu 16.04

#!/bin/bash -eux
# Instalacja repozytoriów Ansible i Ansible.
apt -y install software-properties-common
apt-add-repository ppa:ansible/ansible
apt-get update
apt-get install ansible

Przykład dla Debian 8.8

#!/bin/bash -eux
# Instalacja repozytoriów Ansible i Ansible.
apt -y install software-properties-common
echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
apt -y update
apt -y install ansible

ansible/main.yml:

---
- hosts: all
  sudo: yes
  gather_facts: yes
  roles:
    - geerlingguy.packer-debian

Możesz również dodać inny provisioner shell do uruchomienia czyszczenia, usuwając wolne miejsce za pomocą dd, ale to nie jest wymagane (po prostu zaoszczędzi trochę miejsca na dysku w pliku .box produkowanym przez Packer).

Jeśli chcesz dodać dodatkowe role, upewnij się, że dodasz je do tablicy role_paths w szablonie .json, a następnie możesz je włączyć w main.yml tak, jak zwykle. Konfiguracja Ansible będzie uruchamiana z lokalnego połączenia w systemie Linux, więc wszystkie istotne pliki muszą być skopiowane do VM; konfiguracja dla tego jest w szablonie .json. Przeczytaj więcej: Ansible Local Provisioner.

Zmienne Roli

Dostępne zmienne są wymienione poniżej, wraz z domyślnymi wartościami (zobacz defaults/main.yml):

vmware_install_open_vm_tools: false

(Tylko VMware) Przy użyciu zmiennej vmware_install_open_vm_tools możesz wybrać, jakie komponenty integracyjne będą instalowane w VMware box. Domyślnie (false) instaluje VMware Tools, a nie open-vm-tools.

Przeczytaj więcej:

Zależności

Brak.

Przykład Playbooka

---
- hosts: all
  roles:
    - geerlingguy.packer-debian

Licencja

MIT / BSD

Informacje o Autorze

Ta rola została stworzona w 2014 roku przez Jeffa Geerlinga, autora Ansible for DevOps.

O projekcie

Debian/Ubuntu configuration for Packer.

Zainstaluj
ansible-galaxy install geerlingguy.packer-debian
Licencja
mit
Pobrania
23.2k
Właściciel
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns