标签:编写 hat mct 初始 命令 版本 开启 集群 密码
1、Ansible简介
定义:Ansible是一个开源部署工具
Ansible与Chef,Saltstack的不同:
Chef Ruby语言编写,C/S架构,配置需要Git依赖,Recipe脚本编写规范,需要编程经验
Saltstack Python语言编写,C/S架构,模块化配置管理,YAML脚本编写规范,适合大规模集群部署
Ansible Python语言编写,无Client,模块化配置管理,Playbook脚本编写规范,易于上手,适合中小规模快速部署
2、Ansible配合virtualenv安装配置
1)关闭Linux防火墙:systemctl stop firewalld
2)禁止防火墙开启启动:systemctl disable firewalld
3)关闭selinux(强制访问控制安全策略):vi /etc/sysconfig/selinux 将selinux=enforcing 修改为 selinux=disabled
4)重启使其生效:reboot
5)查看selinux是否关闭成功:getenforce
6)下载python 3.6.5:wget http://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
注:如果提示"wget未找到命令" 需要安装wget:yum -y install wget
7)解压python安装包:tar xf Python-3.6.5.tar.xz
8)进入解压后的目录:cd Python-3.6.5
9)设定我们当前编译的参数的值:
输入命令 ./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" 点击回车进行编译工作
参数说明:--prefix=/usr/local 将python-3.6.5安装到/usr/local目录下
--with-ensurepip=install 用来安装我们pip包管理工具
--enable-shared 用来配置我们python-3.6.5匹配我们当前系统的参数值
注:如果报错"configure: error: no acceptable C compiler found in $PATH",
则需要安装GCC软件套件,输入命令:yum install gcc 安装,然后再执行上述命令,
完成编译初始化。
10)完成编译,并将编译好的文件安装到/usr/local目录下:make && make altinstall
注:如果出现下列错误:"zipimport.ZipImportError: can‘t decompress data; zlib not available make: *** [altinstall] 错误 1" 说明缺少zlib依赖包,输入"yum install zlib* -y" 完成后,重新执行上述命令。
11)使用python安装好的pip包管理工具
去安装我们的virtualenv,查看pip3.6的路径,输入 which pip3.6 命令。
12)给pip3.6做软链接:
输入命令 ln -s /usr/local/bin/pip3.6 /usr/local/bin/pip 点击回车,这样我们就可以通过命令行 pip install virtualenv 安装 virtualenv 工具
注:如果出现下列错误:"pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available." 说明是网络原因可以换一个国内的地址:输入如下命令行:
pip install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
13)创建一个Ansible系统账户,并在该系统下创建python3.6版本系统实例
创建一个以deploy命名的Ansible账户
useradd deploy
用deploy账户登录
su - deploy
创建一个实例
virtualenv -p /usr/local/bin/python3.6 .py3-a2.5-env
去在deploy用户下创建一个python3.6版本的virtualenv实例, 这个virtualenv实例用来集成ansible2.5版本,点击回车,就成功创建了python3.6版本的virtualenv实例。
注:如果报如下错误:ModuleNotFoundError:no module named ‘_ssl‘,解决方案如下:
1.返回到root用户输入命令: su - root 然后输入root账户密码。
2.首先进入Python-3.6.5目录,就是你解压后安装python3.6.5的目录文件。
3. cd 到 Modules 目录里,找到Setup和Setup.dist文件,将下面几行注释去掉。
Setup下更改
vim Setup (大概在51%的位置)
Setup.dist下的更改
vim Setup.dist (大概在50%的位置)
4.编译安装
cd ..
./configure --prefix=/usr/local --with-ensurepip=install --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
make
make install
5.删除旧的软连接,创建新的软连接(很重要)
rm -rf /usr/local/bin/pip
ln -s /usr/local/bin/pip3.6 /usr/local/bin/pip
14)接下来我们去git源码安装ansible2.5版本,首先进入刚才安装的virtualenv实例目录:
cd /home/deploy/.py3-a2.5-env
15)查看当前的环境是否安装了git client工具:
which git
注:如果没有安装,我们需要如下操作:
1、返回root目录: su - root 回车,输入密码 回车 进入root环境。
2、输入 yum -y install git nss curl 安装git客户端工具及相关依赖包。
3、切换回deploy界面 su - deploy
16)用git命令去github上克隆ansible源码到本地:
git clone https://github.com/ansible/ansible.git 回车 把ansible源码克隆岛本地
17)加载我们的python3.6 virtualenv 环境
source /home/deploy/.py3-a2.5-env/bin/activate 回车
18)接下来我们在virtualenv 环境 中安装ansible依赖包(paramiko PyYAML jinja2):
pip install paramiko PyYAML jinja2
19)将刚下载的ansible源代码移动到我们的python3.6虚拟环境下:
mv ansible .py3-a2.5-env/
18)接下来我们需要进入该python3.6的环境下,并进入ansible这个源代码目录:
cd .py3-a2.5-env/ansible/
21)我们需要在该代码原目录下,切换我们的ansible安装版本为2.5版本:
git checkout stable-2.5
22)用来在我们的子虚拟环境下加载ansible2.5版本
source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q
24)验证Ansible是否在python3.6的环境下安装加载完成
ansible --version
标签:编写 hat mct 初始 命令 版本 开启 集群 密码
原文地址:https://www.cnblogs.com/lijinping321/p/14746260.html