当前位置: 首页 > news >正文

Ansible配置文件

# /etc/ansible/有以下三个文件或者目录生成ansible.cfg # Ansible配置文件hosts # 主机清单配置文件roles # 角色定义目录

一、Ansible配置文件优先级

Ansible配置以ini格式存储配置数据,在Ansible中几乎所有配置都可以通过Ansible的Playbook或环境变量来重新赋值。在运行Ansible命令时,命令将会按照以下顺序查找配置文件。 优先级由高到低: 首先,Ansible命令会检查环境变量,及这个环境变量指向的配置文件。export ANSIBLE_CONFIG=/PATH 其次,将会检查当前目录下的ansible.cfg配置文件。./ansible.cfg 再次,将会检查当前用户家目录下的.ansible.cfg配置文件。~/.ansible.cfg 最后,将会检查在用软件包管理工具安装Ansible时自动产生的配置文件,即默认的配置文件。/etc/ansible/ansible.cfg

二、主配置文件/etc/ansible/ansible.cfg解析

[defaults] # 默认配置inventory=/home/student/ansible/inventory # 主机列表配置文件forks=5 # 默认并发数remote_port=22 # 远程端口号remote_user=student # 连接的时候使用什么用户进行连接roles_path=/home/student/ansible/roles # 角色定义目录host_key_checking=False # 设置是否检查SSH主机的密钥,值为True/False。关闭后第一次连接不会提示配置实例collections_path=/home/student/ansible/collections # 定义集合的路径,第三方模块通常安装在此目录下​[privilege_escalation] # 定义对受管主机指向特权升级,默认普通用户是没有权限来执行Ansible任务的,但是我们可以给普通用户提权,让它有权限去执行Ansible任务become=Truebecome_method=sudobecome_user=rootbecome_ask_pass=False​# 以下三个里面的内容用于优化与受管主机的连接[paramiko_connection][ssh_connection][accelerate]​[selinux] # 定义如何配置selinux交互

三、主机清单

清单定义Ansible将要管理的一批主机。这些主机也可以分配到组中,以进行集中管理。组可以包含子组,主机也可以是多个组的成员。清单还可以设置应用到它所定义的主机和组的变量。 可以通过两种方式定义主机清单。静态主机清单可以通过文本文件来定义。动态主机清单可以根据需要使用外部信息提供程序通过脚本或者其他程序来生成。

# 例1,不分组vim /home/student/ansible/inventorynode1node2node3node4node5# 例2,分组vim /home/student/ansible/inventory[web]node1node2node3​[server]node3node4node5​# 例3,分组,包含子组[web]node1node2node3​[server]node3node4node5​[webservers:children]web # web组为webservers组的子组
# 查看所有的受控主机ansible all -i hosts --list-hosts # -i后面的hosts指的是主机清单的文件名​# 查看某组中包含哪些受控主机ansible server1 -i hosts --list-hosts # server1指的是组的名称

注意:Ansible命令必须在/home/student/ansible目录下执行,即你修改的配置文件ansible.cfg的同一目录中执行。

四、练习

创建/home/student/ansible/inventory的静态清单文件,以满足以下需求:

node1是dev主机组的成员

node2是test主机组的成员

node3是prod主机组的成员

prod组是webservers主机组的成员

vim /home/student/ansible/inventory​[dev]node1​[test]node2​[prod]node3​[webservers:children]prod
http://www.dtcms.com/a/351304.html

相关文章:

  • 2025第五届人工智能、自动化与高性能计算国际会议 (AIAHPC 2025)
  • YUM配置
  • 适配欧拉操作系统
  • 高频面试题:说一下线程池吧?(线程池原理,核心参数,创建方式,应用场景都要说到才能让面试官心服口服)
  • 什么是AQS?
  • Xposed框架实战指南:从原理到你的第一个模块
  • R语言使用随机森林对数据进行插补
  • 【Java基础】Java数据结构深度解析:Array、ArrayList与LinkedList的对比与实践
  • 【HarmonyOS NEXT】打包鸿蒙应用并发布到应用市场
  • 构建生产级 RAG 系统:从数据处理到智能体(Agent)的全流程深度解析
  • Linux 网络数据收发全栈工具书:从 nc、socat 到 iperf3 的 Buildroot 路径与跨平台实战
  • 开心实习之第三十二天
  • Python爬虫实战:Uiautomator2 详解与应用场景
  • Android SystemServer 系列专题【篇四:SystemServerInitThreadPool线程池管理】
  • android 事件分发源码分析
  • STL库——vector(类函数学习)
  • 【51单片机】萌新持续学习中《矩阵 密码锁 点阵屏》
  • 矩阵初等变换的几何含义
  • 血缘元数据采集开放标准:OpenLineage Integrations Apache Spark Configuration Usage
  • 重写BeanFactory初始化方法并行加载Bean
  • 信息网络安全视角下的在线问卷调查系统设计与实践(国内问卷调查)
  • 记一个Mudbus TCP 帮助类
  • Linux 内核 Workqueue 原理与实现及其在 KFD SVM功能的应用
  • LeetCode - 844. 比较含退格的字符串
  • LeetCode 438. 找到字符串中所有的字母异位词
  • 微算法科技(NASDAQ:MLGO)通过修改 Grover 算法在可重构硬件上实现动态多模式搜索
  • LeetCode - 946. 验证栈序列
  • 智慧园区:从技术赋能到价值重构,解锁园区运营新范式
  • 透视光合组织大会:算力生态重构金融AI落地新实践
  • 亚马逊类目合规风暴:高压清洗机品类整顿背后的运营重构与风险防御