百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Ansible 自动化运维工具(ansible自动化运维工具)

off999 2024-09-18 22:33 44 浏览 0 评论

Ansible是什么?

Ansible是一个“配置管理工具”也是一个“自动化运维工具”

Ansible 作用:

Ansible是新出现的自动化运维工具,基于Python开发,实现批量系统配置,批量程序部署,批量运行命令

Ansible 简介:

Ansible 是一个能实现批量部署的自动化运维工具,基于python开发,能实现批量系统配置,批量部署程序,批量运行命令。Ansible是基于模块来运行,它本身没有任何批量部署的能力,ansible主要是提供一种批量部署的框架。

Ansible的框架:

1. 连接的插件connection plugins: 负责和被监控端的通信

2. Host inventory : 指定服务器上配置文件定义监控的客户端

3. 核心模块: command、shell、yum、copy、ping、rm、自定义模块(第三方模块)等

4. Playbook: 剧本任务,在非必要的情况下可以在一个节点执行多个任务

Ansible 特性:

1. No agent 不需要在被管控主机上安装任何软件

2. No server 不用单独启用服务,能使用直接运行,使用时直接运行命令

3. 对硬件资源占用小

4. 不需要在被管控的主机上安装任何软件

5. 基于模块工作

6. 基于ssh工作

7. 使用yaml语言

8. 可实现多级指挥

Asible的优势:

1) 轻量级易操作

2) 分布式,无agent客户端

3) 配置语法是YAML语言

4) 轻量级,无需在客户端安装agent,更新时在操作机更新一次即可

5) 批量任务执行可以写成脚本,不用发送给客户机就可执行

6) 使用python编写,维护简单

7) 支持sudo

Ansible的架构:

连接其他主机默认使用的ssh协议,也支持local、zeromq的方式连接

核心:ansible

核心模块(core modules):ansible自带的模块

扩展模块(custom modules):核心模块不能满足需求,添加扩展模块。

插件(plugins):完成模块的补充

剧本(playbook):在ansible配置文件中,可以将多个任务定义在一个剧本中,在ansibel执行剧本。

连接插件(connectior plugins):ansible默认使用ssh连接的,但是ansible也支持其他的连接方式,其他的连接方式是需要插件的支持,才可以实现通信。

主机群(host inventory): 定义ansible管理的主机的

Ansible生成的主要文件

1
2
3
4
5
6

/etc/ansible
/etc/ansible/ansible.cfg #配置文件
/etc/ansible/hosts #主机库(host inventory)管理被监控的主机
/usr/bin/ansible #主程序
/usr/bin/ansible-doc #文档
/usr/bin/ansible-playbook #剧本

Ansible的工作原理:

1、 服务端连接客户端,实现通信

2、 通过服务器的节点使用模块实现客户端的需求

3、 通过剧本实现多个任务的实现

Ansible 的7个命令:

Ansible、Ansible-doc、Ansible-galaxy、Ansible-lint、Ansible-playbook、Ansible-pull、Ansible-vault:

Ansible:

Ansible是核心的指令,主要用于执行单条命令,默认跟的是主机和选项部分,默认不指定模块时,使用的是command模块(默认使用的模块可以在ansible.cfg修改):

Eg:[root@44 ~]# ansible all -a "pwd"

192.168.20.70 | SUCCESS | rc=0 >>

/root

1. 参数:

2. -a 'Arguments', --args='Arguments' 命令行参数

3. -m NAME, --module-name=NAME 执行模块的名字,默认使用 command 模块,所以如果是只执行单一命令可以不用 -m参数

4. -i PATH, --inventory=PATH 指定库存主机文件的路径,默认为/etc/ansible/hosts.

5. -u Username, --user=Username 执行用户,使用这个远程用户名而不是当前用户

6. -U --sud-user=SUDO_User sudo到哪个用户,默认为 root

7. -k --ask-pass 登录密码,提示输入SSH密码而不是假设基于密钥的验证

8. -K --ask-sudo-pass 提示密码使用sudo

9. -s --sudo sudo运行

10. -S --su 用 su 命令

11. -l --list 显示所支持的所有模块

12. -s --snippet 指定模块显示剧本片段

13. -f --forks=NUM 并行任务数。NUM被指定为一个整数,默认是5。 #ansible testhosts -a "/sbin/reboot" -f 10 重启testhosts组的所有机器,每次重启10台

