ansible_container

Ansible Роль: ansible_container

Сборка Тег GitHub (последний по дате) Лицензия

Эта роль используется с 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
Загрузки
5795
Владелец