自动化运维系列之ansible的简介与安装持续更新···(代码片段)

author author     2022-12-26     699

关键词:

自动化运维系列之Ansible的简介与安装

自动化运维工具简介

由于互联网的快速发展导致产品更新换代的速度逐渐加快,这就导致运维人员的日常工作会大大增加,如果还是按照传统方式进行维护工作会使工作效率低下。此时,就需要部署自动化运维了,自动化运维会尽可能安全、高效的完成运维人员的日常工作。

自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的Agent程序来完成管理功能,如:Puppet、Func、Zabbix等;另一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如:Ansible、Fabric等。

Ansible简介

Ansible是基于Python开发的,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能。默认通过ssh协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单。可同时支持多平台主机并行管理,使得管理主机更加便捷。

技术分享图片

以上就是Ansible基本构架组成,主要分为六个部分:

Ansible core 核心引擎

Host inventory 主机清单:用来定义Ansible所管理的主机,默认是在Ansible的hosts配置文件中定义被管理主机,同时也支持自定义动态主机清单和指定其他配置文件的位置。

Connection plugins 连接插件:负责和被管理主机实现通信。除支持使用SSH连接被管理主机外,Ansible还支持其他的连接方式,所以需要有连接插件将各个主机用连接插件连接到Ansible。

Playbooks(yam1,jinja2) 剧本 : 用来集中定义Ansible任务的配置文件,即将多个任务定义在一个剧本中由Ansible自动执行,可以由控制主机针对多台被管理主机同时运行多个任务。

Core modules 核心模块:是Ansible自带的模块,使用这些模块将资源分发到被管理主机,使其执行特定任务或匹配特定的状态。

Custom modules 自定义模块:用于完成模块功能的补充,可借助相关插件完成记录日志、发送邮件等功能。

Ansible自动化运维工具的部署安装

  • 实验环境
角色 主机名 IP地址 组名
控制主机 CentOS7-1 172.16.10.138
被管理主机 CentOS7-2 172.16.10.147 webserver
被管理主机 CentOS7-3 172.16.10.133 mysql
  • 安装配置yum源

yum -y install epel-release

  • 安装Ansible工具及tree树形图显示工具

yum -y install ansible tree

  • 安装好ansible之后,可以查看ansible的版本信息

ansible --version

技术分享图片

  • 以树形图的方式显示ansible的相关文件

tree /etc/ansible

技术分享图片

  • 修改ansible的主机清单,将两台被管理主机的IP及组名添加

vim /etc/ansible/hosts

[webserver]
172.16.10.147    #将第一台被管理主机添加至webserver组

[mysql]
172.16.10.133   #将第二台被管理主机添加至mysql组
  • 生成密钥对,使控制主机发送部署时免交互
ssh-keygen -t rsa
ssh-copy-id [email protected]
ssh-copy-id [email protected]

ssh-agent bask
ssh-add

自动化运维ansible之playbook剧本(持续更新)(代码片段)

...前两篇关于Ansible的博客地址,以供查阅,欢迎学习交流!自动化运维之Ansible概述及Ansible部署Ansible命令应用之常用模块Playbook简介playbook是ansible用于配置,部署,和管理被控节点的剧本。通过playbook的详细描述,执行其中的一系列... 查看详情

自动化运维工具--ansible(安装部署模块简介与操作)(代码片段)

...新换代速度加快,按照传统维护操作使得工作效率低下,自动化运维以尽可能安全高效的完成工作为目的,实现代替传统工作方式。自动化运维工具划分为两类:一是需要使用代理工具的,也就是基于agent程序来实现管理功能,... 查看详情

系统运维系列之mysql部分学习整理3

1存储过程语法结构:举例:无参CREATEPROCEDUREsql()SELECTVERSION();调用:CALLsql();有参IN:DELIMITER//(更改执行符号的命令)参数与语句中的字段不要重复,不要重复!如果p_id改成id,则会全部删除࿰... 查看详情

自动化运维之ansible概述及ansible部署|(持续更新中)(代码片段)

...旧按照传统方式进行维护使得工作效率低下。这时,部署自动化运维就可以尽可能安全,高效地完成这些工作。一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的Agent程序来完成管理功能,如... 查看详情

自动化运维之ansible-安装部署与基础命令篇(代码片段)

...署程序、配置系统等功能。二、安装部署Ansible服务Ansible自动化运维环境由控制主机与被管理主机组成,由于Ansible是基于SSH协议进行通信的,所以控制主机安装Ansible软件后不需要重启或允许任何程序,被管理主机也不需要安装... 查看详情

