ansible介绍.doc

上传人:苏美尔 文档编号:8938280 上传时间:2021-01-26 格式:DOC 页数:7 大小:88KB
返回 下载 相关 举报
ansible介绍.doc_第1页
第1页 / 共7页
ansible介绍.doc_第2页
第2页 / 共7页
ansible介绍.doc_第3页
第3页 / 共7页
ansible介绍.doc_第4页
第4页 / 共7页
ansible介绍.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《ansible介绍.doc》由会员分享,可在线阅读,更多相关《ansible介绍.doc(7页珍藏版)》请在三一文库上搜索。

1、CentOS 7中安装并使用自动化运维工具Ansible一、简介Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具,它用Python写成,糅合了批量操作系统配置、批量程序的部署、批量运行命令等功能。但是有一个不同的优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。二、Ansible特性基于Python语言实现,由Paramiko, PyYAML和Jinjia2三个关键模块;ansible是工作在agentless模式下具有幂等性。ansible在控制端只需要告诉监控端的期望状态就可以实现批量部署。默认使用SSH协议; (1) 基于密钥认证; (2) 在in

2、ventory文件中指定账号和密码;基于“模块”完成各种“任务”支持自定义模块:支持各种编程语言可以使用YAML语言定制playbook三、框架介绍四、Ansible核心组件说明:ansible是基于模块工作的ansible本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块ansible只是提供一种框架。架构包括 连接插件connection plugins负责和被监控端实现通信。 Host Inventory:指定操作的主机,是一个配置文件里面定义监控的主机 各种模块核心模块command模块自定义模块 借助于插件完成记录日志邮件等功能 PlayBooks:剧本执行多个任

3、务时。并非必需可以让节点一次性运行多个任务五、环境拓扑图node210.21.17.101node1(Ansible)10.21.17.112node310.21.17.85六、安装ansible第一步:设置EPEL仓库Ansible仓库默认不在yum仓库中,因此我们需要使用下面的命令启用epel仓库。rootlocalhost# rpm -iUvh http:/dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm第二步:使用yum安装Ansiblerootlocalhost #yum install ansi

4、ble安装完成后,检查ansible版本rootlocalhost # ansible -version第三步:设置用于节点鉴权的SSH密钥rootlocalhost # ssh-keygen使用ssh-copy-id命令来复制Ansible公钥到节点中。ssh-copy-id i root10.21.17.101ssh-copy-id i root10.21.17.85第四步:为Ansible定义节点的清单文件 /etc/ansible/hosts 维护着Ansible中服务器的清单。rootlocalhost #vi/etc/ansible/hoststest-servers10.21.1

5、7.8510.21.17.101保存并退出文件。备注:如果没有设置基于ssh的密钥认证,可以在hosts文件中直接指定帐号和密码,方法如下所示:test-servers 10.21.17.101ansible_ssh_user=rootansible_ssh_pass=password 第五步:尝试在Ansible服务端运行命令使用ping检查test-servers或者ansible节点的连通性。rootlocalhost # ansible -m ping test-serversrootlocalhost # ansible -m ping 10.21.17.85七、ansible示例1

6、、command模块命令模块,命令模块,默认模块,用于在远程主机执行命令缺点:运行的命令中无法使用变量,管道。例子1,检查Ansible节点的日期rootansible # ansible -m command -a date test-servers例子2:检查Ansible节点的运行时间(uptime)rootansible # ansible -m command -a uptime test-servers例子3:检查节点的内核版本rootansible # ansible test-servers -m command -a uname -r 例子4:给节点增加用户rootansib

7、le # ansible 10.21.17.101 -m command -a useradd user1 例子4:给节点删除用户rootansible # ansible 10.21.17.101 -m command -a userdel user12、Shell 模块执行的命令中有管道或者变量,就需要使用shell。例子1:给节点增加用户后,修改密码 rootlocalhost # ansible 10.21.17.101 -m shell -a echo user1|passwd -stdin user13、yum ,service模块安装软件和启动服务。例子1:给节点安装tomcat应用rootlocalhost # ansible 10.21.17.101 m yum a name=tomcat state=present例子2,启动tomcatrootlocalhost # ansible 10.21.17.101 m service a name=tomcat state=started enabled=yes4、raw模块支持管道的模块,类似shell模块。例子1:检查eth0网口rootlocalhost # ansible 10.21.17.101 m raw a ifconfig|grep eth0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1