02 2025 档案
摘要:在某些场景下,在任务执行报错时,需要忽略错误而继续执行,但是ansible在遇到报错后,就会停止运行。 比如,在安装jdk时,需要检测jdk是否安装,如果没找到java命令,则进行安装,但是which java如果没找到命令,ansible直接抛出错误,停止运行。 在使用ignore_errors:
阅读全文
摘要:目录结构 [root@master-1 roles]# tree roles/es_cluster/ roles/es_cluster/ ├── defaults │ └── main.yml ├── files │ ├── elastic-certificates.p12 │ ├── elasti
阅读全文
摘要:集群规划 此role 模拟3台节点,每个节点运行两个redis,共计6节点。 仓库地址 github: 目录结构 创建redis_cluster roles ansible-galaxy init redis_cluster roles/redis_cluster/ ├── defaults │ └
阅读全文
摘要:在 Ansible 中,register 用于 存储任务的输出结果,以便后续任务可以引用或使用这个结果。它是 Playbook 中的一个关键功能,特别适用于需要条件判断或依赖上一步执行结果的场景。 如何查看模块返回的字段信息 1. debug: var=变量名 直接查看 register 变量。 -
阅读全文
摘要:在 Ansible roles 目录结构中,tests/ 目录主要用于测试该角色是否可以正确运行,确保它能在不同环境中顺利执行。 tests/ 目录的内容 在你的 tests/ 目录下,有两个文件: inventory 这个文件通常定义了测试环境中的主机(类似 hosts 文件)。 [test_se
阅读全文
摘要:Jinja2 在 Ansible 中的模板渲染功能非常强大,支持条件判断 (if)、循环 (for)、过滤器 (filters)、宏 (macros)、变量 (set)、以及包含 (include) 等流程控制机制。以下是更详细的介绍,并配有示例和参数解析。 1. 条件判断 (if 语句) Jinj
阅读全文
摘要:systemd管理服务的目录:/usr/lib/systemd/system [root@node-2 ~]# cat /usr/lib/systemd/system/nginx.service [Unit] Description=Nginx Web Server After=network.ta
阅读全文
摘要:loop介绍 在 Ansible 中,loop(循环)用于 批量执行任务,避免重复编写相同的任务代码,适用于 文件管理、用户管理、软件安装等 场景。 1. 循环创建用户 - name: 创建多个用户 ansible.builtin.user: name: "{{ item }}" state: pr
阅读全文
摘要:Inventory(清单文件) 是 Ansible 用来定义和管理受控主机(被管节点)的配置文件。它告诉 Ansible 哪些服务器需要管理 以及 如何连接这些服务器。 1. Inventory 文件格式 Inventory 文件可以使用 INI 格式(常见)或 YAML 格式(更复杂,适用于动态
阅读全文
摘要:Ansible 变量支持算术运算、字符串拼接、列表操作、条件判断等,主要通过 Jinja2 模板引擎处理。 1. 基本算术运算 Ansible 变量可以直接进行数值计算。 - hosts: localhost gather_facts: no vars: a: 10 b: 3 tasks: - de
阅读全文
摘要:Ansible roles 是一种组织和管理 Ansible 任务的方式,提供了一种结构化的方法来编写可复用的自动化代码。它将 Playbook 里的各种元素(tasks、handlers、templates、files、vars 等)进行模块化拆分,使配置更加清晰、易维护和复用。 Ansible
阅读全文
摘要:$# 用于计算用户传递给脚本或函数的参数总数 if [ $# -lt 5 ];then echo "usage $0 <aaa> <bbb> <ccc> <ddd> <eee>" exit fi ADM=$1 ADM_PW=$2 DIST_ID=$3 INPUT_FILE=$4 LOG_FILE=$
阅读全文

浙公网安备 33010602011771号