大型架构配置之————ansible简介及安装部署

什么是ansible?

Ansible是一款IT自动化和DevOps软件,是基于Python研发,实现了批量操作系统配置,批量程序部署,批量运行命令等功能

Ansible可以实现:

自动化部署APP

  • 自动化管理配置项
  • 自动化持续交付
  • 自动化云服务管理

ansible的优点

  • 自需ssh和Python即可使用
  • 无客户端
  • 功能强大,模块丰富
  • 可基于python开发,做二次开发
  • 上手容易,易掌握

ansible的特性

  • 部署简单
  • 支持自定义模块
  • 支持playbook
  • 支持多层部署
    … …
    … …

Ansible工作流程

读取配置->
抓取全量机器(主机集合)->
使用host-pattern过滤机器列表->
根据参数确定执行模块和配置(命令集合)->
runner执行返回->
输出结果

ansible的关键点在于:
1.主机的集合
2.命令的集合
3.每台机器需要做相同的操作,执行相同的命令(批量执行)

ansible软件部署

  • 需要对管理主机默认通过ssh协议,允许免密登录
  • 卸载托管主机上的SElinux,或是安装libselinux-python
  • 托管主机需要安装python2.5或以上版本
  • 需要安装依赖包如下:
    paramiko
    pyyaml
    jinjia2
    httplib2
    six

安装ansible软件包:

yum install ansible
ansible --version     //查看版本

ansible的配置文件默认是在/etc/ansible/ansible.cfg,但ansible的配置文件也可以自行创建,只要是ansible.cfg文件,ansible默认按如下顺序进行查找:

  • ansible_config 变量定义的配置文件
  • 当前目录下的./ansible.cfg文件
  • 当前用户家目录下的./ansible.cfg文件
  • /etc/ansible/ansible.cfg文件

主机的定义与分组

.cfg配置文件改动如下:

 vim /etc/ansible/ansible.cfg
		14行 去掉注释    inventory 定义托管主机地址配置文件路径名
inventory指定的配置文件,写入远程主机的地址	Inventory可以直接指定脚本(使用python语言)
		61行 host_key_checking = False

/etc/ansible/hosts文件中:

vim /etc/ansible/hosts
[web]
web1
web2

[db]
db1
db2

[other]
Cache ansible_ssh_port=222
[all:vars]
ansible_ssh_private_key_file="/root/.ssh/key"  //使用文件名为key的秘钥连接时不需要密码

ansible_ssh_port  //通过此变量设置端口号
ansible_ssh_user  //设置默认试试用户名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值