Ansible自动化运维

这篇具有很好参考价值的文章主要介绍了Ansible自动化运维。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、概述

常见的开源自动化运维工具比较

二、ansible环境搭建

三、ansible模块

(一)、hostname模块

(二)、file模块

(三)、copy模块

(四)、fetch模块

(五)、user模块

(六)、group模块

(七)、cron模块

(八)、yum_repository模块

(九)、yum模块

(十)、service模块

(十一)、script模块

(十二)、command与shell模块

三、playbook

(一)、YAML格式

(二)、Playbook常见语法

(三)、实例

四、roles介绍

(一)、roles的目录结构

(二)、roles实现lamp

  (三)、拓展安装discuz

总结




前言

公司的服务器越来越多, 维护一些简单的事情都会变得很繁琐。用shell脚本来管理少量服务器效率还行, 服务器多了之后, shell脚本无法实现高效率运维。这种情况下,我们需要引入自动化运维工具, 对多台服务器实现高效运维。

一、概述

Ansible自动化运维,ansible,自动化,运维

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

架构图

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

特点

  • 部署简单

  • 默认使用ssh进行管理,基于python里的==paramiko==模块开发

  • 管理端和被管理端不需要启动服务

  • 配置简单,功能强大,扩展性强

  • 能过playbook(剧本)进行多个任务的编排

常见的开源自动化运维工具比较

  1. puppet(拓展)

    基于ruby语言,成熟稳定。适合于大型架构,相对于ansible和saltstack会复杂些。

  2. saltstack(拓展)

    基于python语言。相对简单,大并发能力比ansible要好, 需要维护被管理端的服务。如果服务断开,连接就会出问题。

  3. ansible

    基于python语言。简单快捷,被管理端不需要启服务。直接走ssh协议,需要验证所以机器多的话速度会较慢。

二、ansible环境搭建

一台管理

192.168.238.129(hd1)

两台被管理

192.168.238.130(hd2)

192.168.238.131(hd3)

防火墙设置、宽容模式(selinux )、NAT模式

所有主机都要配置主机名和 hosts文件

Ansible自动化运维,ansible,自动化,运维

192.168.238.129

yum install -y epel-release
yum install -y ansible

设置免密登录

若不免密操作在后面操作agent时都要加-k参数传密码;或者在主机清单里传密码。

ssh-keygen

ssh-copy-id hd2

ssh-copy-id hd3

vim /etc/ansible/hosts

Ansible自动化运维,ansible,自动化,运维

若不进行免密会失败

Ansible自动化运维,ansible,自动化,运维

免密后进行ping通测试(绿色为成功,红色为失败)

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

主机清单功能

Ansible自动化运维,ansible,自动化,运维

因为未给自己免密所以129会失败

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

三、ansible模块

ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。

ansible支持的模块非常的多,我们并不需要把每个模块都记住,而只需要熟悉一些常见的模块,其它的模块在需要用到时再查询即可。

​官网模块文档地址:Ansible Documentation

(一)、hostname模块

hostname模块用于修改主机名(注意: 它不能修改/etc/hosts文件) 

基本格式为: ansible 操作的机器名或组名 -m 模块名 -a "参数1=值1 参数2=值2" argment

例:修改hd3的hostname

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

(二)、file模块

file模块:用于对文件相关的操作(创建, 删除, 软硬链接等)

stat模块:类似linux的stat命令,用于获取文件的状态信息 。(了解)

Ansible自动化运维,ansible,自动化,运维

创建一个目录

ansible my -m file -a 'path=/test state=directory'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

创建一个文件

注意:my组的验证文章中多数只截取了一台机器

ansible my -m file -a 'path=/test/1.txt state=touch'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

递归修改owner,group,mode

ansible 192.168.238.130 -m file -a 'path=/root/OK recurse=yes owner=bin group=bin mode=1777'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

创建文件并指定owner,group,mode等

ansible my -m file -a 'path=/test/1.txt state=file owner=bin group=daemon mode=1777'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

也可以指定其中一项进行创建修改

删除文件

删除目录 absent(缺席的) 会连同目录里的所有文件,删除文件值删除对应文件

ansible my -m file -a 'path=/test/1.txt state=absent '

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

