870просмотров
92.4%от подписчиков
18 февраля 2026 г.
Score: 957
Ansible!🐧🐧 Продолжаем тему со сбором коллекции📔 небольших, но полезных плейбуков Ansible🖥. 📱 Playbook №4 - Подключение APT репозитория на примере Docker --- - name: Add repo and install Docker Engine hosts: all gather_facts: true become: true vars: docker_apt_keyring_dir: "/etc/apt/keyrings" docker_apt_gpg_filename: "docker.gpg" docker_apt_gpg_url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg" docker_apt_repo_url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}" tasks: - name: Install required packages ansible.builtin.apt: name: - ca-certificates - curl - gnupg - lsb-release state: present update_cache: true retries: 3 tags: docker_prepare - name: Create directory for apt keyrings ansible.builtin.file: path: "{{ docker_apt_keyring_dir }}" state: directory owner: root group: root mode: "0755" tags: docker_keyring - name: Download Docker GPG key ansible.builtin.get_url: url: "{{ docker_apt_gpg_url }}" dest: "{{ docker_apt_keyring_dir }}/{{ docker_apt_gpg_filename }}" mode: "0644" force: false tags: docker_gpg - name: Add Docker apt repository ansible.builtin.apt_repository: repo: > deb [signed-by={{ docker_apt_keyring_dir }}/{{ docker_apt_gpg_filename }}] {{ docker_apt_repo_url }} {{ ansible_distribution_release }} stable state: present update_cache: true filename: docker tags: docker_repo - name: Install Docker packages ansible.builtin.apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present update_cache: true retries: 3 tags: docker_install - name: Enable and start Docker service ansible.builtin.systemd: name: docker state: started enabled: true tags: docker_enable ✍️ Плейбук выполняет следующие действия: - Устанавливает необходимые системные пакеты для работы с APT репозиториями (ca-certificates, curl, gnupg, lsb-release); - Создает директорию для хранения GPG ключей APT (/etc/apt/keyrings); - Загружает официальный GPG ключ Docker и сохраняет его в директории ключей; - Добавляет официальный APT репозиторий Docker, используя загруженный GPG ключ для подписи; - Устанавливает основные пакеты Docker (docker-ce, docker-ce-cli, containerd.io, плагины buildx и compose); - После успешной установки пакетов выполняет запуск/настраивает автозапуск Systemd сервиса Docker. 🔍 Интересные моменты: - Динамическая конфигурация - использует факты Ansible (ansible_distribution, ansible_distribution_release) для автоматического определения дистрибутива и его версии; - Управление ключами - GPG ключ Docker загружается и хранится в /etc/apt/keyrings, а репозиторий добавляется с использованием опции signed-by; - Повторные попытки apt - задачи установки пакетов включают retries: 3 для повторных попыток в случае временных сетевых проблем, кратковременной недоступности репозиториев или когда apt выполняет периодические обновления/проверки по расписанию🤷‍♂️. ⏳ Запускать так: ansible-playbook -i ./inventory.yml ./playbook.yml Хорошего вечера 👮‍♀ #ansible #docker --- Сайт🐦‍⬛️ | Чат🧐 | GitHub📱
870
просмотров
3474
символов
Да
эмодзи
Нет
медиа

Другие посты @r4ven_me

Все посты канала →
Ansible!🐧🐧 Продолжаем тему со сбором коллекции📔 небольших — @r4ven_me | PostSniper