πŸ“œ ПониманиС основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ansible – Ρ‡Π°ΡΡ‚ΡŒ 1

by itisgood

The Red Hat Certified Specialist in Ansible Automation exam (EX407) – это новая сСртификационная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Red Hat, которая провСряСт ваши Π½Π°Π²Ρ‹ΠΊΠΈ использования Ansible для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ систСм ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

БСрия Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Β«The Red Hat Certified Specialist in Ansible Automation exam (EX407)Β» ΠΈ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†Π΅Π»ΠΈ экзамСна Π½Π° основС Red Hat Enterprise Linux 7.5 ΠΈ Ansible 2.7, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ собираСмся ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π² этой сСрии Ansible:

Для просмотра Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈ рСгистрации Π½Π° экзамСн Π² вашСй странС, посСтитС страницу экзамСна Ansible Automation.

Π’ этой ΠΏΠ΅Ρ€Π²ΠΎΠΉ части сСрии Ansible ΠΌΡ‹ обсудим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² Ansible.

ПониманиС основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ansible –

Ansible – это бСсплатная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΎΡ‚ RedHat, которая позволяСт Π²Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ нСсколькими сСрвСрами ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ мСстополоТСния.

Π•Π³ΠΎ особСнно идСально ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свои Π·Π°Π΄Π°Ρ‡ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ мСстополоТСния ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ своими сСрвСрами.

Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ количСство ошибок пСрсонала ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΈ нСсколько ΠΎΠ±Ρ‹Π΄Π΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Ansible, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Puppet, Chef ΠΈ Salt.

☸️ ΠŸΠΎΠ»Π½Ρ‹ΠΉ список инструмСнтов DevOps

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ansible ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Π² Ρ‚ΠΎΠΌ ΠΏΠ»Π°Π½Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ прост Π² использовании ΠΈ прост Π² освоСнии.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, спроситС Π²Ρ‹?

Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ansible ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ YAML (Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ) Π² своих ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊΠ°Ρ… ΠΏΠΎ настройкС ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ понятны Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΈ довольно просты для понимания.

YAML ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SSH для связи с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌΠΈ сСрвСрами, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ для связи с Π½ΠΈΠΌΠΈ трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π°Π³Π΅Π½Ρ‚ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ….

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ansible, Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ознакомились с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ основными тСрминологиями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ Π½Π΅ Ρ€Π°ΡΡ‚Π΅Ρ€ΡΠ»ΠΈΡΡŒ ΠΈ Π½Π΅ Π·Π°ΠΏΡƒΡ‚Π°Π»ΠΈΡΡŒ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нашСго продвиТСния Π²ΠΏΠ΅Ρ€Π΅Π΄.

Inventory

Inventory – это тСкстовый Ρ„Π°ΠΉΠ», содСрТащий список сСрвСров ΠΈΠ»ΠΈ ΡƒΠ·Π»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ управляСтС ΠΈ настраиваСтС.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ сСрвСры ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π½Π° основС ΠΈΡ… ΠΈΠΌΠ΅Π½ хостов ΠΈΠ»ΠΈ IP-адрСсов.

Π€Π°ΠΉΠ» ΠΈΠ½Π²Π΅Π½Ρ‚Π°Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ систСмы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΡ… IP-адрСсами, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

10.200.50.50
10.200.50.51
10.200.50.52
ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пСрСчислСны Π² соотвСтствии с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ.
Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сСрвСры Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² 2 Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… – web sevrers ΠΈ datebases.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ, Π° Π½Π΅ ΠΏΠΎ ΠΈΡ… IP-адрСсам.
Π­Ρ‚ΠΎ Π΅Ρ‰Π΅ большС ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ процСссы.
[webservers]
10.200.50.60
10.200.50.61

[databases]
10.200.50.70
10.200.50.71
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π³Ρ€ΡƒΠΏΠΏ с нСсколькими сСрвСрами, Ссли Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² большой производствСнной срСдС.

Playbook

Playbook – это Π½Π°Π±ΠΎΡ€ скриптов для управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… хостах ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ΅ хост-машин.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΈΠ»ΠΈ инструкции написаны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ YAML.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ» playbook для установки Π²Π΅Π±-сСрвСра Apache Π½Π° CentOS 7 ΠΈ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ httpd.yml.

Для создания playbook запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