创建软链接文件

ansible my -m file -a 'src=/etc/fstab path=/opt/fstab state=link'

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

创建硬链接文件

ansible my -m file -a 'src=/etc/fstab path=/opt/fstab2 state=hard'

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

(三)、copy模块

copy模块用于对文件的远程拷贝操作(如把本地的文件拷贝到远程的机器上)

echo master > OK

ansible my -m copy -a 'src=/root/OK dest=/opt/word'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

content参数

使用content参数直接往远程文件里写内容(会覆盖原内容)

注意:ansible中-a后面的参数里也有引号时,记得要单引双引交叉使用,如果都为双引会出现问题。

ansible my -m copy -a 'content="hello\n" dest=/opt/word'

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

force参数

使用force参数控制是否强制覆盖

如果目标文件已经存在,则不覆盖
ansible my -m copy -a 'src=/root/OK dest=/opt/word force=no'


如果目标文件已经存在,则会强制覆盖
ansible my -m copy -a 'src=/root/OK dest=/opt/word force=yes'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

backup参数

使用backup参数控制是否备份文件

backup=yes表示如果拷贝的文件内容与原内容不一样,则会备份一份
my的机器上会将/opt/word备份一份(备份文件命名加上时间),再远程拷贝新的文件为/opt/word
ansible my -m copy -a 'src=/root/OK dest=/opt/word backup=yes owner=daemon group=daemon mode=1777'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

"/"符号

copy模块拷贝时要注意拷贝目录后面是否带"/"符号

/etc/yum.repos.d后面不带/符号,则表示把/etc/yum.repos.d整个目录拷贝到/tmp/目录下
ansible my -m copy -a 'src=/etc/yum.repos.d dest=/mnt/'


/etc/yum.repos.d/后面带/符号,则表示把/etc/yum.repos.d/目录里的所有文件拷贝到/tmp/目录下
ansible my -m copy -a 'src=/etc/yum.repos.d/ dest=mnt/'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

(四)、fetch模块

fetch模块与copy模块类似,但作用相反。用于把远程机器的文件拷贝到本地。

注意: fetch模块不能从远程拷贝目录到本地

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

创建同名文件

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

(五)、user模块

user模块用于管理用户账号和用户属性。

创建aaa用户,默认为普通用户,创建家目录

ansible 192.168.238.130 -m user -a 'name=aaa state=present'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

创建bbb系统用户,并且登录shell环境为/sbin/nologin

ansible 192.168.238.130 -m user -a 'name=bbb state=present system=yes shell="/sbin/nologin"'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

创建ccc用户, 使用uid参数指定uid, 使用password参数传密码密码要用双引号引起来,单引号的话验证时会密码不正确

echo 123123 | openssl passwd -1 -stdin
ansible 192.168.238.130 -m user -a 'name=ccc uid=2000 state=present password="$1$TyI.ymu/$bDnWZc.re9V/37HAZAgrf0"'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

删除aaa用户,但家目录默认没有删除

ansible 192.168.238.130 -m user -a 'name=aaa state=absent'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

删除bbb用户,使用remove=yes参数让其删除用户的同时也删除家目录

ansible 192.168.238.130 -m user -a 'name=bbb state=absent remove=yes'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

创建一个普通用户叫badboy,并产生空密码 密钥对echo

 ansible 192.168.238.130 -m user -a 'name=badboy generate_ssh_key=yes'

Ansible自动化运维,ansible,自动化,运维

产生空密码指的是这个,并非空密码

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

(六)、group模块

group模块用于管理用户组和用户组属性。

创建组

ansible 192.168.238.130 -m group -a 'name=long gid=3000 state=present'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

删除组(如果有用户的gid为此组,则删除不了)

ansible 192.168.238.130 -m group -a 'name=long  state=absent'
ansible 192.168.238.130 -m group -a 'name=ss  state=absent'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

(七)、cron模块

cron模块用于管理周期性时间任务。

创建一个cron任务,不指定user的话,默认就是root。

minute,hour,day,month,week不指定的话,默认都为*

ansible 192.168.238.130 -m cron -a 'name="test cron1" user=root job="touch /mnt/mnt.txt"  minute=*/2'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

