Installation von Ansible und Überprüfung des Python-Interpreters
In diesem ersten Schritt installieren wir Ansible und untersuchen den standardmäßig verwendeten Python-Interpreter. Dies hilft uns, die Basiskonfiguration zu verstehen, bevor wir Änderungen vornehmen.
Installation von Ansible
Beginnen wir mit der Installation von Ansible auf dem System:
sudo apt update
sudo apt install -y ansible
Dies installiert die neueste Version von Ansible, die in den Ubuntu-Repositories verfügbar ist. Nach Abschluss der Installation können wir überprüfen, ob Ansible korrekt installiert wurde, indem wir die Version überprüfen:
ansible --version
Sie sollten eine Ausgabe ähnlich dieser sehen:
ansible [core 2.12.0]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/labex/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
ansible collection location = /home/labex/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.10.x (default, Ubuntu 22.04) [GCC 11.2.0]
jinja version = 3.0.3
libyaml = True
Beachten Sie, dass die Ausgabe die verwendete Python-Version enthält. Dies ist eine wichtige Information, da sie uns mitteilt, welchen Python-Interpreter Ansible derzeit konfiguriert hat.
Erstellen einer einfachen Inventory-Datei
Damit Ansible funktioniert, benötigen wir eine Inventory-Datei, die die Hosts auflistet, die wir verwalten möchten. Erstellen wir eine einfache Inventory-Datei:
- Erstellen Sie in der WebIDE eine neue Datei, indem Sie im Explorer-Panel auf das Symbol "Neue Datei" klicken.
- Nennen Sie die Datei
inventory.ini.
- Fügen Sie der Datei den folgenden Inhalt hinzu:
[local]
localhost ansible_connection=local
Diese Inventory-Datei definiert eine Gruppe namens local mit nur einem Host - localhost - und gibt an, dass wir uns direkt und nicht über SSH mit ihm verbinden möchten.
Überprüfen des Python-Interpreters auf dem Ziel
Überprüfen wir nun, welchen Python-Interpreter Ansible auf unserem Ziel-Host verwenden wird:
ansible -i inventory.ini local -m setup -a "filter=ansible_python*"
Dieser Befehl führt das Ansible Setup-Modul aus, das Fakten über den Host sammelt und nach Informationen im Zusammenhang mit Python filtert. Sie sollten eine Ausgabe sehen, die Details über den verwendeten Python-Interpreter enthält:
localhost | SUCCESS => {
"ansible_facts": {
"ansible_python": {
"executable": "/usr/bin/python3",
"has_sslcontext": true,
"type": "cpython",
"version": {
"major": 3,
"micro": 10,
"minor": 10,
"releaselevel": "final",
"serial": 0
},
"version_info": [
3,
10,
10,
"final",
0
]
},
"ansible_python_version": "3.10.10"
},
"changed": false
}
Dies bestätigt, dass Ansible Python 3 auf dem Ziel-Host verwendet. Standardmäßig versucht Ansible, den besten verfügbaren Python-Interpreter auf dem Zielsystem zu verwenden.