Jak zainstalować i skonfigurować narzędzie automatyzacji „Ansible” do zarządzania IT - Część 1

Jak zainstalować i skonfigurować narzędzie automatyzacji „Ansible” do zarządzania IT - Część 1

Ansible jest open source, potężne oprogramowanie do automatyzacji do konfigurowania, zarządzania i wdrażania aplikacji w węzłach bez żadnych przestojów, używając SSH. Dziś większość narzędzi automatyzacji IT działa jako agent w zdalnym hoście, ale Ansible potrzebuje tylko połączenia SSH i Python (2.4 lub później) do zainstalowania w zdalnych węzłach, aby wykonać swoją akcję.

Zainstaluj Ansible w Linux

Jak działa Ansible?

Dostępnych jest wiele podobnych narzędzi do automatyzacji, takich jak Puppet, Capistrano, Chef, Salt, Space Walk, ale Ansible Kategoryzuj na dwa rodzaje serwerów: sterowanie maszynami i węzłami.

Maszyna kontrolująca, w której instalowana jest ansible, a węzły zarządzają ta maszyna sterująca nad SSH. Lokalizacja węzłów jest określona przez sterowanie maszyną za pośrednictwem zapasów.

Maszyna kontrolująca (ANSIBLE) wdraża moduły w węzłach za pomocą protokołu SSH, a moduły te są przechowywane tymczasowo na zdalnych węzłach i komunikują.

Ansible jest bez agentów, co oznacza, że ​​nie ma potrzeby instalacji agenta w zdalnych węzłach, więc oznacza to, że nie ma żadnych demonów lub programów w tle dla ansible, gdy nie zarządza żadnymi węzłami.

Ansible może obsłużyć 100 węzłów z pojedynczego systemu przez połączenie SSH, a całą operację można obsługiwać i wykonywać jednym polecenie „Ansible”. Ale w niektórych przypadkach, w których trzeba wykonać wiele poleceń w celu wdrożenia, tutaj możemy zbudować podręczniki.

Podręczniki to mnóstwo poleceń, które mogą wykonywać wiele zadań, a każde podręczniki są w formacie plików YAML.

Jaki jest zastosowanie Ansible

Ansible może być używane w infrastrukturze IT do zarządzania aplikacjami i wdrażaniem aplikacji do zdalnych węzłów. Na przykład, powiedzmy, że musisz wdrożyć jedno oprogramowanie lub wiele oprogramowania do 100 węzłów za pomocą jednego polecenia, tutaj ansible wpada na zdjęcie, z pomocą ansible możesz wdrożyć tak wiele, jak aplikacje do wielu węzłów z jednym poleceniem, Ale musisz mieć małą wiedzę programową do zrozumienia skryptów Ansible.

Opracowaliśmy serię na temat Ansible, tytuł 'Przygotowanie do wdrożenia infrastruktury IT za pomocą narzędzia do automatyzacji IT ANSIBLE', za pośrednictwem części 1-4 i obejmuje następujące tematy.

Część 1: Jak zainstalować i skonfigurować ansible do zarządzania IT w Linux Część 2: Jak używać anizble podręczników do automatyzacji złożonych zadań na wielu zdalnych serwerach Część 3: Jak zautomatyzować jednoczesne wdrażania WordPress w wielu serwerach Linux za pomocą Ansible Część 4: Zarządzanie zaszyfrowanymi danymi Yamal z Ansible-Vault

W tym artykule pokażemy, jak zainstalować „Ansible” na RHEL/CENTOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 i systemy Debian 7/6, a także przejdziemy do niektórych podstaw, w jaki sposób zarządzać serwerem, instalując pakiety, stosując aktualizacje i wiele więcej od podstawowego do pro.

