5.Ansible服务

5.Ansible服务,第1张

主机清单配置:

分组执⾏测试命令

两种⽅法:

主机清单配置:

测试命令:

主机清单配置:

测试命令:

⽅法1: 修改主机清单配置:

前提条件,需要提前把主机信息加⼊到know_host⽂件⾥

⽅法2: 修改ansible配置⽂件,打开取消认证的注释

测试命令:

主机清单配置:

测试命令:

主机清单配置:

测试命令:

命令解释:

执⾏命令:

命令解释:

执⾏命令:

命令解释:

执⾏命令:

命令解释:

简单发送⽂件:

发送⽂件的同时指定⽂件权限和属性:属于>

==============================================================

ansible 主机信息(可以是组) -m 模块名称 -a "完成动作"

举例:

在ansible中 使用ansible-doc <模块名称> 来查看单独模块用法

常用参数

官方模块说明: >

需要重新下载。

AnsibleInventory是包含静态Inventory和动态Inventory两部分的,静态Inventory指的是在文件中指定的主机和组,动态Inventory指通过外部脚本获取主机列表,并按照ansible所要求的格式返回给ansilbe命令的这部分一般会结合CMDB资管系统、云计算平台等获取主机信息由于主机资源一般会动态的进行增减,而这些系统一般会智能更新我们可以通过这些工具提供的API或者接入库查询等方式返回主机列表。

在执行kolla_ansible部署openstack之前,提前拉取镜像显得很有必要。

背景:

当一个服务有多块磁盘的时候,我们需要对系统上磁盘进行分区,可是格式化。如果磁盘多,服务器多 *** 作起来非常麻烦 。

下面这个列子就是获取机器上所有sd的磁盘并进行分区。

(注意:这里有一个bug是,如果机器上有没有分区,直接格式化磁盘一定不要用了。解释下:“正常的一块磁盘比如/dev/sdd。要先分区,删除一个额外的块设备/de/sdd1。然后对这个sdd1进行mkfs。有的人偷懒。直接对/dev/sdd进行mkfs。然后挂载就会变成/dev/sdd 没有分区编号” 再执行这个task就会对这个磁盘重新进行分区。后果就是原来的磁盘的数据都丢了 )

逐步分析:

with_dict: "{{ ansible_device_linksids }}"

这步就是通过fact获取机器上的磁盘信息。

元数据大概是这样的

通过ansible_device_linksids 这个变量能直接获取到磁盘相关的字典表。然后实用with_dict 直接循环ansible_device_linksids 字典变量。得到类似这样的数据格式

我们只要获取key即可得到想要的磁盘编号信息。

但是key会有已经分区过的磁盘编号,比如第二条sdx3 类似这种。

对itemkey 进行过滤。后面的表达式为真的继续执行。

表达式的意思sd两个字母后面是b到w结尾。

因为我已经已知sda 和sdx 不是我想要的磁盘。

面playbook 实现功能新增用户:

name参数该playbook实现功能做概述面执行程打印 name变量值 ;

hosts参数指定哪些主机进行参作;

user参数指定使用用户登录远程主机 *** 作;

gather_facts参数指定任务部执行前否先执行setup模块获取主机相关信息面task使用setup获取信息用;

vars参数指定变量指字user变量其值test 需要注意变量值定要用引号引住;

task指定任务其面name参数同任务描述执行程打印user提定调用user模块nameuser模块参数增加用户名字调用面user变量值

Ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。

Ansible的优点

不需要安装客户端,不需要运行服务

使用python开发的一套自动执行任务的模块

playbook采用yaml配置,结构清晰

Ansible的组成结构

Ansible:核心命令工具,一次性或临时性执行的 *** 作都由该工具执行

Ansible playbook:任务剧本(又称任务集),编排定义Ansible任务集的配置文件,由Ansible执行,格式是yaml

Inventory:Ansible管理的主机,在/etc/ansible/hosts中配置

Modules:Ansible执行命令的功能模块,Ansible23版本为止,共有1039个模块。还可以自定义模块。

Plugins:插件,模块功能的补充,常有连接类型插件,循环插件,变量插件,过滤插件,插件功能用的较少。

API:提供给第三方程序调用的应用程序编程接口。

以上就是关于5.Ansible服务全部的内容,包括:5.Ansible服务、ansible 内置参数、ansible模板等使用方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9697093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)