Pour gérer la configuration du serveur avec Ansible, il est nécessaire de créer un environnement sur une machine qui peut ssh la cible de configuration. Cependant, il peut y avoir des cas comme celui-ci
Dans un tel cas, vous souhaiterez peut-être utiliser Ansible sans installation. En d'autres termes, je veux faire ce qui suit.
|→ Environnement produit
|★ Cet environnement ne peut pas être altéré. ..
┌─────────────┐ | ┌─────────────┐ ┌───────────────┐
|1 | | | 2 | | 3 |
| |──────| |──────| |
| | | | |ssh | |
└─────────────┘ | └─────────────┘ └───────────────┘
Machine locale|Serveur cible de configuration du serveur Ansible
→ Je souhaite utiliser ansible simplement en transférant le répertoire sur le serveur Ansible!
alors, Après avoir déconné sur votre machine locale, voici deux façons de rendre Ansible exécutable simplement en transférant le répertoire.
Beaucoup d'entre vous le savent peut-être car il est également mentionné dans la documentation d'Ansible.
Tout d'abord, git clone
git clone https://github.com/ansible/ansible.git --recursive
Un répertoire ansible est créé comme ceci.
$ ls
ansible
Mettez à jour le sous-module.
cd ansible
git submodule update --init lib/ansible/modules/core
git submodule update --init lib/ansible/modules/extras
cd .. #Revenir au répertoire d'origine
Maintenant, vous êtes prêt à partir. ʻTransférez le répertoire ansible` (et le playbook) vers le serveur Ansible.
scp -r ansible [Serveur Ansible]:
cd ansible
source hacking/env-setup
Vous pouvez maintenant exécuter la commande ansible.
Cela ne semble fonctionner que si les conditions suivantes sont remplies.
--Python2.6 ou Python2.7 est déjà installé --pip paramiko PyYAML Jinja2 httplib2 six a été installé
Le deuxième point semble être un obstacle un peu élevé. ..
C'est une méthode quelque peu brutale pour créer un environnement en transférant tout le répertoire créé par PyEnv.
Tout d'abord, créez un répertoire pour exécuter Ansible avec le même chemin que le côté serveur Ansible.
Exemple: Si le nom d'utilisateur du serveur Ansible est opuser et que le répertoire d'exécution Ansible ʻansible est placé dans
/ home / opuser`
# useradd opuser
# su - opuser
$ echo $HOME # => /home/opuser
$ mkdir -p /home/opuser/ansible
Créez un environnement pour Pyenv dans le répertoire Ansible.
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
Installez Python dans l'environnement Pyenv. Ensuite, installez Ansible. Si vous souhaitez installer d'autres packages, installez-les.
cd /home/opuser/ansible
pyenv install 2.7.12
pyenv local 2.7.12
pip install ansible
Transférez le répertoire ansible.
scp -r /home/opuser/ansible opuser@[Serveur Ansible]:
Lisez les variables d'environnement de Pyenv.
cd ~/ansible
source pyenv.env
ansible --version #=>Ansible devrait être disponible.
Les conditions de fonctionnement sont les suivantes
En supposant que vous souhaitiez utiliser Ansible dans un environnement de produit où vous souhaitez minimiser l'impact des modifications, J'ai présenté comment créer un environnement d'exécution Ansible portable.
Recommended Posts