Автоматизация установки MySQL через Ansible
Пошаговый процесс автоматизации
1. Подготовка среды
Для начала убедитесь, что у вас установлен Ansible. Проверьте его версию командой: ansible --version
Если у вас еще нет Ansible, его можно установить с помощью команды pip install ansible или через пакетный менеджер вашей операционной системы.
Затем создайте файл инвентаря, где будет указан сервер, на который нужно установить MySQL. Файл может называться hosts и выглядеть следующим образом:
[mysql_servers]
server1 ansible_host=192.168.1.10 ansible_user=user ansible_ssh_private_key_file=~/.ssh/id_rsa
2. Создание плейбука для установки MySQL
Теперь создадим плейбук. Плейбук Ansible — это файл в формате YAML, в котором описаны задачи, которые нужно выполнить. Назовем наш плейбук install_mysql.yml. Он будет состоять из нескольких шагов:
Пример плейбука для установки MySQL:
- name: Установка и настройка MySQL
hosts: mysql_servers
become: yes
tasks:
- name: Обновление кеша пакетов
ansible.builtin.apt:
update_cache: yes
- name: Установка MySQL
ansible.builtin.apt:
name: mysql-server
state: present
- name: Обеспечение, что MySQL запущен и включен
ansible.builtin.service:
name: mysql
state: started
enabled: yes
- name: Настройка root-пароля MySQL
ansible.builtin.shell: |
mysqladmin -u root password 'newpassword'
args:
creates: /var/lib/mysql
- name: Проверка установки MySQL
ansible.builtin.command:
cmd: mysql --version
register: mysql_version
- name: Печать версии MySQL
ansible.builtin.debug:
msg: "Версия MySQL: {{ mysql_version.stdout }}"
3. Подробное объяснение шагов
1. Обновление кеша пакетов. Этот шаг гарантирует, что ваш список доступных пакетов обновлен, что особенно важно перед установкой любого программного обеспечения. Использование модуля ansible.builtin.apt делает этот процесс быстрым и надежным.
2. Установка MySQL. Здесь используется тот же модуль ansible.builtin.apt для установки пакета MySQL. Состояние present указывает, что пакет должен быть установлен, если его еще нет.
3. Запуск и включение MySQL. Модуль ansible.builtin.service помогает убедиться, что служба MySQL работает и будет автоматически запускаться при перезагрузке сервера.
Настройка пароля root. Этот шаг выполняется с помощью модуля ansible.builtin.shell для задания пароля root базы данных. Важно использовать args: creates для предотвращения повторного выполнения этой задачи, если MySQL уже настроен.
Проверка установки и печать версии. Команды ansible.builtin.command и ansible.builtin.debug позволяют убедиться, что MySQL установлен правильно и выводят информацию о версии на экран.
Комментарии