14. --private-key=PRIVATE_KEY_FILE 私钥路径,使用这个文件来验证连接

15. -v --verbose 详细信息

16. all 针对hosts 定义的所有主机执行

17. -M MODULE_PATH, --module-path=MODULE_PATH 要执行的模块的路径,默认为/usr/share/ansible/

18. --list-hosts 只打印有哪些主机会执行这个 playbook 文件,不是实际执行该 playbook 文件

19. -o --one-line 压缩输出,摘要输出.尝试一切都在一行上输出。

20. -t Directory, --tree=Directory 将内容保存在该输出目录,结果保存在一个文件中在每台主机上。

21. -B 后台运行超时时间

22. -P 调查后台程序时间

23. -T Seconds, --timeout=Seconds 时间,单位秒s

24. -P NUM, --poll=NUM 调查背景工作每隔数秒。需要- b

25. -c Connection, --connection=Connection 连接类型使用。可能的选项是paramiko(SSH),SSH和地方。当地主要是用于crontab或启动。。。。。

Ansible-doc:

Ansible-doc -h 用于查看模块的信息常见的参数-l -s

Ansible-doc -l 列出已安装的模块

Ansible-doc -s 模块 : 查查看具体模块的使用方法

Ansible-galaxy:

Ansible-galaxy 从站点下载第三方的扩展模块

[root@44 ~]# ansible-galaxy -h

Usage: ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...

Ansible-lint:

Ansible-lint对playbook的语法进行检查的工具

Ansible-lint 剧本名

注:本人安装的ansible 没有此命令选项所以用ansible-playbook --syntax-check 对剧本进行语法的检查

[root@44 ~]# ansible-playbook --syntax-check + 剧本名

对剧本语法进行检查但不执行

Ansible-playbook:

Ansible-playbook 读取playbook文件执行相应的动作。

执行ansible-playbook的剧本

eg:执行a.yml剧本

[root@44 ~]# ansible-playbook a.yml

Ansible-pull:

Ansible-pull 适用于数量多的机器配置,远程执行命令的工具。对运维架构能力比较强

Ansible-vault:

Ansible-vault 配置文件有敏感信息,设置加密/解密这个配置文件

常用模块使用

https://www.cnblogs.com/happy-king/p/9013312.html

https://www.cnblogs.com/ExzaiTin/p/7918415.html


Ansible语法:ansible 机组名 -m 模块 -a 执行的内容

ansible软件执行结果

l 输出内容显示绿色:表示执行成功,当没有任何改变

l 输出内容显示黄色:表示执行成功,蛋对被管理主机进行了改变

l 输出内容显示红色:表示执行失败!!!

1) Setup模块

用来查看远程主机的一些基本信息

Ansible 用户 -m setup

2) Ping模块

## 用来测试远程主机的运行状态

Ansible 用户 -m ping

3) Copy模块

复制文件到远程主机

示例:将本地文件“/etc/ansible/ansible.cfg”复制到远程服务器

Ansibles -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644"

4) Command模块

## 在远程主机上执行命令

相关选项如下:

ansible storm_cluster-m command -a "uptime"

5) Shell模块

## 切换到某个shell执行指定的指令,参数与command相同。

这个模块与script不同的是,首先要将写好的sh脚本分发到机组,再执行

与command不同的是,此模块可以支持命令管道,同时还有另一个模块也具备此功能:raw。

示例:

先在本地创建一个SHELL脚本

vim/tmp/rocketzhang_test.sh

将创建的脚本文件分发到远程

Ansible storm_cluster -m copy -a "src=/tmp/rocketzhang_test.shdest=/tmp/rocketzhang_test.sh owner=root group=root mode=0755"

远程执行

# ansible storm_cluster -m shell -a "/tmp/rocketzhang_test.sh"

6) Script模块

用script:模块可以实现到对象节点上执行本机脚本。有点类似copy+shell+删除copy的脚本的这样一个综合的功能。

ansible host32-m script -a /tmp/hello.sh

相关推荐

手机万能mp4转换器(手机万能mp4转换器下载)

1你需要先下载并安装一个叫格式工厂的软件。2然后打开->mp4。3点击添加文件的选项。4然后选择需要转换的视频,点击确定。5点击确定之后,再添加到转换列表中就可以。6再点...

迅雷beta官网(迅雷beta官方网)