自动化运维之ansible的安装部署与命令模块(代码片段)

Ansible简介Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量... 查看详情

系统运维系列之ip地址和子网划分介绍(代码片段)

1简介接上一篇博客:关于A类,B类,C类IP地址的网段和主机数的计算方法2详细内容(1)子网掩码IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相同的主... 查看详情

系统运维系列之clickhouse数据类型整理

Clickhouse支持的数据类型在system.data_type_families表中检查数据类型名称以及是否区分大小写,这个表中存储了ClickHouse支持的所有数据类型。select*fromsystem.data_type_familieslimit10;Int说明ClickHouse中整形分为Int8、Int16、Int32、Int64来表示... 查看详情

系统运维系列之clickhouse数据库学习集锦(增删改查操作)(代码片段)

1简介本篇内容涉及一些增删改查操作,包括数据库、表,重点介绍字段的增加/删除操作,其中包含的内容均实际测试通过。2Clickhouseclickhouse是一款MPP架构的列式存储数据库,它拥有完备的管理功能,所以它称... 查看详情

ansible自动化运维工具安装与使用实例

1.准备两台服务器,要确定网络是通的。服务器当然越多越好啦。。。。Ansible的简介和好处我就不多说了,自己看百科去(*?▽?*)IP:192.168.139.100IP:192.168.139.1102.把192.168.139.100这台服务器当master,110这台服务器做slave。在master服务器上... 查看详情

系统运维系列之java中实现多线程的方式补充

1介绍接本专题博客之系统运维系列之java中实现多线程的方式上篇博客提到多线程使用的4种方式,分别是:实现方式1:继承Thread类,重写该类的run方法;实现方式2:实现Runnable接口,并重写该接口的run... 查看详情

系统运维系列之mysql部分学习整理4

1存储引擎查看数据库表创建命令:SHOWCREATETABLEtab1;支持的存储引擎:MylSAM:快速存储;InnoDB:带有事务回滚机制;MemorycsvArchive修改存储引擎的方式:通过修改MySQL配置文件实现default-storage-engine=engine... 查看详情

系统运维系列之记载一次windows系统下tomcat启动报错的问题(代码片段)

1问题简介最近遇到一个问题,在windows系统下部署tomcat项目,cmd命令启动时频繁报错,比如Unsupportedmajor.minorversion52.0,且cmd界面上打印出来的日志为乱码;最后在关闭tomcat时发现关不掉,出现项目挂起但是... 查看详情

系统运维系列之mysql部分学习整理2

1字符函数使用举例:CONCAT_WS相比于CONCAT可以简化语句SELECTCONCAT(id,’-’,age)ASpathFROMuser;SELECTCONCAT_WS(’-’,id,age)ASpathFROMuser;SELECTFORMAT(id,3)ASnumFROMuser;SELECTLEFT(‘abcdef’,2);—>ab举例:SELECT 查看详情

系统运维系列之mysql部分学习整理1

1前言本部分对于MySQL数据库工作机制及其语法做一个整理,用于之后重点内容的查询和交流。2包含内容数据库工作机制、语法基础、重要内容整理、语句优化、效率提升等。3MySQL的字段约束3.1其中AUTO_INCREMENT必须和PRIMARYKEY一... 查看详情

系统运维系列之greenplumvacuum清理删除数据命令(代码片段)

1PostgreSQL清理表膨胀之vacuumPostgreSQL的表膨胀清理就需要依赖vacuum,vacuum的主要任务就是清理表和索引中不需要的数据(deadtuples),为新加入的数据清理出来空间。 vacuum完成清理工作后,那些空间并没有真正... 查看详情

系统运维系列之greenplum常用的toolkit和catalog监控语句

1表膨胀相关查询--该视图显示了那些膨胀的(在磁盘上实际的页数超过了根据表统计信息得到预期的页数)正规的堆存储的表。select*fromgp_toolkit.gp_bloat_diag;--所有对象的膨胀明细select*fromgp_toolkit.gp_bloat_expected_pages;2表倾斜... 查看详情

系统运维系列之kafka配置分析及参数含义

补充:kafkamanager中lag的正数、0、负数的含义:正数:就是kafka数据积压了,消费速度小于生产速度;0:生产者和消费者速率基本相当,说明2者都工作正常;负数:说明kafka的消费者干活很快,分... 查看详情