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 unter Rocky Linux/CentOS 8 installieren und konfigurieren.
Verwandte Inhalte
- So installieren Sie Python 2 und Python 3 auf Rocky Linux/Centos 8
- So installieren Sie Python 2 und Python 3 auf Fedora 35
- So installieren und konfigurieren Sie Ansible auf Fedora 35
Voraussetzungen
Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein aktueller Rocky Linux/Centos 8 Server
- Zugang zum Internet
- Kenntnisse des Linux-Terminals
Inhaltsverzeichnis
- Stellen Sie sicher, dass die Betriebssystempakete auf dem neuesten Stand sind
- Python auf Rocky Linux/Centos 8 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. Ansible mit EPEL-Repo installieren
Extra Packages for Enterprise Linux (oder EPEL) ist eine Fedora Special Interest Group, die eine Reihe hochwertiger Zusatzpakete für Enterprise Linux erstellt, pflegt und verwaltet. Fügen Sie das EPEL-Repository mit diesem Befehl zu Ihrem Rocky Linux/Centos 8-System hinzu:
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Wir können dann mit diesem Befehl Ansible installieren, das im EPEL-Repo bereitgestellt wird:
sudo dnf install ansible
Überprüfen Sie die auf Ihrem System installierte Version von Ansible mit diesem Befehl:
$ ansible --version
ansible 2.9.25
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/rocky/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Sep 21 2021, 18:40:00) [GCC 8.4.1 20200928 (Red Hat 8.4.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.6/site-packages (2.9.25)
Requirement already satisfied: jinja2 in /usr/lib/python3.6/site-packages (from ansible) (2.10.1)
Requirement already satisfied: PyYAML in /usr/lib64/python3.6/site-packages (from ansible) (3.12)
Requirement already satisfied: cryptography in /usr/lib64/python3.6/site-packages (from ansible) (3.2.1)
Requirement already satisfied: six>=1.4.1 in /usr/lib/python3.6/site-packages (from cryptography->ansible) (1.11.0)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/lib64/python3.6/site-packages (from cryptography->ansible) (1.11.5)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib64/python3.6/site-packages (from jinja2->ansible) (0.23)
Requirement already satisfied: pycparser in /usr/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography->ansible) (2.14)
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.