Ansible selbst ist in Python geschrieben und hat eine ziemlich minimale Lernkurve. Ansible folgt einem einfachen Setup-Verfahren und ist nicht von zusätzlicher Software, Servern oder Client-Daemons abhängig. Es verwaltet Knoten über SSH und ist standardmäßig parallel.
In diesem Handbuch erfahren Sie, wie Sie Ansible auf Fedora 35 installieren und konfigurieren.
Verwandte Inhalte
- So installieren Sie Python 2 und Python 3 auf Fedora 35
- So installieren Sie Python 2 und Python 3 auf Rocky Linux/Centos 8
- So installieren und konfigurieren Sie Ansible unter Rocky Linux/CentOS 8
Voraussetzungen
Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein aktueller Fedora 35 Server
- Zugang zum Internet
- Kenntnisse des Linux-Terminals
- Root-Zugriff auf den Server oder Benutzer mit sudo-Zugriff
Inhaltsverzeichnis
- Stellen Sie sicher, dass die Betriebssystempakete auf dem neuesten Stand sind
- Python auf Fedora 35 Server installieren
- Ansible installieren
- Ansible-Installation testen
1. Stellen Sie sicher, dass die Betriebssystempakete auf dem neuesten Stand sind
Bevor Sie fortfahren, wird immer empfohlen, das System und die installierten Pakete zu aktualisieren.
Verwenden Sie diesen Befehl, um sicherzustellen, dass die Systempakete auf dem neuesten Stand sind:
sudo dnf -y update
2. Python auf Rocky Linux/Centos 8 Server installieren
Ansible ist in Python geschrieben. Da Python-Programme interpretiert werden, benötigen sie immer die verfügbare Python-Laufzeitumgebung, damit sie ausgeführt werden können. Ansible ist keine Ausnahme, wir brauchen Python, damit wir Ansible ausführen können. Ansible funktioniert sowohl für Python 2 als auch für Python 3.
Verwenden Sie dies, um python3 auf dem Server zu installieren:
sudo dnf install -y python3
Pip ist ein Paketmanager für Python. Wir können pip verwenden, um Python-Python-Pakete und ihre Abhängigkeiten zu verwalten. Wir benötigen auch Pip, um Ansible zu installieren. Verwenden Sie diese Befehle, um Pip zu installieren:
sudo dnf -y install python3-pip
Es wird auch empfohlen, die neueste Version von pip installiert zu haben. Verwenden Sie diesen Befehl, um Pip
zu aktualisierensudo pip3 install --upgrade pip
3. Ansible installieren
Es gibt zwei Möglichkeiten, wie wir Ansible in unserem System installieren können.
i. Installieren Sie ansible aus den standardmäßigen Fedora-Repositorys
Wir können Ansible installieren, das in den Fedora-Repos bereitgestellt wird, indem wir diesen Befehl verwenden:
sudo dnf install ansible
Überprüfen Sie die auf Ihrem System installierte Version von Ansible mit diesem Befehl:
$ ansible --version
ansible 2.9.27
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/fedora/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.9.7 (default, Aug 30 2021, 00:00:00) [GCC 11.2.1 20210728 (Red Hat 11.2.1-1)]
Ansible mit Pip installieren
Pip kann verwendet werden, um Ansible auf unserem System zu installieren.
pip3 install ansible --user
Da ich in meinem Fall bereits Ansible installiert habe, bekomme ich dies
$ pip3 install ansible --user
Requirement already satisfied: ansible in /usr/lib/python3.9/site-packages (2.9.27)
Requirement already satisfied: jinja2 in /usr/lib/python3.9/site-packages (from ansible) (2.11.3)
Requirement already satisfied: PyYAML in /usr/lib64/python3.9/site-packages (from ansible) (5.4.1)
Requirement already satisfied: cryptography in /usr/lib64/python3.9/site-packages (from ansible) (3.4.6)
Requirement already satisfied: cffi>=1.12 in /usr/lib64/python3.9/site-packages (from cryptography->ansible) (1.14.5)
Requirement already satisfied: pycparser in /usr/lib/python3.9/site-packages (from cffi>=1.12->cryptography->ansible) (2.20)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.9/site-packages (from jinja2->ansible) (1.1.1)
Requirement already satisfied: ply==3.11 in /usr/lib/python3.9/site-packages (from pycparser->cffi>=1.12->cryptography->ansible) (3.11)
4. Testen der Ansible-Installation
Ansible verwendet ssh, um eine Verbindung herzustellen und Befehle auf dem Remote-Server auszuführen. Damit Ansible funktioniert, müssen wir sicherstellen, dass wir uns mit ssh mit dem Remote-Server verbinden können.
Um passwortloses SSH zum Remote-Server auszuführen, verwenden Sie diesen Befehl, um den SSH-Schlüssel zu generieren:
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rocky/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rocky/.ssh/id_rsa.
Your public key has been saved in /home/rocky/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vRdPlegZg17H4aMt30jQsiTYe0Jnh0zErhnSnuUQj3g [email protected]
The key's randomart image is:
+---[RSA 3072]----+
| oo . |
| o.ooo+ o|
| .o+*O=o*.|
| ooE**=B..|
| S++X+=o. |
| =+.=o..|
| . . o..|
| . |
| |
+----[SHA256]-----+
Kopieren Sie die ID auf den Remote-Server:
ssh-copy-id [email protected]
Erstellen Sie nun eine Inventardatei:
vim hosts
Mit diesem Inhalt:
10.2.40.182 ansible_ssh_user=fedora
Verwenden Sie das Ping-Modul, um Ansible zu testen:
$ ansible -i hosts 10.2.40.182 -m ping 10.2.40.182 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
Übergeben Sie für Befehle, die sudo benötigen, die Option --ask-become-pass
. Dadurch wird nach dem Passwort für die Privilegienausweitung gefragt. Dies erfordert möglicherweise die Installation von sshpass
Programm.
$ ansible -i hosts 10.2.40.182 -m command -a "sudo yum install vim" --ask-become-pass
BECOME password:
[WARNING]: Consider using 'become', 'become_method', and 'become_user' rather than running sudo
10.2.40.182 | CHANGED | rc=0 >>
Last metadata expiration check: 0:23:39 ago on Wed 03 Nov 2021 08:35:14 PM UTC.
Package vim-enhanced-2:8.2.3512-1.fc34.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
Schlussfolgerung
In diesem Handbuch haben wir es geschafft, Ansible zu installieren und die Verbindung zu einem Remote-Server zu testen.