Hvordan installere og konfigurere 'Ansible' automatiseringsverktøy for IT-administrasjon - del 1


Ansible er en åpen kildekode, kraftig automatiseringsprogramvare for å konfigurere, administrere og distribuere programvareapplikasjoner på nodene uten nedetid bare ved å bruke SSH. I dag kjører de fleste IT-automatiseringsverktøyene som en agent i ekstern vert, men ansible trenger bare en SSH-tilkobling og Python (2.4 eller nyere) som skal installeres på de eksterne nodene for å utføre handlingen.

Hvordan fungerer Ansible?

Det er mange lignende automatiseringsverktøy tilgjengelig som Puppet, Capistrano, Chef, Salt, Space Walk etc, men Ansible kategoriserer i to typer server: kontrollere maskiner og noder.

Den kontrollerende maskinen, der Ansible er installert og noder administreres av denne kontrollerende maskinen over SSH. Plasseringen av noder spesifiseres ved å kontrollere maskinen gjennom inventaret.

Den kontrollerende maskinen (Ansible) distribuerer moduler til noder ved hjelp av SSH-protokollen, og disse modulene lagres midlertidig på eksterne noder og kommuniserer med Ansible-maskinen gjennom en JSON-tilkobling over standardutgangen.

Ansible er uten agent, det betyr at det ikke er behov for noen agentinstallasjon på eksterne noder, så det betyr at det ikke er noen bakgrunnsdemoner eller programmer som kjører for Ansible, når den ikke administrerer noen noder.

Ansible kan håndtere 100-vis av noder fra et enkelt system over SSH-tilkobling, og hele operasjonen kan håndteres og utføres av én enkelt kommando 'ansible'. Men i noen tilfeller, der du trengte å utføre flere kommandoer for en distribusjon, her kan vi bygge spillebøker.

Playbooks er en rekke kommandoer som kan utføre flere oppgaver, og hver playbook er i YAML-filformat.

Hva er bruken av Ansible

Ansible kan brukes i IT-infrastruktur for å administrere og distribuere programvare til eksterne noder. For eksempel, la oss si at du trenger å distribuere en enkelt programvare eller flere programmer til 100-vis av noder med en enkelt kommando, her kommer ansible inn i bildet, med hjelp av Ansible kan du distribuere så mange som applikasjoner til mange noder med en enkelt kommando, men du må ha litt programmeringskunnskap for å forstå de mulige skriptene.

Vi har satt sammen en serie om Ansible, tittelen «Forberedelse for implementering av IT-infrastrukturen din med Ansible IT-automatiseringsverktøy», gjennom del 1-4 og dekker følgende emner.

I denne artikkelen vil vi vise deg hvordan du installerer 'Ansible' på RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 og Debian 7/6-systemer, og vi vil også gå gjennom noe grunnleggende om hvordan du administrerer en server ved å installere pakker, bruke oppdateringer og mye mer fra grunnleggende til proff.

Forutsetninger

  1. Operativsystem: RHEL/CentOS/Fedora og Ubuntu/Debian/Linux Mint
  2. Jinja2: En moderne, rask og enkel å bruke frittstående malmotor for Python.
  3. PyYAML: En YAML-parser og emitter for programmeringsspråket Python.
  4. parmiko: Et innebygd Python SSHv2-kanalbibliotek.
  5. httplib2: Et omfattende HTTP-klientbibliotek.
  6. sshpass: En ikke-interaktiv ssh-passordautentisering.

Mitt miljøoppsett

Kontrollerende maskin – Ansible
Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Eksterne noder
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

Trinn 1: Installere kontrollmaskin – Ansible

1. Før du installerer «Ansible» på serveren, la oss først bekrefte detaljene til serveren som vertsnavn og IP-adresse. Logg inn på serveren som en root-bruker og kjør kommandoen nedenfor for å bekrefte systeminnstillingene som vi skal bruke for dette oppsettet.

sudo ifconfig | grep inet

2. Når du har bekreftet systeminnstillingene, er det på tide å installere «Ansible»-programvare på systemet.

På Ubuntu/Debian/Linux Mint

Her skal vi bruke offisielt Ansible PPA-depot på systemet, bare kjør kommandoene nedenfor for å legge til depotet.

sudo apt-add-repository ppa:ansible/ansible -y
sudo apt-get update && sudo apt-get install ansible -y

På RHEL/CentOS/Fedora

Dessverre er det ikke noe offisielt Ansible-depot for RedHat-baserte kloner, men vi kan installere Ansible ved å aktivere epel-repository under RHEL/CentOS 6, 7 og for tiden støttede fedora-distribusjoner.

Fedora-brukere kan installere Ansible direkte gjennom standarddepot, men hvis du bruker RHEL/CentOS 6, 7, må du aktivere EPEL-repo.

Etter å ha konfigurert epel repository, kan du installere Ansible ved å bruke følgende kommando.

sudo yum install ansible -y

Etter vellykket installering kan du bekrefte versjonen ved å utføre kommandoen nedenfor.

ansible --version

Trinn 2: Klargjøring av SSH-nøkler til eksterne verter

4. For å utføre distribusjon eller administrasjon fra den lokale verten til den eksterne verten, må vi først opprette og kopiere ssh-nøklene til den eksterne verten. I hver ekstern vert vil det være en brukerkonto tecmint (i ditt tilfelle kan det være en annen bruker).

La oss først lage en SSH-nøkkel ved å bruke kommandoen nedenfor og kopiere nøkkelen til eksterne verter.

ssh-keygen -t rsa -b 4096 -C "[email "

5. Etter å ha opprettet SSH-nøkkelen vellykket, kopierer du den opprettede nøkkelen til alle tre eksterne servere.

ssh-copy-id [email 
ssh-copy-id [email 
ssh-copy-id [email 

6. Etter å ha kopiert alle SSH-nøkler til ekstern vert, utfør nå en ssh-nøkkelautentisering på alle eksterne verter for å sjekke om autentisering fungerer eller ikke.

ssh [email 
ssh [email 
ssh [email