首页 > 其他分享 >ansible-playbook简单了解

ansible-playbook简单了解

时间:2023-09-14 10:12:58浏览次数:31  
标签:98.52 ## ansible hosts playbook 简单 example

1.playbook简介

playbook是ansible用于配置,部署,和管理节点的剧本。

2.playbook格式

playbook由YAML语言编写。

3.playbook执行过程

1.将以编排好的任务集(ansible 单条命令集合)写进playbook

2.通过ansible-playbook命令分拆任务集逐条执行ansible命令,按预定规则逐条执行

4.playbook组件

hosts:运行执行任务(task)的目标主机
remote_user:在远程主机上执行任务的用户
tasks:任务,由模板定义的操作列表
handlers:任务,与tasks不同的是只有在接受到通知(notify)时才会被触发
templates:模板,使用模板语言的文本文件,使用jinja2语法。
variables:变量,变量替换{{ variable_name }}
roles:角色

5.playbook简单例子

5.1 查看ansible主机列表

[root@localhost home]# cat /etc/ansible/hosts 
# This is the default ansible 'hosts' file.
#
# It should live in /etc/ansible/hosts
#
#   - Comments begin with the '#' character
#   - Blank lines are ignored
#   - Groups of hosts are delimited by [header] elements
#   - You can enter hostnames or ip addresses
#   - A hostname/ip can be a member of multiple groups

# Ex 1: Ungrouped hosts, specify before any group headers.

## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10
192.168.235.147


# Ex 2: A collection of hosts belonging to the 'webservers' group

[webservers]
## alpha.example.org
## beta.example.org
## 192.168.1.100
## 192.168.1.110
43.143.98.52

# If you have multiple hosts following a pattern you can specify
# them like this:

## www[001:006].example.com

# Ex 3: A collection of database servers in the 'dbservers' group

## [dbservers]
## 
## db01.intranet.mydomain.net
## db02.intranet.mydomain.net
## 10.25.1.56
## 10.25.1.57

# Here's another example of host ranges, this time there are no
# leading 0s:

## db-[99:101]-node.example.com
View Code

5.2 查看用yaml编写好的ansible-playbook剧本test.yml

[root@localhost home]# cat test.yml 
#---文档开始的符号
---
#hosts 指定哪些主机执行tasks
- hosts: webservers
#remote_user 指定执行远程执行ansible模块的用户
  remote_user: root
  # 定义任务列表
  tasks:
#name 描述task任务说明
    - name: create a newfile
#file ansible模块,创建一个new-test-file文件
      file: name=/home/new-test-file state=touch
...

5.3 测试playbook执行效果。ansible-playbook -C test.yml 

[root@localhost home]# ansible-playbook -C test.yml 

PLAY [webservers] ***********************************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************************************************************************************************************************************
ok: [43.143.98.52]

TASK [create a newfile] *****************************************************************************************************************************************************************************************************************************************************************
ok: [43.143.98.52]

PLAY RECAP ******************************************************************************************************************************************************************************************************************************************************************************
43.143.98.52               : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

5.4 执行ansible-playbook

[root@localhost home]# ansible-playbook test.yml 

PLAY [webservers] ***********************************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************************************************************************************************************************************
ok: [43.143.98.52]

TASK [create a newfile] *****************************************************************************************************************************************************************************************************************************************************************
changed: [43.143.98.52]

PLAY RECAP ******************************************************************************************************************************************************************************************************************************************************************************
43.143.98.52               : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

 

标签:98.52,##,ansible,hosts,playbook,简单,example
From: https://www.cnblogs.com/joyware/p/17701764.html

相关文章

  • 数据响应的简单实现
    JavaScript数据响应是一种重要的前端开发概念,是指在应用程序中的数据发生变化时,能够自动更新与这些数据相关的用户界面(UI)部分的能力,它有助于构建交互性强、用户体验良好的Web应用程序。我们来总结一下目前可以简单实现JavaScript中的数据响应的方法。使用框架像Vue.js和......
  • terraform简单的开始-安装和一些配置
    terraform的安装:官方下载:浏览器打开terraform官方主页https://www.terraform.io/点击DownloadTerraform跳转到程序下载页面:找到自己对应的操作系统,按照操作系统选择安装terraform的方式:linux为例:我有一台rockylinux工作主机也是直接参照官方文档安装的:terraform--v......
  • spring-websocket 简单使用
    之前自己基于netty实现了websocket协议,实现单聊以及群聊。这里记录下spring封装的spring-websocket使用方式。1.后端1.pom<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation......
  • flask 简单设置日志文件配置
    最近做了几个模型,需要配置接口提供使用,这时候就用到了日志系统首先创建一个logs.py文件,在文件中配置日志等级、保存路径、日志文件大小、日志输出格式importosimportloggingfromlogging.handlersimportRotatingFileHandler#获取当前绝对路径defget_cwd():r......
  • Java多线程____一个简单的多线程demo
    1.实现runnable接口实现功能性解耦 packagecom.test.thread;publicclassTestRunnableimplementsRunnable{ @Override publicvoidrun(){ for(inti=0;i<20;i++){ System.out.println(Thread.currentThread().getName()); } }}packagecom.test.thre......
  • ansible-yaml基本了解
    1.yaml了解YAML是"YAMLAin’taMarkupLanguage"(YAML不是一种标记语言)的递归缩写;是一个可读性高,用来表达数据序列化的格式。YAML的应用场景:SpringBoot的配置文件,ansible0playbook构建指令。2.yaml规则1.大小写敏感;2.使用缩进代表层级关系,缩进只能使用空格,不能使用TAB,不要......
  • RBAC教程()简单的RBAC权限管理框架
    一.RBAC简介基于角色的访问控制RBAC的权限管理,基于角色的访问控制(Role-BasedAccessControl),在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。最后的结果就是不同的用户登录系统会看到不同的功能,也就是菜单。二.简单结构图 ......
  • Ansible学习笔记04:ansible命令选项 主机组参数
    Ansible命令选项在之前的笔记中,使用了这样的一条命令ansibletest-mping,使用ping模块对主机组test中的受控机进行测试。ansibile使用ssh在这条命令中没有指定ssh的端口密码用户名,因为在之前配置中,做了ssh互信,端口与用户名写在了ansible配置文件中。如果需要使用其他账号、密码......
  • Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法
    目录命令行脚本参考-bat命令行脚本参考-bash值得学习的知识点1.识别终端使用的语言2.函数的编写3.获取用户的输入4.bat文件老是乱码怎么办有时候为了方便别人使用,我们会选择去编写各种各样的命令行脚本:给Windows用户编写.batcmd批处理脚本,给macOS、Linux用户编写.shbas......
  • Unity 游戏开发、02 基础篇 | 知识补充、简单使用动画、动画状态机
    前置笔记(由浅入深)Unity游戏开发、01基础篇2场景操作3D场景Q手型工具(鼠标中键):上下左右移动场景ALT+鼠标左键:以视图为中心旋转鼠标右键:以观察者为中心旋转SHIFT+Gizmo方块:Y轴归位物体节点+F:观察者定位至物体窗口布局3D项目一般窗口布局如下3全局光照全......