Hoe Ansible te installeren op Ubuntu 20.04 LTS

How Install Ansible Ubuntu 20



In dit artikel laat ik je zien hoe je Ansible installeert op Ubuntu 20.04 LTS en hoe je Ubuntu 20.04 LTS-hosts configureert voor Ansible-automatisering. Dus laten we beginnen.

Netwerk topologie:







Hier de linuxhint-711ea is een Ubuntu 20.04 LTS-machine waar ik Ansible zal installeren.



Dan zal ik de hosts configureren gastheer1 (IP-adres 192.168.20.162) en gastheer2 (IP-adres 192.168.20.153) voor Ansible-automatisering en voer er opdrachten op uit met behulp van Ansible vanaf de linuxhint-711ea machine.



ik bel gewoon gastheer1 en gastheer2 als Ansible-hosts in dit artikel.





Ansible installeren:

U kunt Ansible eenvoudig installeren op Ubuntu 20.04 LTS vanuit de officiële pakketrepository van Ubuntu.

Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:



$sudogeschikte update

De cache van de pakketrepository van APT moet worden bijgewerkt.

Installeer nu Ansible met de volgende opdracht:

$sudogeschiktinstallerenweerbaar

Om de installatie te bevestigen, drukt u op EN en druk vervolgens op .

Ansible moet worden geïnstalleerd.

Voer nu de volgende opdracht uit om te controleren of ansible correct werkt.

$weerbaar--versie

Zoals u kunt zien, is het ansible-commando beschikbaar en werkt het correct.

SSH-sleutel genereren:

Nu moet je een SSH-sleutel genereren op de computer waarop je Ansible hebt geïnstalleerd.

Voer de volgende opdracht uit om een ​​SSH-sleutel te genereren:

$ssh-keygen

Druk nu op .

druk op .

druk op .

Er moet een SSH-sleutel worden gegenereerd.

Ubuntu-hosts configureren voor Ansible-automatisering:

In dit gedeelte laat ik u zien hoe u een Ubuntu-host configureert ( gastheer1 ) voor Ansible-automatisering. Als je meer dan één host hebt die je wilt automatiseren met Ansible, herhaal dan hetzelfde proces op elk van de hosts.

Op de Ubuntu Ansible-hosts (die u wilt configureren voor Ansible-automatisering) moet een SSH-serverpakket zijn geïnstalleerd.

Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:

$sudogeschikte update

Installeer vervolgens de OpenSSH-server met de volgende opdracht:

$sudogeschiktinstallerenopenssh-server-en

In mijn geval is het OpenSSH-serverpakket al geïnstalleerd. Als het in uw geval niet is geïnstalleerd, moet het worden geïnstalleerd.

Controleer nu of de sshd service wordt uitgevoerd met het volgende commando:

$sudosystemctl-status sshd

Zoals je kunt zien, is de sshd service is actief (rennen) en ingeschakeld (start automatisch bij het opstarten van het systeem).

Als de sshd service is niet actief (in uw geval actief), start het handmatig met de volgende opdracht:

$sudosystemctl start sshd

Als de sshd service is niet ingeschakeld (niet toegevoegd aan het opstarten van het systeem) in uw geval, voeg het in uw geval handmatig toe aan het opstarten van het systeem met de volgende opdracht:

$sudosystemctlinschakelensshd

Configureer nu de firewall om SSH-toegang toe te staan ​​met de volgende opdracht:

$sudoufw toestaanssh

Je moet ook een maken weerbaar gebruiker en sta wachtwoordloze sudo-toegang toe tot de weerbaar gebruiker.

om een ​​te maken weerbaar gebruiker, voer de volgende opdracht uit:

$sudoadduser ansible

Typ nu een wachtwoord voor de weerbaar gebruiker en druk op .

Typ nu het wachtwoord opnieuw en druk op .

Druk nu op .

Druk nu op .

Druk nu op .

Druk nu op .

Druk nu op .

Typ nu in en en druk vervolgens op .

Een weerbaar gebruiker moet worden aangemaakt.

Configureer nu wachtwoordloze sudo-toegang tot de weerbaar gebruiker met het volgende commando:

$gooide uit 'ansible ALL=(ALL) NOPASSWD:ALL' | sudo tee /enzovoort/sudoers.d/weerbaar

