Spec-Zone.ru › MariaDB

Установка файлов MariaDB .deb с помощью Ansible

Эта страница относится к операциям, описанным в Установке файлов MariaDB .deb. Обратитесь к этой странице для получения полного списка и объяснения задач, которые необходимо выполнить.

Здесь мы обсуждаем, как автоматизировать такие задачи с помощью Ansible. Например, здесь показано, как установить пакет или импортировать ключ GPG; но для обновленного списка необходимых пакетов и сервера ключей вы должны обратиться к Установке файлов MariaDB .deb.

Добавление репозиториев apt

Для добавления репозитория:

- name: Add specified repository into sources list
  ansible.builtin.apt_repository:
    repo: deb [arch=amd64,arm64,ppc64el] http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main
    state: present

Если вы предпочитаете хранить информацию о репозитории в файле списка источников в репозитории Ansible, вы можете загрузить этот файл на целевые хосты таким образом:

- name: Create a symbolic link
  ansible.builtin.file:
    src: ./file/mariadb.list
    dest: /etc/apt/sources.list.d/
    owner: root
    group: root
    mod: 644
    state: file

Обновление кэша репозитория

Оба модуля Ansible ansible.builtin.apt и ansible.builtin.apt_repository имеют атрибут update_cache. В ansible.builtin.apt он по умолчанию равен "no". Всякий раз, когда задача устанавливает его в 'yes', apt-get update выполняется на целевой системе. У вас есть три способа убедиться, что репозитории обновляются.

Первый — использовать ansible.builtin.apt_repository для добавления нужного репозитория, как показано выше. Таким образом, вам нужно беспокоиться только об обновлении репозиториев, если вы используете метод файла.

Второй — убедиться, что update_cache установлено в 'yes', когда вы устанавливаете репозиторий:

- name: Install foo
  apt:
    name: foo
    update_cache: yes

Но если вы выполняете определенные задачи условно, этот вариант может быть не очень удобен. Поэтому третий вариант — явно обновить кэш репозитория как отдельную задачу:

- name: Update repositories
  apt:
    - update_cache: yes

Импорт ключа GPG MariaDB

Для импорта ключа GPG для MariaDB мы можем использовать модуль Ansible ansible.builtin.apt_key. Например:

- name: Add an apt key by id from a keyserver
  ansible.builtin.apt_key:
    keyserver: hkp://keyserver.ubuntu.com:80
    id: 0xF1656F24C74CD1D8

Установка пакетов

Для установки пакетов Deb в систему:

- name: Install software-properties-common
  apt:
    name: software-properties-common
    state: present

Чтобы убедиться, что установлена определенная версия, выполнив при необходимости апгрейд или даунгрейд:

- name: Install foo 1.0
  apt:
    name: foo=1.0

Для установки пакета или обновления его до последней версии используйте: state: latest.

Для установки нескольких пакетов одновременно:

- name: Install the necessary packages
  apt:
    pkg:
    - pkg1
    - pkg2=1.0

Если все ваши серверы работают на одной системе, вы всегда будете использовать ansible.builtin.apt, и имена и версии пакетов будут одинаковыми для всех серверов. Но предположим, что у вас есть некоторые серверы, работающие на системах семейства Debian, а другие — на системах семейства Red Hat. В этом случае вам может быть удобно использовать два разных файла задач для двух разных типов систем. Для включения соответствующего файла для системы целевого хоста:

- include: mariadb-debian.yml
  when: "{{ ansible_facts['os_family'] }} == 'Debian'

Переменные, которые вы можете использовать для выполнения задач, связанных с соответствующей системой:

  • ansible_fact['distribution']
  • ansible_fact['distribution_major_version']
  • ansible_fact['os_family']

Также существует независимый от системы модуль пакетов, но если имена пакетов зависят от целевой системы, использование его может быть малоэффективным.

См. также

  • Установке файлов MariaDB .deb

Контент первоначально предоставлен Vettabase Ltd.

Контент, воспроизведенный на этом сайте, является собственностью соответствующих владельцев, и этот контент не предварительно просматривается компанией MariaDB. Мнения, информация и мнения, выраженные в этом контенте, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/installing-mariadb-deb-files-with-ansible/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API