标签:批量操作 编程 PyYAML 使用 选择 扩展 部署 python语言 linu
大型架构及配置技术
一.环境准备 (六台机器)
1.ansible 简介
ansible是2013年推出的一款IT自动化和DevOps软件,基于python开发,糅合了很多老运维工具的特点,可以实现批量操作系统配置,批量程序部署,批量运行命令等功能
2.ansible可以实现:
自动化部署app
自动化管理配置项
自动化持续交付
自动化(AWS)云服务管理
3.为什么选择ansible
活跃度(社区) ----看用的人多不多
学习成本---简单易学
使用成本----节约大量时间和经历
编码语言------内置Python
性能
使用是否广泛
ansible优点
只需要SSH和Python即可使用
无客户端
ansible功能强大,模块丰富
上手容易,门槛低
基于Python 开发,做二次开发更容易
使用公司较多,社区活跃
ansible 特性
模块化设计,调用特定的模块完成特定任务
基于Python语言实现
PyYAML(半结构化语言)
Jinja2
其模块支持JSON(基于文本的轻量级数据交换格式)等标准输出格式,可以采用任何编程语言重写
软件依赖关系
1.对管理主机
要求python2.6 python2.74
ansible 使用以下模块,都需要安装
paramiko PyYAML JInja2 httplib2 six
2.对于被托管主机
ansible默认通过ssh协议管理机器
被管理主机要开启ssh服务,允许ansible主机登录
在托管节点上也需要安装python2.5或以上版本
如果托管节点上开启了SELINUX,需要安装libselinux-python
4.安装ansible
真机上 mkdier /var/ftp/ansible
cd /linux-soft/04/ansible
cp * /var/ftp/ansible
createrepo /var/ftp/ansible #生成repodata的目录
ansible虚拟机:
vim /etc/yum.repo.d/local.repo
[local]
name=local
baseurl="ftp://192.168.1.254/ansible"
enabled=1
gpgcheck=0
]#yum -y install ansible
]#ansible --version
主机定义与分组
1.首先检测环境变量ANSIBE_CONFIG变量定义的配置文件
其次检查当前目录下 ~/ansible.cfg 文件
再次检查当前 目录
1.改ansible配置文件
vim /etc/ansible/ansible.cnf
14 host_key_checking = False
61 host_key_checking = False
97 host_key_checking = False
2.修改主机集合配置文件
vim /etc/ansible/hosts
在最下面添加
[web]
web1
web2
[db]
db1
db2
[other]
cache
如果主机较多的话
db-[001:100] 批量添加
显示添加的主机
ansible web --list-hosts
hosts (2):
web1
web2
ansible all --list-hosts
列出所有主机
批量部署认证文件
ssh-keygen -t rsa -b 2048 -N ‘‘ -f key
ssh-copy-id -i key.pub web1 #依次传给所有机器
ssh -i key web1 #依次尝试登录,无需密码
inventory 扩展参数
rm -rf /root/.ansible/cp/* 清除缓存
ansible all ping -m #列出ping通的主机
[all:vars] #变量定义
ansible_ssh_private_key_file="/root/.ssh/key"
[app:children] # 给子组定义
web
db
[all:vars]
ansible_ssh_private_key_file="/root/.ssh/key"
单独定义 (如果改了web1的ssh端口为222)
ansible all -m ping 只有web1 不通
[web]
web1 ansible_ssh_port=222 #单独定义
web2
配置文件加载顺序
ansibl 可以自定义配置文件
mkdir myansbile 文件夹
创建配置文件 ansible.cfg #必须在文件夹里执行
标签:批量操作 编程 PyYAML 使用 选择 扩展 部署 python语言 linu
原文地址:https://www.cnblogs.com/jeffzhao/p/11660763.html