linux知识分享

背锅工程师

保持自我!保持清醒!保持学习!保持热爱!
  menu
5 文章
0 浏览
1 当前访客
ღゝ◡╹)ノ❤️

自动化运维工具Ansible入门

一、引入

linux运维工程师职能 --》 应用场景 --》 具体环境配置

根据业务需要

二、历史

创始人:Michael Dehaan (cobbler作者)

2012 0.0.1

2015 Redhat收购

三、工作架构及原理

1.特性:模块化

调用特定的模块,完成特定的任务
有paramiko、PyYAML、jinja2三个关键模块
支持自定义模块
基于python语言开发
部署简单就要python和ssh,agentless
安全,基于Openssh
支持playbook编排任务
幂等性:一个任务执行一遍和执行n遍效果一样,不会因为重复执行带来意外情况
无序代理不依赖PKI(无需ssl)
可使用认可编程语言编写模块
YAML格式编排任务,支持丰富的数据结构
较强大的多层解决方案(Role)

架构:

工作原理

四、安装

主控端、堡垒机、中控机

  1. yum安装(epel源)
  2. git
  3. pip
  4. 编译

注意:主控端 python3.6+

被控端 python 2.4- 需要安装python-simpleison

selinux 开启的话 需要安装libselinux-python

Windows不能做master

配置文件

image.png

命令

image.png

五、常用模块

command

shell

script

file

copy

fatch

hostname

corn

yum

service

user

group

ansible-galaxy:下载role

六、playbook及role

由一个或多个“play”组成的列表

编排多个任务 使用yaml语言编写

image.png

-C 检查一遍

Role角色:

复杂场景

  • 变更指定主机或主机组
  • 命名不规范维护和传承的成本大
  • 某个功能需要多个playbook,通过includes实现

image.png

目录结构

image.png

参考资料:

马哥ansible视频

ansible官方文档

ansible中文文档


标题:自动化运维工具Ansible入门
作者:hewieliao
地址:https://hewieliao.com/articles/2020/08/12/1597162025635.html