【Ansible】将文件部署到受管主机知识点

1. 常用文件模块有哪些?

**答:**ansible.builtin中的常用文件模块:

-blockinfile:插入、更新或删除由可自定义标记线包围的多行文本块。

-copy:将文件从本地或远程计算机复制到受管主机上的某个位置。与file模块一样,copy模块还可以设置文件属性,包括SELinux上下文。

-fetch:此模块的作用和copy模块类似,但以相反方式工作。此模块用于从远程计算机获取文件到控制节点,并将它们存储在按主机名组织的文件树中。

-file:设置权限、所有权、SELinux上下文以及常规文件、符号链接、硬链接和目录的时间戳等属性。此模块还可以创建或删除常规文件、符号链接、硬链接和目录。其他多个与文件相关的模块支持与f1ile模块相同的属性设置选项,包括copy模块。

-lineinfile:此模块可以在更改文件中的某一行时使用。

-stat:检索文件的状态信息,类似于Linux stat命令。

ansib le.posix中的常用文件模块:

-patch:通过GNU patch将补丁应用到文件。

-synchronize:围绕rsync命令的打包程序可加快和简化常见任务。

2.模块有哪些用例?

**答:**ansible.builtin.file模块用于确保受管主机上存在文件,如果不存在则创建一个空文件,如果存在,则更新其修改时间;

ansible.builtin.file模块用于修改文件属性,确保新的或现有的文件具有正确的权限和SELinux类型;

ansible.builtin.copy模块用于将控制节点上Ansible工作目录中的文件复制到选定的受管主机;

ansible.builtin.fetch模块用于从受管主机检索文件;

lineinfile模块用于确保现有文件中存在特定的单行文本;

ansible.buitin.blockinfile模块用于将文本块添加到现有文件;

使用ansible.builtin.file模块和state:absent 参数从受管主机中删除文件;

ansible.builtin.stat模块用于检索受管主机上的文件状态,检索文件的事实,类似于Linux stat命令;

ansible.posix.synchronize模块用于同步控制节点和受管主机之间的文件,包括同步目录。

3.什么是Jinja2模板?

**答:**Jinja2 模板是动态自定义文件部署,通过动态逻辑(变量、条件、循环)实现文件的个性化生成,以.j2为文件扩展名。

Jinja2模板由多个元素组成有数据、变量和表达式。在呈现Jinja2模板时,这些变量和表达式被替换为对应的值。模板中通过{{变量名}}引用变量,使用的变量可以在playbook的vars部分中指定。可以将受管主机的事实用作模板中的变量。

4.Jinja2 核心语法与用法

答:循环语句:通过{% for 元素 in 列表 %}...{% endfor %}遍历列表生成重复内容(如配置文件中的多个模块、节点)。

条件判断:通过{% if 条件 %}...{% elif 条件 %}...{% else %}...{% endif %}实现基于变量的动态内容生成。

5. .Jinja2 过滤器

**答:**通过 | 使用过滤器对变量进行处理(格式化、转换等),如

to_json:筛选条件使用JSON格式化表达式输出,{{output I to_json 3}}

to_yaml:筛选条件则使用YAML格式化表达式输出,{{output | to_yaml}}。

相关推荐
孔令飞9 小时前
很多人想学AI Infra,今天推荐一个 AI Agent / AI Infra 学习路线
云原生·go·ai编程
Z21-X10 小时前
云原生运维实战笔记:华为云存储类服务全景解析——EVS、OBS、SFS与CBR深度实践
运维·笔记·学习·云原生·华为云
分布式存储与RustFS11 小时前
K8s 集群备份落到自建对象存储:Velero 接 RustFS 配置指南
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
螺蛳粉 螺蛳粉21 小时前
第 05 篇:etcd 深入:Raft 共识、watch 机制与快照备份恢复实战(底座认知 05)
docker·云原生·容器·kubernetes·etcd·分布式存储·kube-apiserver
知已难寻1 天前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
n112121 天前
Ollama 接 Open WebUI 中文界面:我踩的 4 个坑
云原生·eureka·ollama·本地大模型·open webui·私有部署·中文界面
阿里云云原生1 天前
用户说 App“下不了单”:用 Session Replay 看清流程卡在哪一步
云原生
阿里云云原生1 天前
运维走出控制台:阿里云 AgentCore AI Native 运维实践
云原生
SelectDB技术团队1 天前
Apache Doris 异步物化视图与 Snowflake MV / Dynamic Tables 工程化对照
云原生·私有化部署·olap·实时数仓·apache doris·国产化替代·异步物化视图
分布式存储与RustFS1 天前
可观测性数据落进对象存储:Proscia 案例拆解与 ClickHouse 自托管配置
运维·云原生·开源·对象存储·分布式存储·s3·性能基准