也可以crontab -l查看任务

删除cron任务

ansible 192.168.238.130 -m cron -a 'name="test cron1" state=absent'

Ansible自动化运维,ansible,自动化,运维

(八)、yum_repository模块

yum_repository模块用于配置yum仓库。

注意:此模块只帮助配置yum仓库,但如果仓库里没有软件包,安装一样会失败。所以可以手动去挂载光驱。

增加一个/etc/yum.repos.d/local.repo配置文件 。(输入命令注意-a后引号)

ansible 192.168.238.130 -m yum_repository -a "name=local description=localyum baseurl=file:///mnt/ enabled=yes gpgcheck=no"

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

删除/etc/yum.repos.d/local.repo配置文件

ansible 192.168.238.130 -m yum_repository -a "name=local state=absent"

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

(九)、yum模块

yum模块用于使用yum命令来实现软件包的安装与卸载。

使用yum安装一个软件前提:被安装的机器上yum配置都已经OK)

ansible 192.168.238.130 -m yum -a 'name=dhcp state=present'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

使用yum安装l软件,state=latest表示安装最新版本

ansible 192.168.238.130 -m yum -a 'name=dhcp state=latest'

使用yum卸载一个软件

ansible 192.168.238.130 -m yum -a 'name=dhcp state=absent'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

(十)、service模块

service模块用于控制服务的启动,关闭,开机自启动等。

启动vsftpd服务,并设为开机自动启动

ansible 192.168.238.130 -m yum -a 'name=vsftpd state=present'
ansible 192.168.238.130 -m service -a 'name=vsftpd state=started enabled=on'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

关闭vsftpd服务,并设为开机不自动启动

ansible 192.168.238.130 -m service -a 'name=vsftpd state=stoppd enabled=fales'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

(十一)、script模块

