自动化运维与python项目实战:Ansible自动化任务

本文介绍了自动化执行任务的意义,强调了提升效率和减少错误的重要性。详细讲解了Ansible的安装、特点,以及ad-hoc模式和Playbook模式的使用,是运维工程师学习自动化运维的实用教程。
摘要由CSDN通过智能技术生成

目录

自动化任务执行的意义

1.什么是自动化执行任务?

2. 自动化执行的意义

3. 自动化任务执行的应用

Ansible安装与基础

1. 什么是Ansible?

2. Ansible的特点

3. Ansible的安装

4. Ansible的配置文件

4.1 Ansible配置文件位置的设置

4.2 Ansible配置文件

4.3  Ansible主机清单配置详解

Ansible ad-hoc模式

1. 什么是ad-hoc模式?

2. ad-hoc模式使用场景

3. ad-hoc模式的命令使用

4.ad-hoc模式的常用模块

Ansible Playbook模式

1.什么是Playbook及其组成

2.Playbook的配置语法

3.playbook的第一个应用案例


自动化任务执行的意义

1.什么是自动化执行任务?

假设我们要在10台Linux服务器上安装一个Nginx服务, 手动是如何操作的?

  • 第一步: ssh登录Linux(1,2,3...10)服务器
  • 第二步: 输入对应服务器密码
  • 第三步: 执行命令yum install nginx
  • 第四步: 执行命令systemctl start nginx
  • 第五步: 退出登录
  • 循环执行前面的操作,直到10台服务器的Nginx服务部署完成。

解决方案:

登录哪些服务器;执行哪些命令;自动化程序

 

2. 自动化执行的意义

提升运维工作效率, 减少一份工作成本
提高准确度, 手工部署易出错

 

3. 自动化任务执行的应用

 

  • 应用一: 批量命令执行
  • 应用二: 定时任务
  • 应用三: 批量程序应用服务安装
  • 应用四: 批量配置文件同步
  • 应用五: 批量代码部署

 

Ansible安装与基础

1. 什么是Ansible?

Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、 fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

  • Ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量 部署的是Ansible所运行的模块,Ansible只是提供一种框架。Ansible不需要在远程主机上安装 client/agents,因为它们是基于ssh来和远 程主机通讯的。
  • Ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易, 学习简单。是每位运维工程师必须掌握的技能之一。

 

2. Ansible的特点

  • Ansible是Python语言实现的一套完整的自动化任务执行模块。
  • Ansible的play book模式, 采用yaml配置,对于自动化任务执行一目了然
  • 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作
  • 默认使用SSH协议对设备进行管理
  • Ansible自动化场景支持丰富(大量常规运维操作模块),实现日常绝大部分操作
  • 配置简单、功能强大、扩展性强
  • 支持API及自定义模块,可通过Python轻松扩展
  • 通过Playbooks来定制强大的配置、状态管理
  • 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可
  • 提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台

 

3. Ansible的安装

  • 方法一: 通过系统的方式: yum和apt-get等
  • 方法二: 通过python的方式安装
#通过Python安装
pip3 install ansible -i https://pypi.douban.com/simple
 
#安装完成后检验版本
ansible --version

 

4. Ansible的配置文件

需要创建的配置文件有:

mkdir /etc/ansible
cd /etc/ansible
touch ansible.cfg
touch hosts

 

4.1 Ansible配置文件位置的设置

ansible与我们其他的服务在这一点上有很大不同,Ansible的配置文件查找是从多个地方找的,顺序如下:

  • 检查环境变量ANSIBLE_CONFIG指向的路径文件
export ANSIBLE_CONFIG=/etc/ansible/ansible.cfg
  • ./ansible.cfg, 检查当前ansible命令所在目录下的ansible.cfg配置文件
  • ~/ansible.cfg,检查当前用户家目录下的ansible.cfg配置文件
  • /etc/ansible/ansible.cfg,如果前面都没有指定,默认指定的配置文件路径

 

4.2 Ansible配置文件

ansible 的配置文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值