CentOS7 installe Ansible2.8.3

Annuaire d'articles

 

CentOS7 installe Ansible2.8.3

1. Introduction à Ansible

Ansible est un outil d'exploitation et de maintenance automatisé qui peut nous aider à gérer les hôtes par lots. Son utilisation peut considérablement accélérer l’efficacité de l’exploitation et de la maintenance. ansible est développé sur la base de Python, nous devons donc installer Python avant d'installer ansible.

2. Travaux de préparation

Sur la base de la machine modèle construite dans "CentOS7 Experimental Template Machine Construction" , un hôte CentOS7 a été cloné.

3. Déploiement et construction

1. Modifiez le nom d'hôte et le fichier hosts

HOSTNAME=ansible
hostnamectl set-hostname "$HOSTNAME"
echo "$HOSTNAME">/etc/hostname
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}') $HOSTNAME">>/etc/hosts

2. Installez Python3.7.4 et mettez à niveau pip

cd /tmp
wget https://mirrors.huaweicloud.com/python/3.7.4/Python-3.7.4.tgz
tar -xf Python-3.7.4.tgz
cd Python-3.7.4
yum -y install openssl-devel zlib-devel gcc libffi-devel
./configure --with-ssl --enable-shared \
LDFLAGS="-Wl,-rpath /usr/local/lib"
# 使用--with-ssl参数,很多网络安装源是https协议的
# 提前预装openssl-devel包,否则--with-ssl参数无法生效
# 提前预装libffi-devel,否则报错: No module named '_ctypes',具体请看文末补充说明
make && make altinstall
# 添加软链接
ln -s /usr/local/bin/pip3.7 /usr/local/bin/pip
mkdir -pv ~/.pip/
cat >~/.pip/pip.conf<<EOF
[global]
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
EOF
pip install --upgrade pip
  •  
  •  

3. Utilisez pip pour installer virtualenv

pip install virtualenv
# 使用虚拟环境

4. Créez un utilisateur de déploiement et configurez la source domestique pip

useradd deploy
echo deploy|passwd --stdin deploy
su - deploy
mkdir -pv ~/.pip/
cat >~/.pip/pip.conf<<EOF
[global]
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
EOF

5. Utilisez la commande virtualenv pour créer un environnement python3.7 dédié pour configurer et installer ansible2.8.3

virtualenv -p /usr/local/bin/python3.7 .py3.7.env
cd .py3.7.env
source ~/.py3.7.env/bin/activate
pip install paramiko PyYAML jinja2
wget https://mirrors.huaweicloud.com/ansible/ansible-2.8.3.tar.gz
tar -xf ansible-2.8.3.tar.gz
ln -s ansible-2.8.3 ansible
cd ansible
python setup.py build
python setup.py install
ansible --version

6. Configurez les variables d'environnement de l'utilisateur de déploiement

su - deploy
echo 'source ~/.py3.7.env/bin/activate'>>~/.bash_profile

4. Instructions supplémentaires

1. Raisons de l'erreur Aucun module nommé '_ctypes' :

Il existe un module intégré dans Python3 appelé ctypes, qui est un module de bibliothèque de fonctions externe de Python3. Il fournit des types de données compatibles avec le langage C et appelle la bibliothèque partagée sous le système Linux. Ce module doit être utilisé dans le système CentOS 7. Bibliothèque de liens de développement (fichier d'en-tête et bibliothèque de liens) de la bibliothèque de fonctions étrangères. La raison de l'erreur est donc la suivante : le package de bibliothèque de liens de développement de la bibliothèque de fonctions externe (nom du package : libffi) n'est pas installé sur le système CentOS 7.

2. Avantages de l'utilisation de l'environnement virtualenv :

Peut éviter les conflits avec la version Python2.x utilisée par yum

3. Une autre méthode d'installation d'ansible :

Vous pouvez cloner le projet ansible sur Github, puis extraire la version, compiler et installer. Étant donné que l’extraction du projet depuis Github est lente, cette méthode n’est pas recommandée.

Article reproduit de :

https://blog.csdn.net/sonoface/article/details/99474227

Je suppose que tu aimes

Origine blog.csdn.net/liuwkk/article/details/112172356
conseillé
Classement