$ touch playbook_name.yml
НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊ с ΠΈΠΌΠ΅Π½Π΅ΠΌ httpd, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.
$ touch httpd.yml
Π€Π°ΠΉΠ» YAML начинаСтся с 3 дСфисов, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅.
Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ инструкции.
---
- name: This installs and starts Apache webserver
  hosts: webservers

  tasks:
  - name: Install Apache Webserver 
    yum:   name=httpd  state=present

 - name: check httpd status
    yum:   name=httpd  state=started
ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ список воспроизвСдСния устанавливаСт Π²Π΅Π±-сСрвСр Apache Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… систСмах, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ webservers Π² Ρ„Π°ΠΉΠ»Π΅ Inventory.
ПослС установки Π²Π΅Π±-сСрвСра Ansible ΠΏΠΎΠ·ΠΆΠ΅ провСряСт, Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ Π²Π΅Π±-сСрвСр Apache.

ΠœΠΎΠ΄ΡƒΠ»ΠΈ

ΠœΠΎΠ΄ΡƒΠ»ΠΈ – это дискрСтныС Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊΠ°Ρ… для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… хостах ΠΈΠ»ΠΈ сСрвСрах.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ сопровоТдаСтся Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ модуля являСтся ΠΊΠ»ΡŽΡ‡: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

- name: Install apache packages 
    yum:   name=httpd  state=present
Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ΄Π° YAML -name ΠΈ yum ΡΠ²Π»ΡΡŽΡ‚ΡΡ модулями.

Plays

Ansible plays – это скрипт ΠΈΠ»ΠΈ инструкция, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Π·Π°Π΄Π°Ρ‡Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ Π½Π° сСрвСрС.

Π‘Π±ΠΎΡ€Π½ΠΈΠΊ plays прСдставляСт собой ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊ.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, playbook прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… plays, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Π΅Ρ‚ΠΊΠΎ опрСдСляСт Π·Π°Π΄Π°Ρ‡Ρƒ, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π° сСрвСрС.

Plays ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ YAML.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ‹Ρ‚ программирования, Ρ‚ΠΎ, скорСС всСго, Π²Ρ‹ использовали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

По сути, пСрСмСнная прСдставляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹, Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ подчСркивания, Π½ΠΎ Π”ΠžΠ›Π–ΠΠ всСгда Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π±ΡƒΠΊΠ².

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° инструкции Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ систСмы ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎ врСмя настройки ΠΈΠ»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСрвисов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

БущСствуСт 3 основных Ρ‚ΠΈΠΏΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…:

  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Playbook
  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Inventory
  • Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π’ Ansible ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ сначала ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… k, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Бинтаксис Ρ‚Π°ΠΊΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

vars:
Var name1: β€˜My first variable’
	Var name2:  β€˜My second variable’
Рассмотрим ΠΊΠΎΠ΄, прСдставлСнный Π½ΠΈΠΆΠ΅.
- hosts: webservers
  vars: 
    - web_directory:/var/www/html/
Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ здСсь ΡƒΠΊΠ°Π·Π°Π½Π° пСрСмСнная web_directory, ΠΈ ΠΎΠ½Π° Π΄Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ansible ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² /var/www/html/path.

Facts

Facts (Ρ„Π°ΠΊΡ‚Ρ‹) – это систСмныС свойства, собранныС Ansible ΠΏΡ€ΠΈ запускС playbook Π½Π° хост-систСмС.
Бвойства Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ имя хоста, сСмСйство ОБ, Ρ‚ΠΈΠΏ процСссора ΠΈ ядра процСссора.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ количСствС Ρ„Π°ΠΊΡ‚ΠΎΠ², доступных для использования, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

$ ansible localhost -m setup
Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ„Π°ΠΊΡ‚ΠΎΠ² Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡƒΠ·ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅
$ ansible localhost -m setup -a "filter=*ipv4"

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

Π’ Ansible Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ – это Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ansible.

Π€Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – это Ρ„Π°ΠΉΠ» ansible.cfg, располоТСнный Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/ansible/.

$ cat /etc/ansible/ansible.cfg

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ inventory ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ sudo, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ Ρ‚. Π΄.

Π­Ρ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, просто Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² ΠΈΡ… ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² значСния.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜Π·ΡƒΡ‡ΠΈΠ² основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² Ansible, ΠΌΡ‹ надССмся, Ρ‡Ρ‚ΠΎ Π²Ρ‹ смоТСтС Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉ ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ продвиТСния Π²ΠΏΠ΅Ρ€Π΅Π΄.

ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ Π½Π°ΠΌ Π² вашСй ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π΅ΠΌΠ΅.

 

Loading

You may also like

Leave a Comment