Die Kosten der Komplexität: Ansible AWX
05 May 2024
Installieren von Ansible
Ansible wird als ein Python Modul verteilt, das über PIP installiert werden kann. Der Installationsprozess ist einfach, erfordert jedoch einige Überlegungen.
In der Regel ist der Automatisierungshost, das System, von dem aus alle Automatisierungsskripte stammen, eines der kritischsten Systeme innerhalb einer Infrastruktur. Es kann auf alle Systeme zugreifen, die automatisiert werden müssen, und enthält oft aus Bequemlichkeit die Anmeldeinformationen für diese Geräte. Obwohl Anmeldeinformationen in spezifischen Passwortmanagern gespeichert sind, finden sie sich häufiger in Klartext.
Aus Gründen der Einfachheit und Klarheit enthalten die einfachsten Playbooks Geräteanmeldeinformationen. Sie sind darauf ausgelegt, sich auf den Automatisierungsaspekt zu konzentrieren, anstatt auf die Sicherheit des Systems, über die in spezifischen Artikeln diskutiert wird.
Dennoch können wir mit einer bewährten Methode beginnen: die Erstellung einer dedizierten Python-Umgebung für Ansible und das Verfolgen der Versionen der installierten Pakete. Ansible wie viele andere Software, entwickelt sich ständig weiter, und Playbooks, die heute geschrieben werden, funktionieren möglicherweise nicht korrekt mit zukünftigen Versionen.
Die Version von Ansible, die wir verwenden werden, erfordert Python 3.9, das nicht über APT auf Ubuntu Linux 20 installierbar ist. Daher müssen wir es manuell aus den Quellen installieren:
cd /usr/src
wget https://www.python.org/ftp/python/3.9.16/Python-3.10.8.tgz
tar xzf Python-3.10.8.tgz
cd Python-3.10.8/
./configure --enable-optimizations
make -j 4
sudo make altinstall
Die aktualisierte Datei packages.txt
ist im DevNetOps course material verfügbar und kann verwendet werden, um die erforderlichen Abhängigkeiten für alle verfügbaren Labore zu installieren.
sudo apt-get install -y < packages.txt
Im Allgemeinen ist es besser, einen dedizierten Benutzer für die Verwendung von Ansible zu haben, um sicherzustellen, dass seine Umgebung konfiguriert und zuverlässig ist. Lassen Sie uns also einen neuen Benutzer erstellen:
sudo useradd -m -d /opt/ansible -s /bin/bash ansible
sudo su - ansible
Nun können wir die Python-Umgebung vorbereiten und Ansible installieren:
python3.10 -m venv .venv
source .venv/bin/activate
pip install ansible ansible-pylibssh
pip freeze | grep ansible
ansible --version
Die aktualisierte Datei requirement.txt
ist im DevNetOps course material verfügbar und kann verwendet werden, um die erforderlichen Abhängigkeiten für alle verfügbaren Labore zu installieren.
pip -r requirement.txt
Denken Sie daran, die neu erstellte Python-Umgebung vor dem Ausführen von Ansible zu aktivieren:
source .venv/bin/activate
Sie können die Umgebung mit folgendem Befehl deaktivieren:
deactivate
Da wir einen dedizierten Benutzer verwenden, können wir die virtuelle Umgebung direkt beim Anmelden laden, indem wir den folgenden Befehl zu .bashrc
hinzufügen:
source .venv/bin/activate