Zoek nu het IP-adres van de Ansible-host ( gastheer1 ) met het volgende commando:

$hostnaam -L

Hier is het IP-adres in mijn geval: 192.168.20.162 . Het zal voor jou anders zijn. Zorg er dus voor dat u het nu vervangt door uw formulier.

Kopieer nu vanaf de computer waarop u Ansible hebt geïnstalleerd de openbare SSH-sleutel naar de Ansible-host ( gastheer1 ) als volgt:

$ssh-copy-id ansible@192.168.20.162

Typ in Ja en druk op .

Typ nu het wachtwoord voor de weerbaar gebruiker en druk op .

De openbare SSH-sleutel moet worden gekopieerd naar: gastheer1 .

Schakel nu op wachtwoord gebaseerde login uit voor de weerbaar gebruiker met het volgende commando:

$sudogebruikersmod-DEweerbaar

Nu kunt u alleen SSH naar de Ansible-host ( gastheer1 ) als weerbaar gebruiker zonder wachtwoord van de computer waarvan u de openbare SSH-sleutel hebt gekopieerd (in dit geval de computer waarop u Ansible hebt geïnstalleerd). Maar u kunt SSH niet naar de Ansible-host ( gastheer1 ) als weerbaar gebruiker vanaf een andere computer. Ik heb de Ansible-hosts om veiligheidsredenen op deze manier geconfigureerd. als de weerbaar gebruiker heeft geen wachtwoord nodig voor het uitvoeren van administratieve opdrachten, het is riskant om op wachtwoord gebaseerde login toe te staan ​​voor de weerbaar gebruiker.

Nu zou je in staat moeten zijn om te SSH naar de ansible host gastheer1 vanaf de computer waarop u Ansible als volgt hebt geïnstalleerd:

$sshweerbaar@192.168.20.162

Zoals je kunt zien, heb ik toegang tot de Ansible-host ( gastheer1 ) als ansible-gebruiker zonder wachtwoord. Dus de Ansible-host ( gastheer1 ) is klaar voor Ansible-automatisering.

Als u om de een of andere reden aanmelding op basis van een wachtwoord wilt toestaan ​​voor de weerbaar gebruiker opnieuw, voer de volgende opdracht uit in de Ansible-host ( gastheer1 ):

$sudogebruikersmod-Uweerbaar

U kunt op dezelfde manier zoveel hosts configureren als u wilt voor Ansible-automatisering.

In dit artikel heb ik slechts 2 hosts geconfigureerd, gastheer1 en gastheer2 voor de demonstratie.

Ansible testen:

Maak nu een nieuwe projectdirectory aan ~/ansible-demo/ op de computer waarop u Ansible als volgt hebt geïnstalleerd:

$mkdir~/ansible-demo

Navigeer nu naar de ~/ansible-demo/ map als volgt:

$CD~/ansible-demo/

Maak nu een nieuwe gastheren bestand in de projectdirectory als volgt:

$nanogastheren

Typ nu de IP-adressen of DNS-namen van de Ansible-hosts ( gastheer1 en gastheer2 in mijn geval) in de gastheren bestand als volgt:

192.168.20.162
192.168.20.153

Sla het bestand nu op door op te drukken + X gevolgd door EN en dan .

Probeer nu als volgt alle hosts te pingen met Ansible:

$weerbaar allemaal-l./gastheren-uweerbaar-m ping

OPMERKING: Hier wordt de optie -u gebruikt om de gebruikersnaam (in dit geval ansible) op te geven die Ansible zal gebruiken om SSH naar de hosts te sturen.

Zoals u kunt zien, kunnen alle hosts worden gepingd. De hosts zijn dus klaar voor Ansible-automatisering.

Op dezelfde manier kunt u elk commando in de hosts als volgt uitvoeren met Ansible:

$weerbaar allemaal-l./gastheren-uweerbaar-mschelp-tot 'echo '$(hostnaam) - $(hostnaam -I)''

Zoals u kunt zien, is de opdracht met succes uitgevoerd in elk van de hosts en wordt de uitvoer weergegeven.

Dit is dus hoe u Ansible op Ubuntu 20.04 LTS installeert en Ubuntu 20.04 LTS-hosts configureert voor Ansible-automatisering. Bedankt voor het lezen van dit artikel.