linux高级篇基础理论十二( 自动化运维工具Ansible )

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

♥️作者:小刘在C站

♥️个人主页: 小刘主页 

♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。

♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术

♥️感谢CSDN让你我相遇!

目录

ansible是什么?

使用者

Ansible工具集

作用对象

Ansible初始环境

Ansible配置

ansible语法

Ansible返回结果

Ansible模块

1、shell模块

2、copy模块

3、hostname模块

4、yum模块

5、service模块

6、user模块


ansible是什么?

一款开源运维自动化工具,通过Ansible可以实现运维自动化,提高运维工程师的工作效率,减少人为的失误。Asbe通过本身集成的非常丰富的模块实现各种管理任务,其自带模块超过上千个。更为重要的是,它的操作非常简单,即使新手也比较容易上手,但它提供的功能却非常丰富,在运维领域,它几乎可以做任何事情。

ansible特点:

  • ansible基于python开发,对其二次开发较容易。
  • 有丰富的内置模块,可以满足一切需求。
  • 管理模式简单,一条命令可以影响上千台主机。
  • 无客户端模式,底层通过ssh通信

ansible不同角色

可以分为三个部分:使用者、Ansible工具集、作用对象。

使用者

Ansible使用者可以采用多种方式和Ansible交互,图中为我们展示了四种方式CDB:CMDB存储和管理着企业T架构中的各项配置信息,是构建TL项目的核心工具运维人员可以组合CMDB和Ansible,通过CDB直接下发指令调用Ansible工具集完成操作者所希望达到的目标。PUBLIC/PRIVATE方式:Ansible除了丰富的内置模块外,同时提供丰富的AP语言接口,如PHP、Python、PERL等多种流行语言,基于PUBLIC/PRIVATE,Ansible以AP调用的方式运行」Ad-Hoc命令集:Users直接通过Ad-Hoc命令集调用Ansible工具集来完成任务.laybooks:Users预先编写好Ansible Playbooks,通过执行Playbooks中预先编排好的任务集按序执行任务

工作原理:

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

Ansible工具集
  • Ansible Playbooks:任务脚本,编排定义Ansible任务集的配置文件,由Ansible按序依次执行通常是JSON格式的YML文件。
  • Inventory:Ansible管理主机清单。
  • Modules:Ansible执行命令功能模块,多数为内置的核心模块,也可以自定义。
  • Plugins:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用。
  • API:供第三方程序调用的应用程序编程接口。
  • Ansible:该部分图中表示得不明显,组合Inventory、APl.Modules,Plugins可以理解为是Ansible命令工具,其为核心执行工具。
作用对象

Ansible的作用对象不仅仅是Linux和非Linux操作系统的主机,也可以作用于各类PUBLIC/PRIVATE
商业和非商业设备的网络设施。使用者使用Ansible或Ansible--playbooks时,在服务器终端输入Ansible的Ad-Hoc命令集或Playbooks后,Ansible会遵循预先安排的规则将Playbooks逐步拆解为Play,再将Play组织成Ansible可以识别的任务,随后调用任务涉及的所有模块和插件,根Inventory中定义的主机列表通过SSH将任务集以临时文件或命令的形式传输到远程客户端执行并返回执行结果,如果是临时文件则执行完毕后自动删除。

Ansible初始环境

yum安装即可

yum -y install ansible

生成ssh秘钥对(三次交互全部回车即可)

ssh-keygen -t  rsa

复制公钥到服务器(192.168.1.1)

ssh-copy-id  root@192.168.1.1

Ansible配置

Ansible通过将设备列表以分组的方式添加到/etc/ansible/hosts文件来实现对设备的管理,所以
在正式管理之前,首先要编写hosts文件。hosts文件中,以[]包含的部分代表组名,设备列表支持
主机名和P地址,默认情况下,通过访问22端口(SSH)来管理设备。若目标主机使用了非默认的
SSH端口,还可以在主机名称之后使用冒号加端口号标明,以行为单位分隔配置。另外,hoss文件还支持通配符。

[web]                 #[web]为模块名称
192.168.8.136
192.168.8.139

只对web组中192.168.8.136主机操作。通过--|imit参数限定主机的变更

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

只对192.168.8.0网段主机操作。通过通配符限定主机的变更

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

ansible语法

Ansible <host-pattern>   [options]

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

检查所有主机是否存活。具体执行命令如下。

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

其中,192.168.8.139是执行的主机,SUCCESS表示命令执行成功,”=>{}表示返回的结果。”changed”:false表示没有对主机做出更改,”ping”:”pong”表示执行了ping命令的返回结果。命令中all关键字是系统默认存在的,代表了/etc/ansible/hosts中的所有主机,不需要在hosts文件中定义all关键字。

列出wb组所有的主机列表。执行命令如下。

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

批量显示web组中的磁盘使用空间,执行命令如下。

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

Ansible返回结果

Ansible的返回结果非常友好,一般会用三种颜色来表示执行结果:红色、绿色和橘黄色。其中红色表示执行过程有异常,橘黄色表示命令执行后目标有状态变化,绿色表示执行成功且没有对目
标机器做修改

Ansible模块

1、shell模块

Shell模块在远程主机执行命令,相当于调用远程主机的Shell进程,然后在该Shell下打开一个
子Shell运行命令。和command模块的区别是它支持Shell特性,如管道、重定向等。

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible


2、copy模块
  • dest:指出复制文件的目标目录位置,使用绝对路径。如果源是目录,则目标也要是目录如果目标文件已存在,会覆盖原有内容。
  • src:指出源文件的路径,可以使用相对路径和绝对路径,支持直接指定目录。如果源是目录,则目标也要是目录。
  • mode:指出复制时,目标文件的权限,可选。
  • owner:指出复制时,目标文件的属主,可选。
  • group指出复制时,目标文件的属组,可选。
  • content:指出复制到目标主机上的内容,不能与src一起使用,相当于复制content指明的数据到目标文件中。

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible


