abessifi.docker

Ansible Docker

Описание

Статус сборки Ansible Galaxy Среднее время решения проблемы Процент открытых проблем

Это роль Ansible для установки Docker на нескольких дистрибутивах GNU/Linux.

Требования

Программные требования

  • Python 2.7 или выше (доступен на целевых серверах)
  • Ansible 2.0 или выше (можно легко установить через pip. Например: sudo pip install ansible==2.0.0.2)
  • Vagrant 1.7 или выше (для тестирования)
  • Virtualbox (для тестирования с Vagrant)
  • Oh-my-box инструмент, необязателен, если вы хотите быстро подготовить и упаковать базовый бокс Vagrant с предустановленным Ansible и Ruby (рекомендуется для написания и запуска тестов с помощью test-kitchen против роли Ansible).

Поддерживаемые системы

  • Debian
  • Ubuntu
  • CentOS

Больше информации в метаданном файле роли.

Зависимости

Нет.

Переменные роли

  • docker_install_latest - Флаг для установки последней версии Docker (по умолчанию: true)
  • docker_pkg_version - Если определено, эта переменная должна указывать версию пакета Docker, который нужно установить в соответствии с Linux-дистрибутивом (по умолчанию: не определено). Например: для установки Docker 1.12.0 на Debian Jessie установите docker_pkg_version в 1.12.1, что приведет к имени пакета, например 1.12.0-0~jessie. В этом случае docker_install_latest следует установить в false.
  • docker_py_lib_version - Версия библиотеки docker-py для установки (по умолчанию: 1.10.5)
  • docker_compose_tool_version - Версия инструмента docker-compose для установки (по умолчанию: 1.6.2)

Доступные теги

  • docker-setup - Укажите этот тег для установки и конфигурации Docker.
  • docker-start-service - Запускает службу Docker.
  • docker-stop-service - Останавливает службу Docker.
  • docker-restart-service - Перезапускает службу Docker.
  • docker-install-dockerpy - Укажите этот тег для установки библиотеки docker-py.
  • docker-install-compose - Укажите этот тег Ansible, если хотите установить инструмент docker-compose.

Использование

Чтобы установить Docker Engine на вашей платформе, начните с установки роли из Ansible Galaxy:

ansible-galaxy install abessifi.docker

Наконец, вызовите роль в вашем Ansible плейбуке:

---
- hosts: all
  roles:
    - ansible-docker

Разработка и тестирование

Тестирование с Vagrant

Для быстрого тестирования вы можете создать VM Debian с помощью Vagrant. В директории проекта test/vagrant/ вы можете настроить Vagrantfile, который описывает вашу виртуальную машину, и адаптировать набор файлов инвентаря Ansible для вашей среды (IP-адреса, SSH-учетные данные и т.д.).

Примечание: Роль ansible-docker должна запускаться с правами sudo. В этом примере пользователь vagrant уже имеет настроенные права sudo.

Начните с получения проекта с Github или Ansible Galaxy, затем перейдите в директорию test/vagrant/.

Теперь запустите и провизируйте VM:

vagrant up

Ваша тестовая VM запущена с Docker!

Запуск тестов приемки

Тесты приемки/интеграции могут быть запущены против роли с помощью инструмента test-kitchen. Все написанные тесты приемки находятся в директории ./test/integration/.

Файл .kitchen.yml описывает конфигурацию тестирования и список тестов набора для запуска. По умолчанию экземпляры будут конвергированы с помощью Ansible и запущены в виртуальных машинах Vagrant.

Чтобы перечислить экземпляры:

$ kitchen list

Instance                    Driver   Provisioner      Verifier  Transport  Last Action
default-debian-8-x64        Vagrant  AnsiblePlaybook  Busser    Ssh        <Не создано>
...

Чтобы запустить набор тестов по умолчанию, например, на платформе Ubuntu Trusty, выполните следующую команду:

$ kitchen test default-ubuntu-1404-x64

Информация об авторе

Эта роль была создана Ахмедом Бессифи, энтузиастом DevOps.

О проекте

Install docker in variant GNU/Linux servers.

Установить
ansible-galaxy install abessifi.docker
Лицензия
mit
Загрузки
150
Владелец
I’m a tech enthusiast who breathes code and loves creating beautiful software. I’m an active contributor to opensource projects and maintain a few of my own.