惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
Netflix TechBlog - Medium
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
V
V2EX
IT之家
IT之家
J
Java Code Geeks
Hacker News - Newest:
Hacker News - Newest: "LLM"
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
GbyAI
GbyAI
D
Docker
S
Secure Thoughts
Recent Announcements
Recent Announcements
Webroot Blog
Webroot Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
博客园_首页
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Security Archives - TechRepublic
Security Archives - TechRepublic
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News | PayPal Newsroom
S
Security @ Cisco Blogs
I
InfoQ
Last Week in AI
Last Week in AI
SecWiki News
SecWiki News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
W
WeLiveSecurity
T
Troy Hunt's Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Attack and Defense Labs
Attack and Defense Labs
美团技术团队
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
B
Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Scott Helme
Scott Helme
T
Tor Project blog
Know Your Adversary
Know Your Adversary
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
Recorded Future
Recorded Future
C
Cyber Attacks, Cyber Crime and Cyber Security
AI
AI
G
Google Developers Blog

Yee's Blog

腾讯云/轻量云 安装ArchLinux的个人记录 记录我的联想M720Q Arch Sway窗口管理器的安装和配置过程 Jenkins Linux安装 腾讯课堂、钉钉在线网课视频直播回放下载离线播放 Ceph块设备对RBD块设备操作LVM创建PV时报错 Ceph映射RBD块设备 2020年9月26日前端部门Vue考核 2020年9月26日后端部门Python考核 Nginx反向代理下载传输超过1G大文件时断开问题 Windows Server 2019 Datacenter M720q 安装记录 Ceph块设备基础及快照、克隆操作 从Ceph集群中删除OSD节点 Centos8配置 chrony NTP服务端及客户端 搭建Ceph集群 Ceph硬件准备 OSD与Pool池的常见操作及管理 Ceph用户管理 MacOS睡眠管理——让你的Mac睡的更香 初中古诗文必背篇目 Ansible 技巧之场 Ansible 包含和导入文件 Ansible 学习文档 Ansible 角色 Ansible 调整连接数 Splunk数据搜索和报表 Ansible 常用模块 Ansible 变量和事实 Ansible 任务控制 Ansible Playbook Ansible 基础概念 42Team-Flask框架-HTTP协议快速了解 42Team-Flask框架-路由和视图 42Team-Flask框架-请求与响应 42Team-Flask框架 42Team-Flask框架-Flask介绍 42Team-Flask框架-使用Pycharm来构建一个全新的Flask项目 How to install RHEL8(Centos) on Dell R710/R610 server Centos8安装Docker报错解决方案 Centos8安装Docker后容器内无法访问网络 Docker或Podman容器内无法解析DNS问题多种解决方案 使用NetworkManager来管理树莓派Ubuntu系统网络以及个人的体验优化 Linux 存储设备的挂载及识别 Firewalld 防火墙常用指令教程-常用规则(禁止Ping | 放行端口) Linux 查找系统中的文件 Linux 守护进程和控制服务 Linux SSH远程访问 42Team小组_Linux基础培训课件 如何在AmazeUI中当改变select标签后触发Vue方法的问题 使用Docker部署安装WordPress博客平台 在Raspberry树莓派中搭建NFS存储服务器 在 树莓派 Linux 中搭建匿名 danted socks5 代理服务器 HTTP与HTTPS区别随笔 Bash/Shell学习笔记
Ansible 主机模式
本文作者: YeeFire · 2020-06-16 · via Yee's Blog

通过主机模式,可以更高效地为play或命令选择受控主机。除了常规的使用组名或清单中的IP地址以及all、ungrouped外,你还可以使用以下方式匹配受控主机。

使用通配符匹配

使用'*'匹配模式会与all主机模式具有相同的效果,它会匹配任意字符串,会使用清单中的全部主机。

- hosts: all
...
- hosts: '*'

也可以使用*与文字进行匹配,使用通配符匹配以.example.com结尾的全部主机例子如下:

- hosts: '*.example.com'

匹配192.168开头的全部主机或主机组的名称:

- hosts: '192.168*'

⚠️注意:使用匹配模式匹配时,Ansible不会区分它是主机还是组的名字。如果主机的域名和组名有被匹配到,那么不管是主机还是主机组中全部的主机都会被匹配。

使用逗号匹配多个主机和组

使用逗号可以来匹配多个主机和组,可以混合使用受控主机、主机组和通配符。

- hosts: 'server1.com,*.example.com,192.168.1.1'

也可以使用:冒号作为分隔符进行分隔,特别是将IPv6地址用作受管主机名称时。不过在较老的例子中依旧可以见到使用冒号进行分隔。

使用&!

如果在使用逗号的列表中某一项与&结合,则主机必须与该项也匹配才会匹配主机模式。

如下例子,主机模式匹配同时出现在lab组和datacenter组中的主机才能作为受控主机。

- hosts: 'lab,&datacenter'

也可以通过在主机模式前面使用感叹号!,从列表中排除匹配某以模式的主机。他的工作方式类似于逻辑NOT。

如下例子:主机模式匹配datacenter中的所有主机,但是server1.example.com主机除外!

- hosts: 'datacenter,!server1.example.com'

管理动态清单

目前为止使用静态清单很容易编写,对于管理小型的主机架构很方便。但是如果要操作一个大型的集群中许许多多的计算机,或者在机器交替非常快的环境工作,在面对维护主机静态清单想必是不太好受。

在大型IT环境下,通常会有系统来跟踪服务器资产,比如有外部目录服务通过Zabbix等监控系统维护,或者位于FreeIPA或Active Directory服务器上。Cobbler等安装服务器或红帽卫星等管理服务可能跟踪部署的逻辑系统。

Ansible支持动态清单脚本,这些清单脚本在Ansible执行时会执行脚本并检索当前信息,时清单能够得到实时的更新。这些脚本时可以执行的程序,能够从一些外部来源收集信息,并以JSON格式输出清单。

动态清单脚本的使用和静态清单一样。清单的位置可以直接在ansible.cfg中配置,也可以通过-i选型指定。如果清单文件可以执行,则会被视作动态清单程序,Ansible会尝试运行脚本来生成清单。如果文件不可执行,则它会被视作静态清单。

在使用动态清单时要确保该脚本具有执行权限并且返回值为JSON数据类型。

管理多个清单

Ansible支持在同一运行中使用多个清单,如果配置清单的地址是一个目录,那么会使用该目录下所有的清单文件,如果可执行文件会作为动态清单文件对待。