Um die Serverkonfiguration mit Ansible zu verwalten, muss auf einem Computer eine Umgebung erstellt werden, die das Konfigurationsziel ssh kann. Es kann jedoch Fälle wie diesen geben
--Kann keine Verbindung zum Internet herstellen
In einem solchen Fall möchten Sie möglicherweise Ansible ohne Installation verwenden. Mit anderen Worten, ich möchte Folgendes tun.
|→ Produktumgebung
|★ Diese Umgebung kann nicht manipuliert werden. ..
┌─────────────┐ | ┌─────────────┐ ┌───────────────┐
|1 | | | 2 | | 3 |
| |──────| |──────| |
| | | | |ssh | |
└─────────────┘ | └─────────────┘ └───────────────┘
Lokale Maschine|Ansible Server Konfigurationszielserver
→ Ich möchte ansible nur durch Übertragen des Verzeichnisses auf den Ansible-Server verwenden!
damit, Nachdem Sie auf Ihrem lokalen Computer herumgespielt haben, gibt es zwei Möglichkeiten, Ansible durch Übertragen des Verzeichnisses ausführbar zu machen.
Viele von Ihnen wissen dies möglicherweise, wie es auch in der Dokumentation von Ansible erwähnt wird.
Zuerst "Git-Klon"
git clone https://github.com/ansible/ansible.git --recursive
So wird ein ansible Verzeichnis erstellt.
$ ls
ansible
Aktualisieren Sie das Submodul.
cd ansible
git submodule update --init lib/ansible/modules/core
git submodule update --init lib/ansible/modules/extras
cd .. #Kehren Sie zum ursprünglichen Verzeichnis zurück
Jetzt können Sie loslegen. Übertragen Sie das Ansible-Verzeichnis (und das Playbook) auf den Ansible-Server.
scp -r ansible [Ansible Server]:
cd ansible
source hacking/env-setup
Jetzt können Sie den Befehl ansible ausführen.
Es scheint nicht zu funktionieren, wenn die folgenden Bedingungen nicht erfüllt sind.
Der zweite Punkt scheint eine kleine Hürde zu sein. ..
Es ist eine etwas Brute-Force-Methode, eine Umgebung zu erstellen, indem das gesamte von PyEnv erstellte Verzeichnis übertragen wird.
Erstellen Sie zunächst ein Verzeichnis, um Ansible mit demselben Pfad wie die Ansible-Serverseite auszuführen.
Beispiel: Wenn der Benutzername des Ansible-Servers opuser ist und das Ansible-Ausführungsverzeichnis ansible
in / home / opuser
abgelegt ist
# useradd opuser
# su - opuser
$ echo $HOME # => /home/opuser
$ mkdir -p /home/opuser/ansible
Erstellen Sie eine Umgebung für Pyenv im Ansible-Verzeichnis.
cd /home/opuser/ansible
git clone https://github.com/yyuu/pyenv.git pyenv
touch ./pyenv.env
echo 'export PYENV_ROOT="/home/opuser/ansible/pyenv"' >> ./pyenv.env
echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ./pyenv.env
echo ' export PATH=${PYENV_ROOT}/bin:$PATH' >> ./pyenv.env
echo ' eval "$(pyenv init -)"' >> ./pyenv.env
echo 'fi' >> ./pyenv.env
source ./pyenv.env
cd $PYENV_ROOT/plugins
git clone https://github.com/yyuu/pyenv-virtualenv.git
Installieren Sie Python in der Pyenv-Umgebung. Dann installieren Sie Ansible. Wenn Sie andere Pakete installieren möchten, installieren Sie diese.
cd /home/opuser/ansible
pyenv install 2.7.12
pyenv local 2.7.12
pip install ansible
Übertragen Sie das Ansible-Verzeichnis.
scp -r /home/opuser/ansible opuser@[Ansible Server]:
Lesen Sie die Umgebungsvariablen von Pyenv.
cd ~/ansible
source pyenv.env
ansible --version #=>Ansible sollte verfügbar sein.
Die Betriebsbedingungen sind wie folgt
Angenommen, Sie möchten Ansible in einer Produktumgebung verwenden, in der Sie die Auswirkungen von Änderungen minimieren möchten. Ich habe vorgestellt, wie eine tragbare Ansible-Ausführungsumgebung erstellt wird.
Recommended Posts