Как да инсталирате и конфигурирате Ansible на Ubuntu 20.04

Как да инсталирате и конфигурирате Ansible на Ubuntu 20.04

Въведение

Ansible е мощен инструмент за автоматизация на конфигурацията, който позволява на администраторите да управляват и настройват голям брой сървъри и системи от централна точка. Той използва прост файлов формат на декларативни задачи, което улеснява дефинирането и управлението на сложни конфигурации.

В това ръководство ще ви преведем през подробния процес на инсталиране и конфигуриране на Ansible на Ubuntu 20.04. Ще разгледаме инсталационния процес, конфигурирането на инвентара на хостовете, създаването на плейбуци и други важни аспекти.

Поддържани версии на Ubuntu:

* Ubuntu 20.04

Необходими предпоставки:

* Privileгирован достъп до целевите машини (root или sudo права)
* Мрежова свързаност между управляващата машина (където е инсталиран Ansible) и целевите машини

Инсталиране на Ansible

Инсталиране на Python

Ansible изисква Python версия 3 или по-нова. Ако тя вече не е инсталирана, изпълнете следващата команда за инсталиране:

sh
sudo apt update
sudo apt install python3

Инсталиране на Ansible

Използвайте следващата команда, за да инсталирате Ansible:

sh
sudo apt install ansible

Проверете дали инсталацията е била успешна, като изпълните:

  Най-добри практики за Java Singleton модел на проектиране с примери

sh
ansible --version

Конфигуриране на Ansible

Инвентар на хостовете

Инвентарът на хостовете е файл, който съдържа списък на всички целеви машини, които ще управляваме с Ansible. Ансибъл поддържа множество типове инвентари, но ние ще използваме инвентара по подразбиране, който е файл на име hosts в директорията /etc/ansible/.

Файлът за инвентара по подразбиране изглежда така:

conf
[all]
localhost

[webserver]
web1.example.com
web2.example.com

Всеки запис в инвентара представлява група хостове. Групата all съдържа всички хостове, изброени в инвентара. Групата webserver съдържа два хоста, които са нашите целеви уеб сървъри.

Достъп без парола за SSH

Ansible използва SSH за свързване с целевите машини. За да избегнем подкани за парола всеки път, когато Ansible се свързва с хост, ще настроим SSH достъп без парола.

Генерирайте SSH ключова двойка на управляващата машина:

sh
ssh-keygen

След това копирайте публичния SSH ключ на хостовете в инвентара:

sh
ssh-copy-id user_name@host_name

Повторете тази команда за всеки хост в инвентара.

Плейбуци на Ansible

Плейбуците на Ansible са файлове, които съдържат декларативни задачи, които Ansible изпълнява на целевите машини. В един плейбук обикновено се определят множество задачи, които са групирани в роли.

Типичен плейбук на Ansible изглежда така:

yaml
---
- name: Install Nginx
hosts: webserver
tasks:
- name: Update the system
apt:
update_cache: true
- name: Install Nginx
apt:
name: nginx
state: present

Този плейбук има за цел да инсталира Nginx на целевите уеб сървъри.

Използване на Ansible

Инсталиране на софтуер

Можем да използваме Ansible, за да инсталираме софтуер на целевите машини с модула за инсталиране на софтуер на Ansible (apt на Debian-базирани системи).

Например, за да инсталирате Nginx на целевите уеб сървъри, изпълнете следващата команда:

sh
ansible-playbook nginx.yml

Проверете състоянието на инсталацията с:

sh
ansible webserver -m ping

Изпълнение на команди

Можем също да използваме Ansible, за да изпълняваме команди на целевите машини с модула за команди на Ansible.

Например, за да изпълните командата sudo service nginx start на целевите уеб сървъри, изпълнете:

sh
ansible webserver -a "service nginx start"

Проверете дали услугата е стартирала с:

sh
ansible webserver -m service -a "name=nginx state=running"

Управление на потребители

Можем да използваме Ansible, за да управляваме потребители на целевите машини с модула за управление на потребители на Ansible.

Например, за да създадете потребител със име john на целевите уеб сървъри, изпълнете:

sh
ansible webserver -m user -a "name=john state=present"

Проверете дали потребителят е създаден с:

sh
ansible webserver -m user -a "name=john state=present"

Заключение

В това ръководство подробно разгледахме как да инсталираме, конфигурираме и използваме Ansible на Ubuntu 20.04. Обхванахме инсталационния процес, конфигурирането на инвентара на хостовете, създаването на плейбуци и изпълнението на различни задачи за автоматизация.

Ansible е мощен инструмент, който може значително да опрости управлението на ИТ инфраструктурата. Като предоставя декларативен подход към автоматизацията на конфигурацията, Ansible позволява на администраторите да управляват сложни системи лесно и ефективно.

Препоръчителни ресурси:

* Ansible Документация
* Ansible Playbooks
* Ansible Modules

Често задавани въпроси

1. Какви са предимствата на използването на Ansible?
Ansible предоставя множество предимства, включително дефиниран код, опростено управление, скалируемост и бързо разработване.

2. Как да актуализирам Ansible?
За да актуализирате Ansible, изпълнете следната команда:
sh
sudo apt update
sudo apt install ansible --upgrade

3. Как да деинсталирам Ansible?
За да деинсталирате Ansible, изпълнете:
sh
sudo apt remove ansible

4. Как да добавя множество хостове към инвентара?
Можете да добавите множество хостове към инвентара, като ги поставите в различни групи. Например:
conf
[webservers]
web1.example.com
web2.example.com

5. Как да създавам роли на Ansible?
Ролите на Ansible са пакети от задачи. Можете да създавате роли с помощта на директивата roles: в плейбуците. Документацията за роли на Ansible предоставя повече информация.

6. Как да използвам променливи в Ansible?
Можете да използвате променливи в Ansible с помощта на двойни скоби {{ }}. Променливите могат да бъдат дефинирани в инвентара, плейбуците или с помощта на фактите на хоста.

7. Как да изпълнявам плейбуци от CLI?
Можете да изпълнявате плейбуци от CLI с командата ansible-playbook. Например:
sh
ansible-playbook my_playbook.yml

8. Как да запазя важна инвентарна информация извън git?
Можете да използвате хранилища за инвентар на Ansible, за да запазвате важна инвентарна информация извън git.

9. Как да използвам Ansible в облачна среда?
Ansible може да се използва в облачна среда с помощта на доставчици на облачни модули. Документацията за доставчици на облачни модули на Ansible предоставя подробности.

**10.