ansible_container
Ansible Роль: ansible_container
Эта роль используется с Ansible-Bender для создания контейнеров с:
- Ansible,
- OpenSSH и
- Systemd или Init V.
Эти контейнеры могут использоваться как виртуальные машины, например, для тестирования ролей Ansible с помощью GitHub Actions.
Поддерживаемые дистрибутивы Linux для этой роли:
- Alpine Linux 3.12,
- Alpine Linux 3.13,
- Alpine Linux 3.14,
- Alpine Linux 3.15,
- Alpine Linux 3.16,
- Alpine Linux 3.17,
- Alpine Linux 3.18,
- Alpine Linux 3.19,
- Amazon Linux 2023,
- Debian 10 (Buster),
- Debian 11 (Bullseye),
- Debian 12 (Bookworm),
- Enterprise Linux 7,
- Enterprise Linux 8,
- Enterprise Linux 9,
- Fedora 34,
- Fedora 35,
- Fedora 36,
- Fedora 37,
- Fedora 38,
- Fedora 39,
- Ubuntu 18.04 LTS (Bionic Beaver),
- Ubuntu 20.04 LTS (Focal Fossa) и
- Ubuntu 22.04 LTS (Jammy Jellyfish).
Требования
Если вы хотите использовать эту роль для создания новых образов контейнеров, вам нужен ansible-bender. Вы можете установить ansible-bender с помощью моей роли galaxy coglinev3.ansible_bender.
Переменные роли
Доступные переменные перечислены ниже вместе с их значениями по умолчанию (см. defaults/main.yml):
# использовать sudo или нет
ansible_container_become: true
# состояние установленных пакетов: absent | present | latest
ansible_container_package_state: latest
# требования для Debian
ansible_container_requirements:
- libssl-dev
- libffi-dev
- openssh-server
- python3-apt
- python3-pip
- python3-setuptools
- python3-software-properties
- python3-wheel
- systemd
- sudo
# принудительное создание нового конфигурационного файла Ansible /etc/ansible/ansible.cfg
ansible_container_force_config: "no"
# принудительное создание нового инвентарного файла Ansible /etc/ansible/hosts
ansible_container_force_inventory: "no"
# определите пользователя и группу Ansible
ansible_container_user: ansible
ansible_container_group: ansible
# некоторые переменные для конфигурационного файла Ansible ansible.cfg
#
# принудительное включение цветного режима даже при запуске без TTY или если
# установлено значение "nocolor" равно True
ansible_config_force_color: true
# управление поведением обнаружения интерпретатора:
ansible_config_interpreter_python: auto
Зависимости
Нет.
Примеры плейбуков
Плейбук для независимого тестирования этой роли на виртуальной машине
---
# файл: roles/ansible_container/tests/test.yml
- hosts: localhost
remote_user: root
roles:
- { role: coglinev3.ansible_container }
vars:
ansible_container_become: true
Плейбук для ansible-bender для создания образа CentOS 7 с Ansible и Systemd
---
- name: Контейнерная версия CentOS 7 с ansible
hosts: all
vars:
# конфигурация, специфическая для ansible-bender
ansible_bender:
base_image: centos:7
target_image:
# команда, которая будет запускаться по умолчанию при вызове контейнера
cmd: /usr/sbin/init
name: centos:7-ansible
labels:
build-by: "Cogline.v3"
volumes:
- /sys/fs/cgroup
tasks:
- name: включить роль ansible_container
include_role:
name: ansible_container
vars:
ansible_container_become: false
Новый образ контейнера создается с помощью:
ansible-bender build ./playbook.yml
Версия
Релиз: 1.17.0
Лицензия
BSD
Информация об авторе
Авторские права © 2024 Cogline.v3.
О проекте
This role is used with Ansible-Bender to create Ansible Containers for CI/CD tests with Travis-CI.
Установить
ansible-galaxy install coglinev3/ansible-role-ansible_container
Лицензия
bsd-3-clause
Загрузки
5798
Владелец