Ansible——自动化运维Ansible的部署以及常用模块的使用

一.Ansible的概念

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

当下有许多的运维自动化工具(配置管理 ),例如:Chef、Ansible、SaltStack、Puppet、Fabric 等。

Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立。

Ansible 基于 Python 语言实现,由 Paramiko 和 PyYAML 两个关键模块构建。

Ansible 特点:

部署简单,只需在主控端部署 Ansible 环境,被控端无需做任何操作。
默认使用 SSH(Secure Shell)协议对设备进行管理。
主从集中化管理。
配置简单、功能强大、扩展性强。
支持 API 及自定义模块,可通过 Python 轻松扩展。
通过 Playbooks 来定制强大的配置、状态管理。
对云计算平台、大数据都有很好的支持。
提供一个功能强大、操作性强的 Web 管理界面和 REST API 接口 —- AWX 平台。

Ansible 与 SaltStack的区别:

  • 最大的区别是 Ansible 无需在被监控主机部署任何客户端代理,默认通过 SSH 通道进行远程命令执行或下发配置。

  • 相同点是都具备功能强大、灵活的系统管理、状态配置,都使用 YAML 格式来描述配置,两者都提供丰富的模板及
    API,对云计算平台、大数据都有很好的支持。

二.Ansible的配置

实验环境:

主机 服务
server1 ansible的服务端
server2 ansible的客户端
server3 ansible的客户端

补充知识:

ansible的命令参数
-m:要执行的模块,默认为command
-a:指定模块的参数
-u:ssh连接的用户名,默认用root,ansible.cfg中可以配置
-b,--become:变成那个用户身份,不提示密码
-k:提示输入ssh登录密码,当使用密码验证的时候用
-s:sudo运行
-U:sudo到哪个用户,默认为root
-K:提示输入sudo密码,当不是NOPASSWD模式时使用
-C:只是测试一下会改变什么内容,不会真正去执行
-c:连接类型(default=smart)
-f:fork多少进程并发处理,默认为5个
-i:指定hosts文件路径,默认default=/etc/ansible/hosts
-I:指定pattern,对已匹配的主机中再过滤一次
-list-host:只打印有哪些主机会执行这个命令,不会实际执行
-M:要执行的模块路径,默认为/usr/share/ansible
-o:压缩输出,摘要输出
--private-key:私钥路径
-T:ssh连接超时时间,默认是10秒
-t:日志输出到该目录,日志文件名以主机命名
-v:显示详细日志
 ansible server1 -m setup       #产看指定主机server1上的facts变量信息 
 ansible * -msetup       #查看指定的所有主机上的facts变量信息
ansible-doc -l        #列出有哪些可用的模块,按q退出
ansible-doc -l | wc -l #      列出有多少个可用的模块
ansible-doc -l | grep user #    列出与user有关的模块
ansible-doc -user             #查看user模块的帮助文档,按q退出。也可以在最后一行输入/passwd,来过滤与passwd有关的内容

在这里插入图片描述

在这里插入图片描述

前提:

为了实验环境纯净,我们创建几个新的虚拟机(我是将原本的虚拟机覆盖):

在这里插入图片描述

实验过程如下所示:

第一步:部署ansible的服务端

server1

下载ansible的相关rpm包及其依赖包,并进行安装

[root@server1 ansible]# 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动化运维系统是一种通过自动化技术来管理和维护IT基础设施的系统。基于ansible自动化运维系统设计与实现主要包括以下几个方面。 首先,需要进行系统架构设计。在设计阶段,需要考虑到使用ansible作为核心工具,搭建一个分布式的自动化运维系统。可以考虑采用主控节点和多个受控节点的架构,主控节点负责管理和调度各个受控节点执行任务。 其次,需要进行ansible环境的搭建和配置。为了保证系统的可靠性和高效性,需要在系统中搭建ansible的工作环境,并对ansible进行相关配置,以满足系统的自动化运维需求。 接着,需要设计系统的任务调度和执行机制。自动化运维系统通常需要定时执行一些常规任务,比如系统巡检、日志清理等。通过ansible的任务调度功能,可以对这些任务进行定时执行和监控。 最后,需要设计系统的监控与报警机制。在自动化运维系统运行过程中,需要对系统运行状态进行实时监控,并及时发现和处理异常情况。通过ansible的监控与报警机制,可以对系统进行全面监控,并在出现问题时及时进行报警和处理。 综上所述,基于ansible自动化运维系统设计与实现需要考虑到系统架构、ansible环境的搭建和配置、任务调度和执行机制以及监控与报警机制等方面,以构建一个高效可靠的自动化运维系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值