最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 服务器 > 系统运维 >
如何安装Ansible?新手使用要注意什么?
linuxe发表于 2020-10-17 14:47 次浏览
简介
 
ansible是新出现的自动化运维工具,基于python开发,集合了众多运维工具的有点,实现了批量系统部署、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括
(1)、链接插件connection plugins:负责和被监控端实现通信
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机
(3)、各种模块核心模块、command模块、自定义模块
(4)、借助于插件完成记录日志邮件等功能
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务

安装Ansible

方法1(推荐):配置EPEL YUM源后直接安装

1 yum install ansible -y #yum安装最新版
2 ansible --version  #安装后查看版本以及模块路径等信息

 

方法2:通过python pip工具安装,不过需要先编译安装好python3,并且Ansible的命令也都会放在Python的目录中,需要做软连接 

1 /usr/local/python3/bin/pip3 install ansible==2.7  #使用pip安装指定版本Ansible
2 ln -s /usr/local/python3/bin/ansible /usr/local/bin

 

Ansible的配置文件

1、/etc/ansible/hosts:主机列表清单,也叫Inventory。所有被管理的主机都需要定义在该文件中。如果不想使用默认清单的话可以用-i选项指定自定义的清单文件,防止多人混合使用一个主机清单。如果没有定义在主机列表文件中,执行命令会提示“No hosts matched”

2、/etc/ansible/ansible.cfg:Ansible服务主配置文件,比如并发数控制等在此文件定义

 

Inventory定义方法

方法1:将主机IP、端口、用户名、密码写在配置文件的不同组中,多种写法格式如下

01 vim /etc/ansible/hosts
02 [webserver]  #组名为webserver
03 192.168.1.31 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
04 192.168.1.32 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
05 192.168.1.33 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
06 192.168.1.36 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"
07  
08 [dbserver]  #组名为dbserver
09 192.168.1.4[1:3] ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass="123456"  #连续IP的简写
10  
11 [redis]
12 192.168.1.5[1:3]
13 [redisserver:vars]  #将信息定义为变量
14 ansible_ssh_pass="123456"
15  
16 [nginx] #推荐写法
17 nginx_1 ansible_ssh_host=192.168.1.61 ansible_ssh_port=22ansible_ssh_user=root ansible_ssh_pass="123456"
18 nginx_2 ansible_ssh_host=192.168.1.62 ansible_ssh_port=22ansible_ssh_user=root ansible_ssh_pass="123456"

方法二:基于秘钥管理

基于秘钥管理客户端的话需要在管理端创建公钥和私钥,然后发送给被管理端的机器

01 #管理端创建秘钥并发送到每个被管理端
02 ssh-keygen
03 ssh-copy-id -i $被管理端IP
04  
05 #管理端清单文件
06 vim /etc/ansible/hosts
07 [webserver]  #做好秘钥的机器只用写IP即可
08 192.168.1.31:22
09 192.168.1.32
10 192.168.1.33
11 192.168.1.36
12  
13 [dbserver]  #也可以通过别名方式进行配置
14 node1 ansible_ssh_host=192.168.1.31 ansible_ssh_port=22
15 node2 ansible_ssh_host=192.168.1.32 ansible_ssh_port=22
16 node3 ansible_ssh_host=192.168.1.33 ansible_ssh_port=22

 

方法三:自定义Inventory清单文件

1 #创建清单文件
2 vim /etc/ansible/dockers
3 [dockers]
4 192.168.1.31 ansible_ssh_pass='123456'
5 192.168.1.32
6 192.168.1.33
7 #使用-i指定清单文件
8 ansible dockers -m ping -i /etc/dockers

 

 

Inventory内置参数


标签:Ansible安装
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