playbook基本命令和tasks

playbook

一个playbook中有多个play,
一个play下有多个task.
一个tasks不能有多个同模块(会覆盖),多个同模块应使用loop循环.

playbook提高运行效率

在playbook中设置gather_facts: False来提高playbook效率.


playbook基本命令

在这里插入图片描述

  • 语法检查 --syntax-check
  • 只检查 -C
  • 列出运行任务的主机 --list-hosts
  • 列出tag --list-tags
  • 列出task --list-tasks
  • 只针对主机列表中的主机执行 --limit
  • 详细显示
    • v 会列出task的结果
    • vv 会列出task的结果和配置文件(生产环境用的最多的)
    • vvv 把(ssh)连接的信息和被管理主机都列出来
    • vvvv 会把插件,被管理主机上使用的用户,运行的脚本都列出来

playbook指定主机运行

可以限定主机运行剧本

# 只针对serverc主机运行test.yml
ansible-playbook --limit= serverc test.yml

playbook的注意点

playbook是一个yaml文件,文件不可以使用tab,只能使用空格.
编写playbook时要注意,多个play要平级,多个task要平级.
如果平级,缩进要一样.

层级结构: play>task>module


配置vim的yaml格式

参考: https://kknews.cc/code/gr4n8x8.html

配置在vim中按下tab自动转换成2个空格

# 创建vimrc
vim ~/.vimrc

# 插入yaml配置
## ai = auto indent 自动退格对齐
## ts=tabstop,即一个tab的宽带设定为2个空格
## sw=shiftwidth,即退格对齐以两个空格为准
## et=expandtab,将tab转换位空格
autocmd FileType yaml setlocal ai ts=2 sw=2 et
 
# 配置完下次会直接生效

检查文件中是否有tab

在这里插入图片描述
cat命令的-A参数可以查看文件是否含有tab

cat 文件名 -A

多paly及play使用额外属性示例

当一个play文件对多个主机执行操作不同tasks时,可以在同一文件中创建多个play。
不同的play也可以使用不同的user

---
- name: play1示例user1用户对主机a安装httpd
  hosts: servera
  remote_user: user1	# paly1使用远程用户user1操作
  become: yes			# 允许提权
  become_method: sudo	# 提权方法是sudo
  become_user: admin	# 提权到admin用户
  tasks:
    - name: 安装httpd
      yum:
        name: httpd

- name: play2示例使用user2用户对主机b安装apache2
  hosts: serverb
  remote_user: user2	# paly2使用user2
  tasks:
    - name: 安装apache2
      yum:
        name: apache2

多tasks示例

多tasks要使用block
在这里插入图片描述

查看yml中的tasks列表
[student@workstation tasks]$ ansible-playbook inpalybook.yml --list-tasks

playbook: inpalybook.yml

  play #1 (servers): 安装web服务器	TAGS: []
    tasks:
      安装httpdpkg	TAGS: []
      开启httpd服务	TAGS: []
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ansible是一种自动化工具,可以用于配置和管理远程服务器。Ansible PlaybookAnsible的一种配置文件格式,用于定义一系列任务和配置项,以便自动化执行。 要使用Ansible Playbook配置Jenkins,可以按照以下步骤进行操作: 1. 安装Ansible:首先,需要在本地机器上安装Ansible。可以通过在终端运行以下命令来安装Ansible: ``` $ pip install ansible ``` 2. 创建Ansible Playbook:创建一个新的YAML文件,例如`jenkins.yml`,并在其中定义Jenkins的配置项和任务。以下是一个示例Playbook基本结构: ```yaml --- - name: Configure Jenkins hosts: jenkins_server tasks: - name: Install Jenkins apt: name: jenkins state: present - name: Start Jenkins service service: name: jenkins state: started ``` 在上面的示例中,我们定义了一个名为"Configure Jenkins"的Playbook,它将在名为"jenkins_server"的主机上执行任务。任务包括安装Jenkins和启动Jenkins服务。 3. 配置主机:在Ansible中,需要将目标主机添加到主机清单文件中。可以创建一个名为`hosts`的文件,并在其中指定Jenkins服务器的IP地址或主机名。例如: ``` [jenkins_server] 192.168.1.100 ``` 4. 运行Ansible Playbook:使用`ansible-playbook`命令来运行Ansible Playbook。在终端中,切换到包含Playbook文件的目录,并运行以下命令: ``` $ ansible-playbook -i hosts jenkins.yml ``` 上述命令将使用指定的主机清单文件`hosts`和Playbook文件`jenkins.yml`来配置Jenkins服务器。 这样,Ansible将自动连接到Jenkins服务器,并执行定义的任务,以安装和配置Jenkins。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

识途老码

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值