playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作的编排

2024-08-20 16:04

本文主要是介绍playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作的编排,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

playbook(剧本):

是ansible⽤于配置,部署,和管理被控节点的剧本。⽤ 于ansible操作的编排。

使⽤的格式为yaml格式

一、YMAL格式
以.yaml或.yml结尾 ⽂件的第⼀⾏以 "---"开始,表明YMAL⽂件的开始(可选的)

以#号开头为注释

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

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

二、playbook基本应用
第1步: 创建⼀个存放playbook的⽬录(路径⾃定义)

mkdir /etc/ansible/playbook

第2步: 准备httpd配置⽂件,并修改成你想要的配置

安装httpd

yum -y install httpd

启动httpd服务

systemctl start httpd

可根据需求对下面配置文件进行修改

vim /etc/httpd/conf/httpd.conf

第3步:修改hosts文件

[root@mo ~]#vim /etc/ansible/hosts
s0 ansible_ssh_host=192.168.1.25 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=1
s1 ansible_ssh_host=192.168.1.26 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=1
s2 ansible_ssh_host=192.168.1.27 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass=1
[s]
s0
s1
s2

第4步: 写⼀个playbook⽂件(后缀为.yml或.yaml)

[root@mo ~]# vim test001.yml

第5步: 执⾏写好的palybook

[root@mo ~]#ansible-playbook ./test001.yml

会显示出执⾏的过程,并且执⾏的每⼀步都有ok,changed,failed等标识

执⾏如果有错误(failed)会回滚,解决问题后,直接再执⾏这条命令即可,并会把failed改为changed(幂等性)

三、playbook常⻅语法
hosts:

⽤于指定要执⾏任务的主机,其可以是⼀个或多个由冒号分隔主机组.

remote_user:

⽤于指定远程主机上的执⾏任务的⽤户.

tasks:

任务列表, 按顺序执⾏任务.

handlers:

类似task,但需要使⽤notify通知调⽤。

注:不管有多少个通知者进⾏了notify,等到play中的所有task执⾏完成之后,handlers也只会被执⾏⼀次.

handlers最佳的应⽤场景是⽤来重启服务,或者触发系统重启操作.除此以外很少⽤到了.

nfs相关配置

安装nfs

yum -y install nfs-utils

创建挂载目录

mkdir /nfs

挂载

mount -t nfs 192.168.1.25:/static /nfs/

验证:

[root@dd ~]# systemctl status nfs

[root@dd ~]# systemctl status rpcbind

卸载nfs

ansible s -m yum -a 'name=nfs-utils state=absent'

四、playbook编排vsftpd

[root@mo ~]# vim test001.yml

执行文件

[root@mo ~]#ansible-playbook ./test001.yml

五、修改httpd端口并测试

修改httpd的端⼝为8080,再执⾏playbook测试

编辑yml文件

[root@mo ~]# vim test002.yml

执行文件

[root@mo ~]#ansible-playbook ./test002.yml

六、playbook编排多个hosts任务

编辑yml文件

[root@mo ~]# vim test002.yml

执行文件

[root@mo ~]#ansible-playbook ./test002.yml

七、编排nfs搭建与客户端挂载
1.准备nfs配置文件

[root@mo ~]# vim /etc/exports

/static *(ro,sync)

2,.编写yml编排⽂件

[root@mo ~]# vim test003.yml

3.执行playbook

[root@mo ~]# ansible-playbook ./test003.yml

这篇关于playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作的编排的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090531

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、