20170731自动化部署ansiable(一)

自动化部署ansiable工具与相关模块的安装

转载来源:http://sofar.blog.51cto.com/353572/1579894              http://www.linuxidc.com/Linux/2015-02/112774.htm

一使用ansiable安装的模块包步骤

1、安装Python

https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz

# tar xvzf Python-2.7.8.tgz
# cd Python-2.7.8
# ./configure --prefix=/usr/local
# make 
# make install

## 将python头文件拷贝到标准目录,以避免编译ansible时,找不到所需的头文件
# cd /usr/local/include/python2.7
# cp -a ./* /usr/local/include/

## 备份旧版本的python,命名为python2.6,并符号链接新版本的python
# cd /usr/bin
# mv python python.2.6
# ln -s /usr/local/bin/python2.7 /usr/local/bin/python
# rm -f /usr/bin/python && cp /usr/local/bin/python2.7 /usr/bin/python


######这里我并没有修改,但是也能正常运行,不影响后面的操作
## 修改yum脚本,使其指向旧版本的python,已避免其无法运行
# vim /usr/bin/yum
#!/usr/bin/python  -->  #!/usr/bin/python2.6

2、setuptools模块安装
https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz
# tar xvzf setuptools-7.0.tar.gz
# cd setuptools-7.0
# python setup.py install
安装好setuptools后就可以利用easy_install这个工具安装下面的python模块了,但我的电脑是虚拟机,配置太低了,所以基本无法安装,所以只好一个一个下载下来再安装了。

3、pycrypto模块安装
https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
# tar xvzf pycrypto-2.6.1.tar.gz
# cd pycrypto-2.6.1
# python setup.py install

4、PyYAML模块安装
http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
# tar xvzf yaml-0.1.5.tar.gz
# cd yaml-0.1.5
# ./configure --prefix=/usr/local
# make
# make install

https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz
# tar xvzf PyYAML-3.11.tar.gz
# cd PyYAML-3.11
# python setup.py install

5、Jinja2模块安装
https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz
# tar xvzf MarkupSafe-0.9.3.tar.gz
# cd MarkupSafe-0.9.3
# python setup.py install

https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz
# tar xvzf Jinja2-2.7.3.tar.gz
# cd Jinja2-2.7.3
# python setup.py install

6、paramiko模块安装
https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz
# tar xvzf ecdsa-0.11.tar.gz
# cd ecdsa-0.11
# python setup.py install

https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz
# tar xvzf paramiko-1.15.1.tar.gz
# cd paramiko-1.15.1
# python setup.py install

7、simplejson模块安装
https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz
# tar xvzf simplejson-3.6.5.tar.gz
# cd simplejson-3.6.5
# python setup.py install

8、ansible安装
https://github.com/ansible/ansible/archive/v1.7.2.tar.gz
# tar xvzf ansible-1.7.2.tar.gz
# cd ansible-1.7.2
# python setup.py install

9、SSH免密钥登录设置
## 生成公钥/私钥
# ssh-keygen -t rsa -P ''     这里会提醒输入,默认回车就可以了
## 写入信任文件(将/root/.ssh/id_rsa.pub分发到其他服务器,并在所有服务器上执行如下指令):
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
# chmod 600 /root/.ssh/authorized_keys


免密登录的另外一个方法,亲测可用:

$ # 生成ssh key
$ ssh-keygen
$ # 拷贝ssh key到远程主机,ssh的时候就不需要输入密码了
$ ssh-copy-id remoteuser@remoteserver            #这里的remoteuser和remoteserver都是远程主机的用户名和IP,root@10.10.3.104,第一希会提示输入密码
$ # ssh的时候不会提示是否保存key
$ ssh-keyscan remote_servers >> ~/.ssh/known_hosts                   #remote_servers 是远程主机的ip     


10、拷贝,生成ansible配置文件
a 配置文件/etc/ansible/ansible.cfg
# mkdir -p /etc/ansible
#cp   ansible-1.7.2/examples/ansible.cfg   /etc/ansible/
b 配置文件/etc/ansible/hosts
# vim   /etc/ansible/hosts
[test]
10.10.3.104   #这里放置的是可以ssh同的ip

192.168.60.127   


测试1:跳转到远程主机进行操作

ping 10.10.3.104   #可以通

ssh user@hostname   例如root@10.10.3.104


测试
# ansible test -m command -a 'uptime'
## 用来测试远程主机的运行状态
# ansible test -m ping
参看所有的参数
ansible-doc -l

注意:安装ansiable的报错

2.1、安装时候报错解决

安装ansible的时候提示不能安装,原因在于Ansible是属于第三方源 (EPEL)库的一部分,因此要先安装EPEL

yum install epel-release

yum repolist

yum install ansible


最后显示complete!则安装成功。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值