若手机不能安装软件/游戏,建议:1.检查“未知来源”设置是否开启。2.查看下载的软件格式是否为机器所支持的。安卓系统手机支持的软件格式为.APK格式。3.下载软件时请阅读软件详情,查看是否对机器操作系...

私人家庭影院hd免费版游戏评测

《海上钢琴师》是由朱塞佩·托纳托雷执导,蒂姆·罗斯、比尔·努恩、梅兰尼·蒂埃里主演的剧情、音乐、爱情片。该片讲述了一个被命名为“1900”的弃婴在一艘远洋客轮上与钢琴结缘,成为钢琴大师的传奇故事。该片...

题库网(题库网站有哪些)

学科网的试卷有续费的和不需要交费的两类试卷,如果你是学科网的用户,可以下载试卷,还可以组卷,对于我们一线的老师来讲,这很方便的,只要学校肯出钱,在学科网前,全校的老师就可以注册免费试用学科,网上所有的...

类似迅雷的下载器有哪些(手机下载工具app)

推荐闪电下载和黑科技下载这两款APP手机上取代迅雷的下载器有闪电下载APP和黑科下载器APP等,以这两款为例,它们都是可以支持ed2k、磁力链等下载方式,也能够支持多种不同类似的文件的高速下载。、BT...

qq号申请免费注册官网(qq注册账号免费申请网址)

你好,通用的申请QQ号码的方法如下:1、首先打开腾讯官网。2、在腾讯页面左边的通信工具里面点击号码。3、点击号码以后就会进入QQ注册页面。4、进入QQ注册页面以后,在昵称后面输入要注册号码的名字。5、...

安卓安装windows(安卓安装apk解析包出错)

oppo手机支持安卓和Windows操作系统,但是双系统安装需要手机支持虚拟化技术(VT)。如果手机支持VT,可以在电脑上安装虚拟化软件,然后在手机上运行VT兼容的虚拟化应用程序,从而实现在电脑上安装...

安全中心下载(网易安全中心下载)

可以通过解除保护模式页面,查看QQ帐号进入保护模式的原因,及获取恢复QQ帐号正常使用的方法。点击小i,然后把自动登录选项去掉,打开safari,随便点一个网页,去登录。畅游经常这样抽风,可以关了游戏...

重装系统步骤(USB重装系统步骤)

正版的win10及以上系统,现在已经都自带系统重置功能,可以一键重置恢复到出厂设置。1.按住win+i,在弹出的windows设置对话框中,点击更新和安全选项,在弹出的设置对话框中,点击左侧的恢复选项...

qq群发软件手机版免费(qq群发软件安卓版免费下载)

分享一个可以免费试用的软件,“www.liaotiangou.com”在做微信营销的时候经常会需要使用到群发功能,出了多群群发之外,还有定时群发,甚至是定时发送朋友圈。多群群发可以解决以前最多只能群发...

小说排行榜2020前十名(耿美小说排行榜2020前十名)

1、元龙《元龙》是目前2020年哔哩哔哩国创动漫热门榜的第一名,讲述的是一名来自现代的王牌狙击手,穿越到了玄幻的元魂世界,从此展开的一系列热血的战斗与机遇,成为元魂世界的霸者的故事。2、灵笼《灵笼》是...

万能wifi密码查看器(wifi万能密码查看神器)

极速版Wifi的好。万能Wifi锁匙极速版的内存小,节约流量,操作简便,还可以连接手机在户外共享网络信息,是一款性价比很高的索要产品。不过要根据自己的实际情况做出正确的选择才好。首先需要一个安卓机,拿...

造梦西游5(造梦西游5论坛)

1、迅速做完主线任务和支线任务主线、支线任务存在于底部的【任务】里,要找对位置!任务上有【可接】两个字样,说明还没接受相应的任务!你看过一个【化世桥】就有接近10W的经验,何乐而不为,所以想尽快升级就...

office免费永久激活密钥(office免费永久激活密钥irm)

回答如下:Office2019永久激活密钥可以用于激活MicrosoftOffice2019产品,包括Word、Excel、PowerPoint、Outlook、Access、Publisher等...

可以加微信的交友软件(50至60岁交友微信群)

如果您想在寻爱APP中添加微信好友,可以按照以下步骤进行操作:1.打开寻爱APP,在APP主界面找到您想要添加好友的用户的信息。2.点击该用户的头像或昵称,进入该用户的详细资料页面。3.在详细资...

取消回复欢迎 发表评论: