Zoeken op website

Hoe u 'Ansible' automatiseringstool voor IT-beheer installeert en configureert - Deel 1


Ansible is een open source, krachtige automatiseringssoftware voor het configureren, beheren en implementeren van softwareapplicaties op de knooppunten zonder enige downtime, gewoon door gebruik te maken van SSH. Tegenwoordig draaien de meeste IT-automatiseringstools als een agent op een externe host, maar anible heeft alleen een SSH-verbinding en Python (2.4 of hoger) nodig om op de externe knooppunten te worden geïnstalleerd om zijn actie uit te voeren.

Hoe werkt Ansible?

Er zijn veel vergelijkbare automatiseringstools beschikbaar zoals Puppet, Capistrano, Chef, Salt, Space Walk enz., Maar Ansible kan worden onderverdeeld in twee soorten servers: het besturen van machines en knooppunten.

De controlerende machine, waarop Ansible is geïnstalleerd en knooppunten worden beheerd door deze controlerende machine via SSH. De locatie van knooppunten wordt gespecificeerd door de machine via zijn inventaris te besturen.

De controlerende machine (Ansible) implementeert modules op knooppunten met behulp van het SSH-protocol en deze modules worden tijdelijk opgeslagen op externe knooppunten en communiceren met de Ansible-machine via een JSON-verbinding via de standaarduitvoer.

Ansible is agentloos, wat betekent dat er geen agentinstallatie op externe knooppunten nodig is. Het betekent dus dat er geen achtergronddaemons of programma's worden uitgevoerd voor Ansible, wanneer het geen knooppunten beheert.

Ansible kan honderden knooppunten van één enkel systeem via een SSH-verbinding verwerken en de hele operatie kan worden afgehandeld en uitgevoerd met één enkel commando ‘ansible’. Maar in sommige gevallen, waarin u meerdere opdrachten voor een implementatie moest uitvoeren, kunnen we hier draaiboeken bouwen.

Playbooks zijn een reeks opdrachten die meerdere taken kunnen uitvoeren en elke playbook heeft de YAML-bestandsindeling.

Wat is het gebruik van Ansible

Ansible kan worden gebruikt in de IT-infrastructuur om softwareapplicaties te beheren en te implementeren op externe knooppunten. Laten we bijvoorbeeld zeggen dat u met één opdracht een enkele software of meerdere software op honderden knooppunten moet implementeren, hier komt ansible in beeld, met de hulp van Ansible kunt u met één enkele opdracht zoveel applicaties op veel knooppunten implementeren, maar je moet een beetje programmeerkennis hebben om de weerwortscripts te begrijpen.

We hebben een serie over Ansible samengesteld, getiteld ‘Voorbereiding op de implementatie van uw IT-infrastructuur met Ansible IT Automation Tool’, via delen 1-4 en behandelt de volgende onderwerpen.

In dit artikel laten we u zien hoe u 'Ansible' installeert op RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 en Debian 7/6 systemen en ook zullen we enkele basisprincipes doornemen over hoe u dit kunt beheren een server door pakketten te installeren, updates toe te passen en nog veel meer van basic tot pro.

Vereisten

  1. Besturingssysteem: RHEL/CentOS/Fedora en Ubuntu/Debian/Linux Mint
  2. Jinja2: een moderne, snelle en eenvoudig te gebruiken stand-alone sjabloonengine voor Python.
  3. PyYAML: een YAML-parser en -zender voor de programmeertaal Python.
  4. parmiko: een native Python SSHv2-kanaalbibliotheek.
  5. httplib2: een uitgebreide HTTP-clientbibliotheek.
  6. sshpass: een niet-interactieve ssh-wachtwoordverificatie.

Mijn omgevingsinstellingen

Machine besturen – Ansible
Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	tecmint.instrcutor.com
User		 :	tecmint
Externe knooppunten
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

Stap 1: Besturingsmachine installeren – Ansible

1. Voordat we ‘Ansible‘ op de server installeren, verifiëren we eerst de details van de server, zoals de hostnaam en het IP-adres. Log in op de server als rootgebruiker en voer de onderstaande opdracht uit om de systeeminstellingen te bevestigen die we voor deze installatie gaan gebruiken.

sudo ifconfig | grep inet

2. Zodra u uw systeeminstellingen heeft bevestigd, is het tijd om de 'Ansible'-software op het systeem te installeren.

Op Ubuntu/Debian/Linux Mint

Hier gaan we de officiële Ansible PPA-repository op het systeem gebruiken. Voer gewoon de onderstaande opdrachten uit om de repository toe te voegen.

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

Op RHEL/CentOS/Fedora

Helaas is er geen officiële Ansible-repository voor op RedHat gebaseerde klonen, maar we kunnen Ansible installeren door de epel-repository in te schakelen onder RHEL/CentOS 6, 7 en momenteel ondersteunde fedora-distributies.

Fedora gebruikers kunnen Ansible direct installeren via de standaard repository, maar als je RHEL/CentOS 6, 7 gebruikt, moet je EPEL repo inschakelen.

Nadat u de epel-repository hebt geconfigureerd, kunt u Ansible installeren met de volgende opdracht.

sudo yum install ansible -y

Nadat de installatie succesvol is uitgevoerd, kunt u de versie verifiëren door de onderstaande opdracht uit te voeren.

ansible --version

Stap 2: SSH-sleutels voorbereiden op externe hosts

4. Om een implementatie of beheer van de localhost naar de externe host uit te voeren, moeten we eerst de ssh-sleutels maken en kopiëren naar de externe host. Op elke externe host zal er een gebruikersaccount tecmint zijn (in jouw geval kan dit een andere gebruiker zijn).

Laten we eerst een SSH-sleutel maken met behulp van onderstaande opdracht en de sleutel naar externe hosts kopiëren.

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

5. Nadat u de SSH-sleutel met succes heeft aangemaakt, kopieert u nu de gemaakte sleutel naar alle drie de externe servers.

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

6. Nadat u alle SSH-sleutels naar de externe host hebt gekopieerd, voert u nu een ssh-sleutelauthenticatie uit op alle externe hosts om te controleren of de authenticatie werkt of niet.

ssh [email 
ssh [email 
ssh [email