script模块用于在远程机器上执行本地脚本。(不用给权限

vim /root/test.sh
ansible 192.168.238.130 -m script -a '/root/test.sh'

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

(十二)、command与shell模块

两个模块都是用于执行linux命令的,这对于命令熟悉的工程师来说,用起来非常high。

shell模块与command模块差不多(command模块不能执行一些类似$HOME,>,<,|等符号,但shell可以)

注意: shell模块并不是百分之百任何命令都可以,比如vim或ll别名就不可以。不建议大家去记忆哪些命令不可以,大家只要养成任何在生产环境里的命令都要先在测试环境里测试一下的习惯就好。

查看my组IP

 ansible my -m command -a 'ifconfig ens33'

Ansible自动化运维,ansible,自动化,运维

对比于shell

ansible my -m command -a 'ifconfig ens33 |grep netmask'
ansible my -m shell -a 'ifconfig ens33 |grep netmask'

Ansible自动化运维,ansible,自动化,运维

三、playbook

playbook(剧本): 是ansible用于配置,部署,和管理被控节点的剧本。用于ansible操作的编排。

使用的格式为yaml格式。(saltstack,elk,docker,docker-compose,kubernetes等也都会用到yaml格式)

(一)、YAML格式

注意: 写这种文件不要使用tab键,都使用空格。

  • 以.yaml或.yml结尾

  • 文件的第一行以 "---"开始,表明YMAL文件的开始(可选的)

  • 以#号开头为注释

  • 列表中的所有成员都开始于相同的缩进级别, 并且使用一个 "- " 作为开头(一个横杠和一个空格)

  • 一个字典是由一个简单的 键: 值 的形式组成(这个冒号后面必须是一个空格)

(二)、Playbook常见语法

hosts 用于指定要执行任务的主机,其可以是一个或多个由冒号分隔主机组
remote_user 用于指定远程主机上的执行任务的用户
tasks 任务列表, 按顺序执行任务
如果一个host执行task失败, 这个tasks会回滚, 修正playbook 中的错误, 然后重新执行即可
handlers 类似task,但需要使用notify通知调用
不管有多少个通知者进行了notify,等到play中的所有task执行完成之后,handlers也只会被执行一次
handlers最佳的应用场景是用来重启服务,或者触发系统重启操作.除此以外很少用到了
variables 变量

定义变量可以被多次方便调用

(三)、实例

playbook编排my组安装httpd

mkdir /root/palybook

vim /root/palybook/test.yml

Ansible自动化运维,ansible,自动化,运维

可以中文,最好注释以免造成异常(传输的文件要确保主机有不然会失败)

执行写好的palybook :ansible-playbook /root/playbook/test.yml

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

vim /etc/httpd/conf/httpd.conf

修改配置文件端口为443

Ansible自动化运维,ansible,自动化,运维

再次执行palybook: ansible-playbook /root/playbook/test.yml

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

playbook编排多个hosts任务

vim /etc/httpd/conf/host.conf

ansible-playbook /root/playbook/host.yml

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

书写错误

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

my组用变量

vim /etc/httpd/conf/host.conf

ansible-playbook /root/playbook/host.yml

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

四、roles介绍

roles(角色): 就是通过分别将variables, taskshandlers等放置于单独的目录中,并可以便捷地调用它们的一种机制。

假设我们要写一个playbook来安装管理lamp环境,那么这个playbook就会写很长。所以我们希望把这个很大的文件分成多个功能拆分, 分成apache管理,php管理,mysql管理,然后在需要使用的时候直接调用就可以了,以免重复写。就类似编程里的模块化的概念,以达到代码复用的效果。

(一)、roles的目录结构

注意: 在每个角色的目录中分别创建files, tasks,handlers,templates,vars和meta目录,用不到的目录可以创建为空目录.。

files 用来存放由copy模块或script模块调用的文件
tasks 至少有一个main.yml文件,定义各tasks
handlers 有一个main.yml文件,定义各handlers
templates 用来存放jinjia2模板
vars 有一个main.yml文件,定义变量
meta 有一个main.yml文件,定义此角色的特殊设定及其依赖关系

(二)、roles实现lamp

创建目录及文件,并确认目录结构

mkdir -p {httpd,mysql,php}/{files,tasks,handlers,templates,vars,meta}
touch {httpd,mysql,php}/{tasks,handlers,vars,meta}/main.yml

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

准备httpd服务器的主页文件,php测试页和配置文件等

echo "hello" > /etc/ansible/roles/httpd/files/index.html
echo -e "<?php\n\tphpinfo();\n?>" > /etc/ansible/roles/httpd/files/test.php
yum install -y httpd 
cp /etc/httpd/conf/httpd.conf /etc/ansible/roles/httpd/files/

编写httpd角色的main.yml文件

vim /etc/ansible/roles/httpd/tasks/main.yml

Ansible自动化运维,ansible,自动化,运维

编写httpd角色里的handler

vim /etc/ansible/roles/httpd/handler/main.yml

Ansible自动化运维,ansible,自动化,运维

编写php角色的main.yml文件

vim /etc/ansible/roles/php/tasks/main.yml

Ansible自动化运维,ansible,自动化,运维

编写mysql角色的main.yml文件

vim /etc/ansible/roles/mysql/tasks/main.yml

Ansible自动化运维,ansible,自动化,运维

编写lamp的playbook文件调用前面定义好的三个角色

创建个playbook/lamp.yaml文件,位置随意

vim /root/playbook/lamp.yaml

注意:要与前面创建的名称一样

Ansible自动化运维,ansible,自动化,运维

执行lamp的playbook文件

ansible-playbook /root/playbook/lamp.yml

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维

  (三)、拓展安装discuz

在此基础上安装discuz

discuz包放在/roles/httpd/files中

修改httpd角色的main.yml文件进行添加

vim /etc/ansible/roles/httpd/tasks/main.yml

Ansible自动化运维,ansible,自动化,运维

修改mysql角色的main.yml文件

vim /etc/ansible/roles/mysql/tasks/main.yml

Ansible自动化运维,ansible,自动化,运维

编写mysql的建库脚本

vim /etc/ansible/roles/mysql/files/create.sh

Ansible自动化运维,ansible,自动化,运维

执行lamp的playbook文件

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

Ansible自动化运维,ansible,自动化,运维Ansible自动化运维,ansible,自动化,运维

后续用mysql创建的授权用户和数据库即可。


总结

今天内容相当于可以舒缓下大脑了,没有zabbix那么繁琐的的流程。与基础命令的使用相似,只是在基础稍微扩展,模版较多熟记常用的就好,要理解含义再操作更有助于背记。playbook为整体,roles为进行分类,显得比较有序,报错可找到对应的地方进行处理。文章来源地址https://www.toymoban.com/news/detail-705809.html

到了这里,关于Ansible自动化运维的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 自动化运维工具——Ansible

    自动化运维工具——Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个

    2024年02月14日
    浏览(14)
  • 自动化运维工具—Ansible

    自动化运维工具—Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 市面上其他自动化工具:pupet(ruby语言) saltstack(python) chef(C/S模式)等 Ansible能批量配

    2024年02月10日
    浏览(14)
  • 【ansible】自动化运维ansible之playbook剧本编写与运行

    【ansible】自动化运维ansible之playbook剧本编写与运行

    目录 一、ansible剧本playbook的组成 二、palybook的基础应用: 实操1:通过palybooks完成nginx的安装 第一种:通过yum安装nginx 第二种:通过编译安装nginx 实操2:playbook定义、引用变量​​​​​​​ 实操3:通过playbook完成普通账户权限提权为root用户 实操4:通过when条件判断指定主机

    2024年02月20日
    浏览(9)
  • 自动化运维工具之Ansible

    自动化运维工具之Ansible

    Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。 Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个

    2024年02月08日
    浏览(15)
  • 自动化运维——ansible (五十二) (01)

    自动化运维——ansible (五十二) (01)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、概述 1.1 为什么要用自动化运维软件 1.2 自动化运维 1.3 自动化运维要注意的方面 1.4 自动化运维主要关注的方面  1.5 常见的开源自动化运维软件 1.6 自动化运维软件一般安装在哪 二、ansibl

    2024年02月09日
    浏览(10)
  • Ansible自动化运维工具的认识

    Ansible自动化运维工具的认识

    目录 一、Ansible概述 二、Ansible特点 三、Ansible应用 1、使用者 2、Ansible工具集合 3、作用对象 四、Ansible的搭建 1、实验环境 2、环境准备 Ansible: 3、创建ssh免密交互登录 client端环境准备 五、Ansible配置 六、Ansible命令 1、ansible 实验案例: 1.检查所有主机是否存活 2.列出Rich组中

    2024年02月16日
    浏览(11)
  • 自动化运维工具——Ansible学习(二)

    自动化运维工具——Ansible学习(二)

    目录 一、handlers和notify结合使用触发条件 1.新建httpd.yml文件 2.复制配置文件到ansible的files目录中 3.卸载被控机已安装的httpd 4.执行httpd.yml脚本 5.更改httpd.conf配置文件 6.使用handlers 7.重新执行httpd.yml脚本 8.检查被控机的端口号是否改变 9.handlers也可以触发多个 二、tags 1.通过指定

    2024年02月16日
    浏览(21)
  • Ansible 自动化运维工具的使用

    Ansible 自动化运维工具的使用

    目录   一、Ansible简介 二、Ansible 的安装和使用 1.下载 2.使用 三、Ansible命令和模块 1.命令格式 2.命令行模块 (1)command 模块 (2)shell 模块 (3)cron 模块 (4)user 模块 (5)group 模块 (6)copy 模块 (7)file 模块 (8)hostname 模块 (9)ping 模块  (10)yum 模块 (11)service/

    2024年02月11日
    浏览(11)
  • Ansible自动化运维工具---Playbook

    Ansible自动化运维工具---Playbook

    playbook是剧本的意思,通过 task 调用 ansible 的模块将多个 play 组织在一 个playbook中运行。 playbook各部分组成 : Tasks : 任务,即调用模块完成的某操作 Variables : 变量 emplates : 模板 Handlers : 处理器,当某条件满足时,触发执行的操作 Roles : 角色 playbook yaml语法 是换行空两格,-和

    2024年02月03日
    浏览(7)
  • 自动化运维工具-------Ansible(超详细)

    自动化运维工具-------Ansible(超详细)

    Ansible是自动化运维工具,基于Python开发,分布式,无需客户端,轻量级,实现了批量系统配置、批量程序部署、批量运行命令等功能, ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架 。 1)、no agents:不需要在

    2024年02月10日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包