Wymagania wstępne

  1. System operacyjny: Rhel/Centos/Fedora i Ubuntu/Debian/Linux Mint
  2. Jinja2: Nowoczesny, szybki i łatwy w użyciu silnik szablonu do Pythona.
  3. Pyyaml: Parser i emiter Yaml dla języka programowania Python.
  4. PARMIKO: Rodzima biblioteka kanałów Python SSHV2.
  5. httplib2: Kompleksowa biblioteka klientów HTTP.
  6. sshpass: Nieinteraktywne uwierzytelnianie hasła SSH.

Moja konfiguracja środowiska

Maszyna kontrolna - Ansible
System operacyjny: Linux Mint 17.1 Adres IP Rebecca: 192.168.0.254 nazwa hosta: Tecmint.instruktor.Użytkownik COM: Tecmint 
Zdalne węzły
Węzeł 1: 192.168.0.112 Węzeł 2: 192.168.0.113 Węzeł 3: 192.168.0.114 

Krok 1: Instalowanie maszyny sterującej - Ansible

1. Przed zainstalowaniem 'Ansible„Na serwerze najpierw sprawdźmy szczegóły serwera, takie jak nazwa hosta i adres IP. Zaloguj się na serwer jako użytkownik root i wykonaj poniższe polecenie, aby potwierdzić ustawienia systemowe, których użyjemy dla tej konfiguracji.

# sudo ifconfig | GREP INET 
Sprawdź szczegóły systemu

2. Po potwierdzeniu ustawień systemu nadszedł czas, aby zainstalować oprogramowanie „Ansible” w systemie.

Na Mint Ubuntu/Debian/Linux

Tutaj użyjemy oficjalnego repozytorium Ansible PPA w systemie, po prostu uruchom poniższe polecenia, aby dodać repozytorium.

$ sudo apt-add-repozytory pPA: ansible/ansible -y $ sudo apt-get aktualizacja && sudo apt-get instaluj ansible -y 
Dodaj PPA Ansible Zainstaluj ansible w Ubuntu
Na RHEL/CENTOS/FEDORA

Niestety, nie ma oficjalnego repozytorium Ansible dla klonów opartych na Redhat, ale możemy zainstalować ansible, włączając repozytorium EPEL w ramach RHEL/Centos 6, 7 i obecnie obsługiwane Fedora Distributions.

Użytkownicy Fedora mogą bezpośrednio zainstalować ANSible za pośrednictwem domyślnego repozytorium, ale jeśli używasz RHEL/CENTOS 6, 7, musisz włączyć repozytor.

Po skonfigurowaniu repozytorium EPEL możesz zainstalować ansible za pomocą następującego polecenia.

$ sudo yum instaluj ansible -y 

Po pomyślnym zainstalowaniu możesz zweryfikować wersję, wykonując poniższe polecenie.

# ansible --version 
Sprawdź wersję Ansible

Krok 2: Przygotowanie kluczy SSH do zdalnych hostów

4. Aby najpierw wykonać dowolne wdrożenie lub zarządzanie od hosta od zdalnego hosta. W każdym zdalnym hoście będzie konto użytkownika Tecmint (W twoim przypadku może być inny użytkownik).

Najpierw pozwólmy utworzyć klawisz SSH za pomocą poniższego polecenia i skopiować klucz do zdalnych hostów.

# ssh -keygen -t rsa -b 4096 -C "[e -mail chroniony]" 
Utwórz klucz SSH

5. Po pomyślnym utworzeniu klucza SSH skopiuj klucz utworzony do wszystkich trzech zdalnych serwerów.

# ssh-copy-id [e-mail chroniony] # ssh-copy-id [e-mail chroniony] # ssh-copy-id [e-mail chroniony] 
Skopiuj kluczowy serwer zdalny Skopiuj drugi zdalny host

6. Po skopiowaniu wszystkich kluczy SSH do zdalnego hosta, wykonaj teraz uwierzytelnianie klucza SSH na wszystkich zdalnych hostach, aby sprawdzić, czy uwierzytelnianie działa, czy nie.

$ ssh [e -mail chroniony] $ ssh [e -mail chroniony] $ ssh [e -mail chroniony] 
SSH Kluczowe strony uwierzytelniania: 1 2