ansible tutorial installation
Hands-on Ansible Tutorial met Ansible installatie, gebruik en configuratie met Ansible Modules:
We bespraken AWS elastische bonenstaak in onze vorige tutorial.
LIJST met handleidingen in deze Ansible-serie:
Tutorial # 1: Ansible installatie en modules
Tutorial # 2: Ansible Playbooks en Vaults
Tutorial # 3: Ansible-rollen en integratie met Jenkins
Ansible is een open source tool die helpt bij taakautomatisering, applicatie-implementatie, cloudprovisioning en configuratiebeheer.
Lees ook => DevOps Training Tutorial-lijst
We hebben het dus over IT-orkestratie waarbij taken op volgorde worden uitgevoerd op verschillende machines of servers.
Ansible doet dit door via SSH verbinding te maken met meerdere machines en voert de taken uit die zijn geconfigureerd in playbooks en gebruikt een eenvoudige taal genaamd YAML (Another Markup Language)
Wat je leert:
- Overzicht van Ansible
- Ansible installatieproces
- Ansible gebruik
- Ansible-modules
- Overzicht
- Aanbevolen literatuur
Overzicht van Ansible
Het belangrijkste is dat Ansible geen agent gebruikt om taken op verschillende machines te automatiseren.
Ansible zorgt voor het onderhouden van exacte versies en up-to-date informatie van de softwarepakketten.
Bijvoorbeeld , als je JDK 8 of Tomcat of een ander softwarepakket op 10 of 20 verschillende machines wilt installeren, is het niet echt haalbaar om naar alle machines te gaan en ze te installeren, gebruik eerder Ansible om de installatie te automatiseren of zelfs software-implementaties met Playbooks en Inventaris geschreven in een heel eenvoudige taal.
Dus Ansible is:
- Gratis en open source
- Onderhouden door Redhat
- In wezen een serverconfiguratie
- Configuratiebeheer
In deze 3-delige Ansible Tutorial-serie bespreken we de praktische benadering van de volgende onderwerpen:
- Installatie- en configuratieproces
- Voorraad
- Ansible-modules
- Ad-hoc commando's,
- Taakautomatisering met behulp van playbooks
- Ansible rollen
- Ansible kluis
- Ansible en AWS
Ansible installatieproces
Ansible kan vanaf elke computer worden geïnstalleerd en uitgevoerd.
Meestal heb je een Controle machine voor installatie die Linux zou moeten zijn. Windows-machine biedt geen ondersteuning voor het zijn van een besturingsmachine. De controlemachine zal de andere externe machines beheren. Zoals eerder vermeld gebruikt Ansible SSH om externe machines te beheren.
In deze tutorial zal ik AWS EC2-instanties gebruiken om de voorbeelden te laten zien. Ik heb 2 instanties gebruikt (één besturingsmachine en andere als doelwit voor het automatiseren van taken) en Redhat Linux 7.5.
Of het nu gaat om on-premise of cloudinstances, u moet poorten op de juiste manier openen op basis van de taken die worden geautomatiseerd. Ik heb de volgende poorten open als onderdeel van de beveiligingsgroep voor de EC2-instanties om de voorbeelden te demonstreren die in de tutorial worden genoemd.
gratis computerback-upsoftware op externe harde schijf
In het bovenstaande scherm heb ik het openen van poort 8080 genoemd, zoals ik zal laten zien over het automatiseren van automatisering van software-implementatie met Tomcat, wat handig zal zijn vanuit een DevOps-oogpunt, vooral tijdens het continue leveringsproces.
Installatie van Ansible met YUM
Zoals eerder vermeld, zal ik één besturingsmachine en een doelmachine gebruiken. Om met de installatie te beginnen, voert u de onderstaande stappen uit op beide machines.
naar) Creëer een gemeenschappelijk ID op beide machines, voor Voorbeeld ansible met SUDO-privileges. Deze id wordt gebruikt voor communicatie tussen alle betrokken machines voor automatisering van taken.
b) Bewerk het / etc / ssh / sshd_config bestand op het controle machine en uncomment uit de regels voor PasswordAuthentication en PermitRootLogin
Voer de bovenstaande stappen uit op beide machines. Eenmaal voltooid, start u het sshd service op beide machines.
c) Voor volledige automatisering van taken hebben we wachtwoordloze SSH-authenticatie nodig, anders wordt het hele proces niet gebruikt als u het wachtwoord elke keer moet intoetsen.
Dus post de wijzigingen die hierboven zijn gedaan als we de opdracht ssh en ssh uitvoeren, we zullen het wachtwoord elke keer moeten intoetsen, wat niet de juiste procedure is om Ansible-taken uit te voeren.
d) Voer de onderstaande stappen uit om wachtwoordloze verificatie in te schakelen. Voeg eerst de gebruiker toe ansible naar de / etc / sudoers bestand op beide machines waardoor de gebruiker ansible om een commando uit te voeren waarvoor root-rechten nodig zijn.
Sla het bestand op en sluit het af nadat u de gebruiker hebt toegevoegd.
is) In de toekomst zullen we de gebruiker gebruiken ansible om alle stappen uit te voeren. Schakel dus over naar de gebruiker ansible.
Besturingsmachine toereikend EN Doelmachine aanvaardbaar
Besturingsmachine ssh-keygen
Doelmachine ssh-keygen
Kopieer de SSH-sleutel naar de doelcomputer en vice versa.
Besturingsmachine ssh-kopie-id
Doelmachine ssh-kopie-id
gratis opruimtool voor Windows 10
We kunnen nu inloggen zonder het wachtwoord in te voeren. Na het uitchecken van de SSH-connectiviteit op beide machines en ingelogd zijn als ansible-gebruiker.
Besturingsmachine: ssh ansible @
Doelmachine: ssh ansible @
f) Installeer wget als het niet op beide machines is geïnstalleerd.
g) We kunnen nu installeren ansible alleen op de Control-machine door de EPEL-repo van Fedora in te schakelen die add-on softwarepakketten biedt. Voer de volgende stappen uit om te installeren ANSIBLE.
De gebruikte ansible-versie is 2.5.3
h) Bewerk het ansible.cfg bestand en schakel de parameter inventory file in op de besturingscomputer.
ik) Ansible gebruikt het concept van Inventaris om de doelmachines te beheren en te volgen. Dit bestand bevindt zich standaard in / etc / ansible / hosts en kan ook worden gewijzigd. Een hostbestand bestaat uit groepen voor een betere classificatie en uit meerdere machines onder de groep. Alle benodigde machines kunnen aan die groepen worden toegevoegd.
Elke groep wordt aangegeven met een vierkante haak en een groepsnaam erin. Een server kan in feite in meerdere groepen bestaan.
Bewerk het inventarisbestand / etc / ansible / hosts en voeg alle servers toe die moeten worden beheerd.
j) Om de connectiviteit van de servers onder de webservergroep te testen, voert u het ansible ping commando zoals weergegeven. Hier ping is een module die een bepaalde functie uitvoert om te testen of de hosts kunnen worden verbonden zoals gedefinieerd in het inventarisbestand of niet. In de volgende sectie zullen we meer zien over verschillende modules en de voorbeelden ervan.
Om de hosts in het inventarisbestand weer te geven, kunt u de onderstaande opdracht uitvoeren
Ansible gebruik
Ansible bestaat uit 3 hoofdcomponenten
- Besturingsmachine
- Voorraad
- Speelboek
De controlemachine beheert de uitvoering van het Playbook. Het kan op uw laptop of op elke computer op internet worden geïnstalleerd.
Het inventarisbestand biedt een volledige lijst van alle doelmachines waarop verschillende modules worden uitgevoerd door een ssh-verbinding te maken en de benodigde software te installeren.
Het playbook bestaat uit stappen die het controlemechanisme zal uitvoeren op de servers die zijn gedefinieerd in het inventarisbestand.
Heel belangrijk om hier te begrijpen is dat Ansible communiceert met alle servers die in de inventaris zijn gedefinieerd via het SSH-protocol, een veilige methode voor inloggen op afstand. Elke bewerking is voltooid en de bestandsoverdracht is gecodeerd.
Dus zoals je in de vorige sectie zou hebben gezien, gebruikt Ansible geen enkele soort database voor installatie en is het zeer eenvoudig te installeren, we gaan nu verder met het daadwerkelijke gebruik van Ansible, te beginnen met Modules, de belangrijkste bouwsteen.
Ansible-modules
Modules zijn de belangrijkste bouwstenen van Ansible en zijn in feite herbruikbare scripts die worden gebruikt door Ansible-playbooks. Ansible wordt geleverd met een aantal herbruikbare modules. Deze omvatten functionaliteit voor het beheren van services, installatie van softwarepakketten, werken met bestanden en mappen enz.
De syntaxis is als volgt bij het uitvoeren van de ad-hocopdrachten die helpen bij het slechts één keer uitvoeren van enkele of eenvoudige taken en die niet later hoeven te worden uitgevoerd. Voor Bijv. gewoon Tomcat op alle servers installeren.
Laten we eens kijken naar enkele van de meest populaire Ansible-modules en hun gebruik via de ad-hocopdrachten en later in het playbook.
# 1) Installatiemodule
Om informatie te krijgen over de netwerk- of hardware- of OS-versie of geheugengerelateerde informatie, helpt de setup-module om hetzelfde te verzamelen over de doelmachines. Op de besturing voert de machine de onderstaande opdracht uit.
# 2) Commandomodule
De commandomodule voert eenvoudig een specifiek commando uit op de doelcomputer en geeft de uitvoer.
Enkele voorbeelden worden hieronder gegeven
# 3) Shell-module
Om een commando in de shell van uw keuze uit te voeren, kunt u de Shell-module gebruiken. De commando's van de shell-module worden uitgevoerd in / bin / sh shell en je kunt gebruik maken van de operatoren zoals ‘>’ of ‘|’ (pipe-symbool of zelfs omgevingsvariabelen.
Dus het belangrijkste verschil tussen de Shell- en Command-module is dat als je de operators zoals de genoemde niet hoeft te gebruiken, je de command-module kunt gebruiken.
Controleer op de machines onder de webserversgroep het aangemaakte bestand en voer de opdracht uit om het tekstbestand te bekijken.
# 4) Gebruikersmodule
Met behulp van deze module kan men gebruikers aanmaken of verwijderen.
Om een gebruiker toe te voegen
Om gebruiker te verwijderen
Opties:
- worden - Privilege aan de superuser om de opdracht uit te voeren
- state = afwezig om de gebruiker te verwijderen
# 5) Bestandsmodule
Deze module wordt gebruikt om bestanden, mappen aan te maken, bestandsrechten en eigendom enz. In te stellen of te wijzigen
Voorbeeld 1: Maak een bestand
Voorbeeld 2: Maak een directory
Om een map te maken met behulp van de bestandsmodule, moet u twee parameters instellen.
- Pad (alias - naam, bestemming) - Dit is het absolute pad van de map die moet worden gemaakt.
- Staat - U moet de waarde invoeren als ‘directory’. Standaard is de waarde ‘file’.
Voorbeeld 3: Verwijder een bestand
Voorbeeld 4: Verwijder een map
U kunt een directory verwijderen door de parameterwaarde state in te stellen op afwezig De directory en de volledige inhoud worden verwijderd.
interviewvragen en antwoorden voor netwerkingenieur in Cisco
# 6) Kopieer module
Het wordt gebruikt voor het kopiëren van bestanden naar meerdere doelmachines.
# 7) Softwarepakketten beheren
Als je softwarepakketten moet installeren via ‘yum’ of ‘apt’, kun je de onderstaande opdrachten gebruiken.
Voorbeeld 1: Installeer GIT
In het rechtervenster kun je zien of git niet is geïnstalleerd, het zal het commando niet gevonden geven en eenmaal geïnstalleerd zal het de uitvoer tonen.
In dit commando state = aanwezig zal controleren of het pakket is geïnstalleerd of niet en als het niet is geïnstalleerd, wordt de nieuwste versie geïnstalleerd.
Voorbeeld 2: Controleer of het pakket is geïnstalleerd en werk het bij naar de nieuwste versie.
In het bovenstaande commando, state = laatste werkt het pakket alleen bij naar de laatste versie.
Voorbeeld 3: Installeer Apache Webserver
Voorbeeld 4: Controleer of Maven is geïnstalleerd of niet.
# 8) Services-module beheren
Om services met ansible te beheren, gebruiken we een module 'onderhoud'.
Een dienst beginnen
Een dienst stoppen
Een service opnieuw starten
Klik hier om de lijst met volledige modules te krijgen.
Overzicht
In deze tutorial heb ik je kennis laten maken met de basisconcepten en componenten van Ansible en we hebben ook meer gezien over de installatie, configuratie en het gebruik van Ansible met behulp van Ansible-modules, het belangrijkste onderdeel van Ansible-uitvoering.
In onze aanstaande tutorial zullen we ons concentreren op het zeer belangrijke aspect van het schrijven van playbooks voor taakautomatisering en Ansible-kluizen om gevoelige gegevens in gecodeerde bestanden te bewaren.
PREV-zelfstudie VOLGENDE zelfstudie
Aanbevolen literatuur
- Diepgaande Eclipse-zelfstudies voor beginners
- Ansible-rollen, integratie met Jenkins in DevOps en EC2-modules
- Taakautomatisering met behulp van Ansible Playbooks en Ansible Vaults met voorbeelden
- Stap-voor-stap installatie en configuratie van Appium Studio
- Inleiding tot de programmeertaal van Java - videozelfstudie
- WebDriver Volledige installatie en installatie met Eclipse - Selenium Tutorial # 9
- Jira downloaden en installeren met Jira-licentie instellen
- Python introductie en installatieproces