ansible - 如何将角色和模板整合到同一个剧本中
问题描述
我需要使用一个名为 vcommander 的配置工具,看起来这个工具只支持在配置的主机上本地运行 ansible,你只需要为他提供运行的剧本。
我已经有工作的 ansible 角色,其中包括任务和模板,例如 ntp 角色看起来像下面这样:
ls -1 roles/ntp/
defaults
LICENSE
meta
README.md
tasks
templates
主要任务如下所示:
cat roles/ntp/tasks/main.yml
---
- name: "Configure ntp.conf"
template:
src: "ntp.conf.j2"
dest: "/etc/ntp.conf"
mode: "0644"
become: True
- name: Updating time zone
shell: tzdata-update
- name: Ensure NTP-related packages are installed.
package:
name: ntp
state: present
- name: Ensure NTP is running and enabled as configured.
service:
name: ntpd
state: started
enabled: yes
模板如下所示:
cat roles/ntp/templates/ntp.conf.j2
{{ ansible_managed }}
restrict 127.0.0.1
restrict -6 ::1
server 127.127.1.0
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys
有没有办法将 main.yml 和 ntp.conf.j2 (模板)以及角色中包含的其他文件包含到一个 yml 文件中?请举个例子。
解决方案
您是否要求将您的 ntp 角色应用于的剧本localhost
?
它看起来像这样:
cat playbook.yml
- hosts: localhost
roles:
- ntp
请参阅文档:https ://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html#using-roles
推荐阅读
- spring - SocketTimeoutException:springboot 应用程序的连接超时
- python - 将逐个元素的“系列”附加到现有的“系列”列表中
- google-sheets - 来自多个工作表的 Google 表格复杂数组
- r - 面板数据的增量总和
- kotlin - 如何在 IntelliJ IDEA 中截断堆栈跟踪输出?
- firebase - 我可以使用 Firebase 云制定计划吗
- javascript - Discord.js 错误:它正在删除整个数组。Quick.db 和 discord.js
- angular - 如何在有角度但使用客户端凭据授予流程的情况下使用 azure 服务?
- pandas-bokeh - 散景代码打开弹出窗口,在按钮单击时显示数据表
- database - 什么是 Sybase/Officewyse/SQLanywhere 主客户端?