Како инсталирати и конфигурисати Ансибле на Убунту?

Почетак рада са Ансибле-ом на Убунту-у за боље обезбеђење окружења и управљање конфигурацијом.

Управљање конфигурацијом је кључна фаза у животном циклусу ДевОпс-а. Помаже у аутоматизацији и оркестрацији ИТ инфраструктуре.

Постоји неколико алата за управљање конфигурацијом, на пример, Пуппет, Ансибле, Цхеф и СалтСтацк. И, наравно, Ансибле је један од најпопуларнијих алата у ДевОпс-у. Може са лакоћом да управља хиљадама сервера и комплетном ИТ инфраструктуром.

У овом чланку ћемо покрити следеће.

  • Ансибле инсталација
  • Размена ССХ кључева
  • Ансибле подешавање клијента
  • Ансибле тестирање

Ансибле Инсталлатион

Да би било једноставно, хајде да покушамо да користимо Ансибле на два сервера. Један ће бити ансибле-сервер, а други ансибле-цлиент са следећим ИП-ом.

  • ансибле-сервер – 10.0.0.1
  • ансибле-цлиент – 10.0.0.25

Инсталација је једноставна… следеће треба да се уради на свим серверима на којима желите да користите Ансибле. У овом случају, изнад оба сервера.

  • Покрените наредбу у наставку да бисте инсталирали неопходан софтвер потребан за инсталирање ансибле-а.
[email protected]:~# apt install software-properties-common
  • Инсталирајте спремиште са ансибле пакетом.
[email protected]:~# apt-add-repository --yes --update ppa:ansible/ansible
  • Ажурирајте напредни алат за паковање (апт)
[email protected]:~# apt update
  • И, коначно – покрените наредбу испод да бисте инсталирали
[email protected]:~# apt install ansible

Биће потребно неколико секунди да инсталирате потребан пакет.

Како осигуравате да је инсталиран и његова верзија?

Па, лако је. Можете користити –версион синтаксу са ансибле да бисте сазнали као у наставку.

[email protected]:~# ansible --version
ansible 2.8.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0]
[email protected]:~#

Као што видите, Ансибле 2.8.1 је инсталиран и пружа потребне информације као што су локација конфигурационе датотеке, питхон модул.

  Најбољих 8 шаблона распореда за праћење времена проведеног од стране запослених

Затим морамо да извршимо размену ССХ кључева како бисмо служили и клијенти могли да разговарају једни са другима.

Размена ССХ кључева

Ансибле се повезује са својим клијентом преко ССХ (безбедна шкољка).

Прво ћемо генерисати јавни кључ на ансибле-серверу, који треба да се копира на ансибле-цлиент.

Уверите се да сте пријављени као роот корисник.

  • Генеришите кључ користећи ссх-кеиген команду као што је приказано испод
[email protected]:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cDapZBESo+8XcbXupbtILkFrklUSpwa70Y1c7yH5K1A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    =.+oo .      |
|   . B.B.= .     |
|  . o @oE +      |
|   . *oO * .     |
|    o++.S + .    |
|   .o +o . +     |
|    .o..o +      |
|     ..o o .     |
|       .o o.     |
+----[SHA256]-----+
[email protected]:~#

Као што сте приметили, генерисао је јавни кључ у фасцикли .ссх. Комплетна путања је /роот/.ссх/ид_рса.пуб

Напомена: обезбедите да датотеке приватног и јавног кључа нису читљиве широм света. Можете навести датотеке да бисте их верификовали.

cd /root/.ssh
[email protected]:~# ls -l 
-rw------- 1 root root 1679 Jun 19 00:37 id_rsa 
-rw------- 1 root root 404 Jun 19 00:37 id_rsa.pub

Ако приметите да је дозвола погрешна, можете је променити помоћу команде цхмод

нпр.

chmod 400 id_rsa
chmod 400 id_rsa.pub

Копирајмо јавни кључ на Ансибле хост чија је ИП адреса 192.168.56.101

[email protected]:~/.ssh# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '10.0.0.25 (10.0.0.25)' can't be established.
ECDSA key fingerprint is SHA256:eXduPrfV0mhxUcpsZWg+0oXDim7bHb90caA/Rt79cIs.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

[email protected]:~/.ssh#

Можете видети у излазу изнад, 1 кључ је успешно додат. Ово указује да је ССХ кључ размењен.

  Како сакрити лајкове на Фејсбуку

Затим ћемо подесити Ансибле клијент.

Ансибле Цлиент Сетуп

Претпостављам да сте већ пратили кораке Ансибле инсталације на клијент серверу као што је објашњено у претходним корацима.

Подешавање клијента или хоста није ништа друго до обавештавање Ансибле сервера о клијентима. И да то урадите:

  • Пријавите се на Ансибле сервер
  • Идите на /етц/ансибле
  • Додајте следеће у датотеку хостс користећи свој омиљени уређивач
[Client] 
node1 ansible_ssh_host=10.0.0.25

Ансибле Тест

Ако сте исправно пратили све кораке, добићете поруку УСПЈЕХ када покренете доњу команду на ансибле-серверу.

[email protected]:~/.ssh# ansible -m ping Client
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    }, 
    "changed": false, 
    "ping": "pong"
}
[email protected]:~/.ssh#

Тхеа изнад пингује клијенту да тестира повезаност и потврди да ли је добра или не.

Закључак

Надам се да вам ово даје идеју да започнете са инсталацијом и играњем. Пратите нас за још Ансибле туторијала или такође погледајте овај Удеми Мастеринг Ансибле курс.