ansible学习笔记之——简介与部署

###简介
ansible是一种自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。

管理节点依赖的东西比较少,列表如下:
Python 2.6 或更高版本
Paramiko(Python的SSH模块)
PyYAML(Python的YAML解析器)
Jinja2(Python的模板引擎)

特点:
部署简单,agentless 无客户端工具;
主从模式 工作;
支持自定义模块 功能;
支持playbook 剧本,连续任务按先后设置顺序完成;
期望每个命令具有 幂等性:

ansible 架构
ansible core : ansible 自身核心模块
host inventory: 主机库,定义可管控的主机列表
connection plugins: 连接插件,一般默认基于 ssh 协议连接
modules:core modules ( 自带模块 ) 、 custom modules ( 自定义模块 )
playbooks :剧本,按照所设定编排的顺序执行完成安排任务
这里写图片描述

###部署
python升级

#yum -y install ntp make gcc gcc-c++
#wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
#./configure --prefix=/usr/local
#make && make install
#python -V
#mv /usr/bin/python /usr/bin/python2.6.6
#ln -s /usr/local/bin/python2.7 /usr/bin/python

指定 yum 的Python版本

#vim /usr/bin/yum
#!/usr/bin/python2.6.6

配置iBus 把exec python 改为 exec python2.6

#vim /usr/bin/ibus-setup
#vim /usr/libexec/ibus-ui-gtk

python相关依赖
pip安装

#wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
#python get-pip.py

#pip install setuptools
#pip install pycrypto
#pip install PyYAML
#pip install Jinja2
#pip install paramiko
#pip install simplejson

Ansible安装

wget https://releases.ansible.com/ansible/ansible-1.7.2.tar.gz
#tar xzvf ansible-1.7.2.tar.gz
#cd ansible-1.7.2
#python setup.py install

或者直接yum安装

#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
#yum install -y ansible
#ansible --version

秘钥生成和拷贝

#ssh-keygen -t rsa -P ‘’
#ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.182.129

#mkdir /etc/ansibles
#cp -rp examples/* /etc/ansible/

#vim hosts

#为某些静态IP设置一些别名
jumper ansible_ssh_port=22 ansible_ssh_host=192.168.182.130
[test]  #配置了一个test组
192.168.182.129
[test:vars]  #定义组内变量
insname=httpd
[mserver]  #定义ssh端口,秘钥有密码
192.168.182.131:2222 ansible_ssh_pass=***

#ansible test -a ‘uptime’
192.168.182.129 | success | rc=0 >>
23:44:49 up 29 min, 4 users, load average: 0.00, 0.00, 0.01

配置文件路径

ansible的配置文件名为ansible.cfg。环境变量ANSIBLE_CONFIG:首先,Ansible命令会检查该环境变量,及这个环境变量将指向的配置文件。若无环境变量,则会使用默认配置文件/etc/ansible/ansible.cfg

配置环境变量

#vim /etc/profile

export ANSIBLE_CONFIG=/home/vmuser/ansible/ansible.cfg
export PATH=$ANSIBLE_CONFIG/bin:$PATH

#source /etc/profile

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值