博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自动化运维系列之Ansible的简介与安装
阅读量:7064 次
发布时间:2019-06-28

本文共 1523 字,大约阅读时间需要 5 分钟。

自动化运维系列之Ansible的简介与安装

自动化运维工具简介

由于互联网的快速发展导致产品更新换代的速度逐渐加快,这就导致运维人员的日常工作会大大增加,如果还是按照传统方式进行维护工作会使工作效率低下。此时,就需要部署自动化运维了,自动化运维会尽可能安全、高效的完成运维人员的日常工作。

自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的Agent程序来完成管理功能,如:Puppet、Func、Zabbix等;另一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如:Ansible、Fabric等。

Ansible简介

Ansible是基于Python开发的,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能。默认通过ssh协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单。可同时支持多平台主机并行管理,使得管理主机更加便捷。

自动化运维系列之Ansible的简介与安装

以上就是Ansible基本构架组成,主要分为六个部分:

Ansible core 核心引擎

Host inventory 主机清单:用来定义Ansible所管理的主机,默认是在Ansible的hosts配置文件中定义被管理主机,同时也支持自定义动态主机清单和指定其他配置文件的位置。

Connection plugins 连接插件:负责和被管理主机实现通信。除支持使用SSH连接被管理主机外,Ansible还支持其他的连接方式,所以需要有连接插件将各个主机用连接插件连接到Ansible。

Playbooks(yam1,jinja2) 剧本 : 用来集中定义Ansible任务的配置文件,即将多个任务定义在一个剧本中由Ansible自动执行,可以由控制主机针对多台被管理主机同时运行多个任务。

Core modules 核心模块:是Ansible自带的模块,使用这些模块将资源分发到被管理主机,使其执行特定任务或匹配特定的状态。

Custom modules 自定义模块:用于完成模块功能的补充,可借助相关插件完成记录日志、发送邮件等功能。

Ansible自动化运维工具的部署安装

  • 实验环境
角色 主机名 IP地址 组名
控制主机 CentOS7-1 172.16.10.138
被管理主机 CentOS7-2 172.16.10.147 webserver
被管理主机 CentOS7-3 172.16.10.133 mysql
  • 安装配置yum源

yum -y install epel-release

  • 安装Ansible工具及tree树形图显示工具

yum -y install ansible tree

  • 安装好ansible之后,可以查看ansible的版本信息

ansible --version

自动化运维系列之Ansible的简介与安装

  • 以树形图的方式显示ansible的相关文件

tree /etc/ansible

自动化运维系列之Ansible的简介与安装

  • 修改ansible的主机清单,将两台被管理主机的IP及组名添加

vim /etc/ansible/hosts

[webserver]172.16.10.147    #将第一台被管理主机添加至webserver组[mysql]172.16.10.133   #将第二台被管理主机添加至mysql组
  • 生成密钥对,使控制主机发送部署时免交互
ssh-keygen -t rsassh-copy-id root@172.16.10.147ssh-copy-id root@172.16.10.133ssh-agent baskssh-add

转载于:https://blog.51cto.com/13659301/2158115

你可能感兴趣的文章
UML的学习
查看>>
ContentProvider简单介绍
查看>>
SQL SERVER获取数据库中所有表名 XTYPE类型
查看>>
java设计模式3--单例模式(Singleton)
查看>>
C#开发微信门户及应用(27)-公众号模板消息管理
查看>>
Java日志最佳实践
查看>>
【Active入门】ActiveMQ学习-1
查看>>
Hibernate查询语言
查看>>
能在CAD2004以下版本里面打开2007以上版本文件的外挂
查看>>
linux定时调度器每秒运行一次
查看>>
Android之TextureView浅析
查看>>
activiti学习资料(架构描述)
查看>>
概率图常见模型
查看>>
Android JNI编程(二)——C语言的基本数据类型,输出函数,输入函数
查看>>
使用SwingBench 对Oracle RAC DB性能 压力测试
查看>>
前端学Markdown
查看>>
easyui datagrid 行右键生成 动态获取(toolbar) 按钮
查看>>
Hibernate实体关系映射(OneToMany、ManyToOne双边)——完整实例
查看>>
get方式和set方式提交时乱码
查看>>
正则表达式
查看>>