首页 > 其他分享 >第一章 Ansible入门

第一章 Ansible入门

时间:2022-09-19 14:34:25浏览次数:81  
标签:入门 批量 主机 第一章 运维 Ansible 模块 安装

一、Ansible概述、

Ansible 是一种 IT 自动化工具。它可以配置系统、部署软件并协调更高级的 IT 任务,例如持续部署或零停机滚动更新。

Ansible 的主要目标是简单易用。它还非常注重安全性和可靠性,具有最少的移动部件,使用 OpenSSH 进行传输(使用其他传输和拉模式作为替代),以及一种围绕人类可审计性设计的语言 - 即使是那些不熟悉的人该程序。

Ansible的简单性适用于各种规模的环境,为各种类型的忙碌用户设计:开发人员、系统管理员、发布工程师、IT 经理以及介于两者之间的每个人。Ansible 适用于管理所有环境,从具有少量实例的小型设置到具有数千个实例的企业环境。

Ansible 以无代理的方式管理机器。永远不存在如何升级远程守护进程或因为守护进程被卸载而无法管理系统的问题。由于 OpenSSH 是同行评审最多的开源组件之一,因此大大减少了安全风险。Ansible 是去中心化的——它依赖于您现有的操作系统凭据来控制对远程机器的访问。如果需要,Ansible 可以轻松连接 Kerberos、LDAP 和其他集中式身份验证管理系统。

二、常见自动化工具

1.puppet 学习难,安装ruby环境难,没有远程执行功能
2.ansible 轻量级,大规模环境下只通过ssh会很慢,串行的
3.saltstack 一般选择salt会使用C/S结构的模式,salt-master和salt-minion,并行的,大规模批量操作的情况下,会比Ansible速度快一些,底层使用的是zero-MQ消协队列

三、手动运维和自动运维

#手动运维
在之前,我们学习了如何安装nginx。但是我们使用的是yum安装的方式,在以前,运维需要规范,需要统一配置管理,我们只能使用源码安装方式,便于我们去管理,源码安装,如果是单台还好,一会也就装完了,如果此时,生产环境压力骤增,需要扩展100台web节点(源码安装100台nginx)我们该如何操作?

#自动运维可以做到
1.批量命令执行
2.批量安装服务
3.批量配置
4.批量任务执行
5.批量代码部署

#自动化运维优点
1.提高工作效率
2.提高工作准确性
3.降低人工成本
4.减少重复工作

四、Ansible的功能及优点

1.远程执行
批量执行远程命令,可以对多台主机进行远程操作

2.配置管理
批量配置软件服务,可以进行自动化方式配置,服务的统一配置管理,和启停

3.事件驱动
通过Ansible的模块,对服务进行不同的事件驱动
比如:
1)修改配置后重启
2)只修改配置文件,不重启
3)修改配置文件后,重新加载
4)远程启停服务管理

4.管理公有云
通过API接口的方式管理公有云,不过这方面做的不如saltstack.
saltstack本身可以通过saltcloud管理各大云厂商的云平台

5.二次开发
因为语法是Python,所以便于运维进行二次开发

6.任务编排
可以通过playbook的方式来统一管理服务,并且可以使用一条命令,实现一套架构的部署

7.跨平台,跨系统
几乎不受到平台和系统的限制,比如安装apache和启动服务

在Ubuntu上安装apache服务名字叫apache2
在CentOS上安装apache服务名字叫httpd

在CentOS6上启动服务器使用命令:/etc/init.d/nginx start
在CentOS7上启动服务器使用命令:systemctl start nginx

五、Ansible组织架构

1.连接插件connection plugins用于连接主机 用来连接被管理端
2.核心模块core modules连接主机实现操作, 它依赖于具体的模块来做具体的事情
3.自定义模块custom modules根据自己的需求编写具体的模块
4.插件plugins完成模块功能的补充
5.剧本playbookansible的配置文件,将多个任务定义在剧本中,由ansible自动执行
6.主机清单inventor定义ansible需要操作主机的范围

六、Ansible执行流程

1.Ansible读取playbook剧本,剧本中会记录对哪些主机执行哪些任务。
2.首先Ansible通过主机清单找到要执行的主机,然后调用具体的模块。
3.其次Ansible会通过连接插件连接对应的主机并推送对应的任务列表。
4.最后被管理的主机会将Ansible发送过来的任务解析为本地Shell命令执行。

标签:入门,批量,主机,第一章,运维,Ansible,模块,安装
From: https://www.cnblogs.com/GAO321/p/16707585.html

相关文章

  • CAPL编程语言快速入门
    前言  提到CAPL,相信各位一定不陌生,它是由Vector公司开发的类似于C语言的面向过程编程语言,是CANoe和CANalyzer中可用的编程语言。CAPL中程序块的执行由事件控制,在专用......
  • 12.ansible lineinfile模块
    前言:lineinfile模块,功能有点类似sed常用功能:对文件的行替换、插入、删除PS:替换/插入:如果有重复的,都是匹配最后一个,如果不加backrefs项,替换/插入如无匹配者,则将line......
  • BGI-College生信入门——9、R语言基础(二)
    ggplot2ElegantGraphicsforDataAnalysis,用于数据分析的精美图形ggplot2是一个用于数据统计和绘图的R包与其它绘图包不同,ggplot2有自己的基础语法ggplot2的逻辑......
  • 本次介绍如何利用ansible一键初始化centos7
    本次介绍如何利用ansible一键初始化centos7。本文介绍的运行环境是CentOS7.6:[root@localhost~]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)[r......
  • 通用漏洞评分系统 (CVSS)系统入门指南
    通用漏洞评分系统(CVSS)是一个公共框架,用于评估软件中安全漏洞的严重性。这是一个中立的评分系统,让所有企业能够使用相同的评分框架对各种软件产品(从操作系统、数据库再......
  • BGI-College生信入门——8、R语言基础(一)
    什么是R?R是用于统计和作图的免费软件可在各种UNIX平台、Windows和MacOS上编译和运行R的组成一种语言、带有图形的运行环境、调试器、访问某些系统功能以及运......
  • python爬虫入门笔记(随便记记,持续更新)
    准备:安装库pip3installbeautifulsoup4apt-getinstallpython-lxmlpip3installparse 一、获得从baidu.com中能够跳转到的页面(的链接)importrequests......
  • 简单纪要:docker入门(一),docker安装!
    一docker是什么、为什么出现了docker?Docker是基于GO开发的云开源项目,是一个用于开发,交付和运行应用程序的开放平台。Docker能使应用程序与基础架构分离,从而实现快速交付......
  • 【java8新特性】01:函数式编程及Lambda入门
    我们首先需要先了解什么是函数式编程、函数式编程是一种结构化编程范式、类似于数学函数、它关注的重点在于数据操作、或者说它所提倡的思想是做什么,而不是如何去做。自J......
  • css 基础入门
    目录基础入门CSS语法CSS选择器基础选择器标签选择器类选择器id选择器群选择器全局选择器层级选择器子选择器基础入门前面部分我们知道可以通过直接指定style属性来配置D......