3、hostname模块

hostname模块用于管理远程主机上的主机名,常用参数如下。

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible


4、yum模块
  • yum模块基于yum机制,对远程主机管理程序包,常用参数如下。
  • name:程序包的名称,可以带上版本号。若不指明版本,则默认为最新版本。
  • state=present\latest\absent:指明对程序包执行的操作,present表示安装程序包,latest表示安装最新版本的程序包,absent表示卸载程序包。
  • disablerepo:在用yum安装时,临时禁用某个仓库的ID。
  • enablerepo:在用yum安装时,临时启用某个仓库的ID,
  • conf_file:yum运行时的配置文件,而不是使用默认的配置文件。
  • diable_gpg_check=yes/no:是否启用完整性校验功能。

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible


5、service模块
  • service模块为用来管理远程主机上的服务的模块,常见参数如下。
  • name:被管理的服务名称。
  • state-=started stopped restarted:动作包含启动,关闭或重启
  • enabled=yes no:表示是否设置该服务开机自启动。
  • runlevel:如果设定了enabled开机自启动,则要定义在哪些运行目标下自动启动

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible


6、user模块

user模块用于管理远程主机上的用户账号,常见参数如下。
name:必选参数,账号名称。
state=present\absent:创建账号或者删除账号,present表示创建,absent表示删除。
system=yes\no:是否为系统账号。,
uid:用户UID。
group:用户的基本组。
groups:用户的附加组。
shell:默认使用的shell。

home:用户的家目录
move_home=yes/no:如果设置的家目录已经存在,是否将已存在的家目录进行移动.
password:用户的密码,建议使用加密后的字符串。
comment:用户的注释信息。
remove=yes/no:当state=absent时,是否要删除用户的家目录。

创建用户示例如下:

linux高级篇基础理论十二( 自动化运维工具Ansible ),LINUX高级理论知识,运维,自动化,ansible

人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃!!!文章来源地址https://www.toymoban.com/news/detail-809531.html

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

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

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

相关文章

  • 分布式理论基础:BASE理论

    BASE 是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency),核心思想是即使无法做到强一致性(CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性。 分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。

    2024年02月04日
    浏览(45)
  • SQLserver基础入门理论(超基础)

    ♥️ 作者:小刘在C站 ♥️ 个人主页:  小刘主页  ♥️ 努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️ 学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏: 云计算技术 ♥️小刘私信可以随便问,只要会绝不吝啬,感谢CSD

    2024年02月10日
    浏览(53)
  • 数据库基础理论

    数据:描述事务的符号记录,包含但不限于数字、 文字、图形、图像、声音、语言等。数据有多重形式,它们都可以经过数字化后存入计算机。 数据库:数据仓库。是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和

    2024年01月21日
    浏览(49)
  • 微服务基础理论

    2014,微服务:架构风格(服务微化) 一个应用应该是一组小型服务;可以通过HTTP的方式进行互通; 对应的是过去的单体应用:ALL IN ONE 微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;(和ABB包想法有点儿像,进一步粒化。软件工程在原子化的方向上

    2024年02月15日
    浏览(42)
  • API安全基础理论

    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。通过淘宝API,就算不知道如何操作,也能将产品或服务与其他产品或服务进

    2024年02月13日
    浏览(49)
  • GraphSAGE的基础理论

    引入: GCN的缺点: 从大型网络中学习的困难 :GCN在嵌入训练期间需要所有节点的存在。这不允许批量训练模型。 推广到看不见的节点的困难 :GCN假设单个固定图,要求在一个确定的图中去学习顶点的embedding。但是,在许多实际应用中,需要快速生成看不见的节点的嵌入。

    2023年04月15日
    浏览(55)
  • SaaS 架构基础理论(一)

    《互联网时代的软件革命 SaaS架构设计》学习笔记 云计算提供的强大软硬件环境和基础服务,将逐渐成为支撑SaaS应用的基础设施。各个云计算平台所包含的大量具有自身特色的公共服务,将为SaaS应用的开发提供了丰富的资源。而统一整合各个云计算平台的公共服务,也成为

    2024年02月02日
    浏览(47)
  • 图论算法|深度优先搜索理论基础|797.所有可能的路径|广度优先搜索BFS理论基础|200. 岛屿数量

    dfs是可一个方向去搜,不到黄河不回头,直到遇到绝境了,搜不下去了,在换方向(换方向的过程就涉及到了回溯)。 递归和回溯是相辅相成的 https://leetcode.cn/problems/all-paths-from-source-to-target/ 有向无环图(DAG): 有环无向图是指在图中存在至少一个环(Cycle)的无向图。环是

    2024年02月15日
    浏览(60)
  • k8s基础理论

    1.核心对象 NameSpaces Pod ServiceAccount ReplicaSet Deployment service和ingress persistenvolume和persistenvolumeclaim 2.控制器 etcd apiserver controller manager scheduler kubelet kube-proxy 3.相关插件 容器运行时 网络插件 flannel calico 4.关于pod生命周期 pod创建过程 pod删除过程 pod的质量保证 pod的节点亲和性 pod的节

    2024年02月04日
    浏览(49)
  • 区块链原理与基础理论知识

    ​ 来源区块链 - 区块链基础知识 | Microsoft Learn,并结合自己的理解以及Chatgpt的帮助进行了梳理和改进,使其更易读和理解。 早在 1999 年,文件共享网络 Napster 就出现了,可方便用户在混合对等网络(之所以使用“混合”一词是因为它使用了中央目录服务器)上轻松共享音频

    2024年02月06日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包