Een apt-get-update uitvoeren in Ansible

How Run An Apt Get Update Ansible



In mijn dagelijkse workflow werk ik met veel externe Linux-systemen, waarvan de meeste op Debian zijn gebaseerd.

Ik kan je openlijk vertellen dat het soms erg vermoeiend wordt om SSH naar alle machines te sturen, een apt-get-update uit te voeren en dan te controleren of er updates zijn en deze te installeren. Zelfs met wachtwoordloze SSH-aanmeldingen kost het nog steeds enorm veel tijd.







Hoe kan ik dit proces automatiseren nadat ik mezelf constant heb afgevraagd? Ik heb Ansible gevonden!



Voor deze zelfstudie laat ik u zien hoe u deze krachtige automatiseringstool kunt gebruiken om al uw externe systemen bij te werken met apt. Door up-to-date te blijven en alle patches op uw systeem toe te passen, blijft uw systeem veilig.



Wat is Ansible?

Ansible is een krachtige automatiseringstool waarmee u op afstand en automatisch systemen kunt configureren en beheren. Bovendien biedt het aantrekkelijke functies, zoals het op afstand installeren van software, terugdraaien in geval van fouten, back-ups, externe downloads en nog veel meer.





Ansible is ook heel gemakkelijk te gebruiken. Het maakt gebruik van YAML-bestanden die gemakkelijk te schrijven en zeer leesbaar zijn, en een hoog beveiligingsniveau omdat het SSH gebruikt om in te loggen en systemen te beheren.

Het beheren van meer dan één systeem vanuit één tool is meer dan triomfantelijk, en elke systeembeheerder zou bekend moeten zijn als hij Ansible nog niet gebruikt.



Ansible installeren

Laten we, met de lof van Ansible uit de weg, eens kijken naar het installeren van Ansible op onze lokale computer om de externe servers te beheren.

Voor deze zelfstudie gebruik ik Ubuntu 20.10 als mijn lokale machine. Bekijk de documentatie voor meer informatie over het installeren van Ansible op andere systemen.

Gebruik op Ubuntu de opdrachten:

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible

Ansible Hosts toevoegen

Als u niet bekend bent met Ansible, is de eerste stap het inventariseren van de externe machines die u wilt automatiseren. U kunt dit doen door de /etc/ansible/hosts.

Om de Debian-servers toe te voegen, voert u de gegevens in als:

[debian]
192.168.0.13

U kunt het IP-adres van de externe host doorgeven of de hostnaam van de machine gebruiken.

Zodra we de lijst met te beheren hosts in het configuratiebestand hebben, kunnen we doorgaan en de updates automatiseren.

Update met behulp van de apt-module

Om pakketten op afstand bij te werken en te beheren op op Debian gebaseerde machines, gebruiken we de apt-module van Ansible. De apt-module stelt ons in staat om apt-pakketten met andere configuraties te beheren.

Repository-cache bijwerken
Om de repository-cache bij te werken met Ansible, kunnen we een playbook gebruiken zoals hieronder beschreven:

---
- hosts: debian
worden: ja
word_methode: sudo
taken:
- naam: 'Update Repository cache'
geschikt:
update_cache: waar
cache_valid_time: 3600
force_apt_get: waar

Sla het bestand op en voer het uit met de opdracht als:

ansible-playbook --user=debian apt.yaml

Hierdoor wordt het playbook uitgevoerd en worden de opgegeven taken uitgevoerd. De uitvoer is zoals hieronder weergegeven:

In het Ansible-playbook beginnen we met het specificeren van de hosts. In dit geval willen we alleen de Debian-hosts.

Vervolgens stellen we het in om waar te worden, waardoor de gebruiker privileges kan verhogen met behulp van sudo zoals gespecificeerd in de becom_method.

Ten slotte stellen we de taken in om de repository-cache bij te werken. We hebben ook een cache_valid_time ingesteld als 3600 die de cache ververst als deze ouder is dan de genoemde tijd.

OPMERKING: Gebruik force_apt-get in plaats van aptitude.

Alle pakketten upgraden
We kunnen ook alle pakketten in het systeem bijwerken die overeenkomen met de opdracht:

sudo apt-get dist-upgrade

Om dit te doen met behulp van Ansible playbook, voegen we het yaml-bestand toe als:

---
- hosts: alle
worden: ja
word_methode: sudo
taken:
- naam: 'Update cache & Volledige systeemupdate'
geschikt:
update_cache: waar
upgrade: dist
cache_valid_time: 3600
force_apt_get: waar

Voer op dezelfde manier het bovenstaande Ansible Playbook uit, zoals weergegeven in de eerste opdracht.

Conclusie

In deze zelfstudie hebben we snel besproken wat Ansible is, wat het biedt en hoe we de modules ervan kunnen gebruiken om een ​​systeemupdate uit te voeren op een op Debian gebaseerd systeem.

Bedankt en veel plezier met automatisering