Ansible入门

本文深入探讨了运维自动化的发展历程,重点介绍了Ansible这款开源自动化运维工具的特点、架构及安装方式,涵盖其模块化、安全性、幂等性等优势,并提供了详细的安装指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 运维自动化

1.1 运维自动化发展历程

1.2 常用自动化运维工具

2. Ansible

2.1 Ansible特点

2.2 ansible架构

3. ansible安装

4. Ansible相关文件

4.1 配置文件

4.2 程序


1. 运维自动化

运维自动化就是将日常重复性的工作通过规则设定使其遵循预先既定规则,在指定的时间内自动化运行,整个过程无需人工参与。

1.1 运维自动化发展历程

  • 本地部署(On-Premises)
  • 基础设施即服务(IaaS,Infrastructure as a Service)
  • 平台即服务(Paas,Platform as a Service)
  • 软件即服务(SaaS,Software as a Service)

1.2 常用自动化运维工具

  • Ansible:python,中小型应用环境
  • Saltstack:python,一般需要部署agent,执行效率更高
  • Puppet:ruby,功能强大,配置复杂,重型,适合大型环境(如谷歌)
  • Farbic:python,agentless

2. Ansible

  • Ansible是一款为Unix系统开发的自由开源的配置和自动化工具。它由Python写成,类似于Saltstack和Puppet,但有一个不同和优点是不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。Ansible基于Python parmmiko开发,分布式,无客户端,轻量级,配置语法使用YAML和jinja2模块语言,更强的远程命令执行操作。

2.1 Ansible特点

  • 模块化:调用特定的模块,完成特定任务
  • 部署简单,基于Python和SSH,无代理
  • 安全,基于Openssh
  • 支持API及自定义模块,可通过python轻松扩展
  • 幂等性:一个任务的执行1遍和N遍效果一样,不会因重复执行带来意外情况
  • 通过playbook来定制强大的配置、状态管理

2.2 ansible架构

  • 核心(Ansible)
  • 核心模块(Core Modules):包括ansible自带的核心模块及自定义模块
  • 扩展模块(Custom Modules)
  • 插件(Plugins):完成模块功能的补充
  • 剧本(Playbooks):ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行
  • 连接插件(Connetcior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用SSH连接到各个主机的,但是它还支持其他的连接方法,就会需要有连接插件
  • 主机群(Host Inventory):定义ansible管理的主机

3. ansible安装

  • yum安装
[root@CentOS7 ~]# yum install ansible -y
  • apt-get安装
ycy@Ubuntu:~$ sudo add-apt-repository ppa:ansible/ansible -y
ycy@Ubuntu:~$ sudo apt-get update
ycy@Ubuntu:~$ sudo apt-get install ansible
  • Git安装
[root@CentOS7 ~]# git clone git://github.com/ansible/ansible.git --recursive
[root@CentOS7 ~]# cd ./ansible
[root@CentOS7 .ansible]# source ./hacking/env-setup
  • docker安装
[root@CentOS7 ~]# docker pull docker.io/ansible/centos7-ansible

查看ansible版本信息

4. Ansible相关文件

4.1 配置文件

/etc/ansible/ansible.cfg:主配置文件,配置ansible特性

/etc/ansible/hosts :主机清单

/etc/ansible/roles :存放角色的目录

4.2 程序

/usr/bin/ansible :主程序,临时命令执行工具
/usr/bin/ansible-doc :查看配置文档,模块功能查看工具
/usr/bin/ansible-galaxy:下载/上传优秀代码或Roles模块的官网平台
/usr/bin/ansible-playbook :定制自动化任务,编排剧本任务/usr/bin/ansible-pull远程执行命令的工具
/usr/bin/ansible-vault :文件加密工具
/usr/bin/ansible-console :基于console界面与用户交互的执行工具

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值