金鱼哥戏说RHCE认证:部署ansible--构建ansible主机清单

简介: 第二章 部署ansible--构建ansible主机清单
🎹 个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
📚个人资质: CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL、PMP😜
💬格言:努力不一定成功,但要想成功就必须努力🔥

🎈支持我:可点赞👍、可收藏⭐️、可留言📝


📜1. 查看ansible里的安装文件

# rpm -ql ansible|less

/etc/ansible/ansible.cfg                   # 默认ansible的默认配置文件位置
/etc/ansible/hosts                         # 默认inventory主机清单位置
/etc/ansible/roles                         # 默认inventory角色位置
/usr/bin/ansible                           # ansible命令的文件
/usr/lib/python3.6/site-packages/ansible   # 提供Python模块
/usr/share/man/man1/                       # 帮助文档

📜2. 简介

inventory是一个被管理主机的一个清单文件。

inventory里可以有单个主机,也可以有多个主机加起来的主机组。

inventory有静态和动态两种清单。静态主机清单可以通过文本文件来定义。动态主机清单可以根据需要而使用外部信息提供的脚本或其他程序来生成。

先进行静态主机清单的学习(重要),动态主机清单后续再进行简述。


📜3. 静态inventory

📑单个主机

可以是ip地址,也可以是域名

$ cat inventory
servera                >   FQDN
192.168.1.100          >    IP地址
192.168.100.11:2222    >   非标准SSH端口

📑主机组

格式

[组名]
主机1
主机2
主机3
...

示例

$ cat inventory 
localhost

[web-server]
servera
serverb

[balancer]
serverc

[data-server]
serverd

📑列出主机

all:代表所有主机

$ ansible -i inventory --list-hosts all
  hosts (5):
    localhost
    serverc
    servera
    serverb
    serverd

ungrouped:未分组主机

$ ansible -i inventory --list-hosts ungrouped
  hosts (1):
    localhost

📑嵌套组

格式

[组名:children]                  # children是关键字,固定语法,必须填写。
组名1
组名2

示例

同一个(主机/组)可以出现在多个组中

$ cat inventory 
localhost

[web-server]
servera
serverb

[balancer]
serverc

[data-server]
serverd

[webs:children]
web-server
data-server

[bakend:children]
balancer
webs

列出主机

$ ansible -i inventory --list-hosts webs
  hosts (3):
    servera
    serverb
    serverd

$ ansible -i inventory --list-hosts bakend
  hosts (4):
    serverc
    servera
    serverb
    serverd

📑范围简化表达式

格式

[start:end]

示例

192.168.1.1:100 代表192.168.1.1-192.168.1.100
192.168.10:20.1:254 代表192.168.10.1-192.168.20.254
server01:20.domain.com 代表01,02,03...20
a:c.domain.com 代表a,b,c
$ cat inventory 
192.168.1.[1:100]
192.168.[10:20].[1:254]

[server]
server[01:20].domain.com

[mydomain]
[a:c].domain.com

列出主机

$ ansible -i inventory --list-hosts '192.168.12.25*'
  hosts (6):
    192.168.12.25
    192.168.12.250
    192.168.12.251
    192.168.12.252
    192.168.12.253
    192.168.12.254

$ ansible -i inventory --list-hosts server12.domain.com
  hosts (1):
    server12.domain.com

$ ansible -i inventory --list-hosts mydomain
  hosts (3):
    a.domain.com
    b.domain.com
    c.domain.com

📑模糊匹配

通配符在Ansible表示0个或多个任意字符,主要应用于一些模糊规则匹配。

  • 匹配

    匹配所有主机,all或*号功能相同。如检测所有主机存活情况。

    ansible all --list-hosts
    ansible '*' --list-hosts
    ansible '172.25.0.*' --list-hosts
    ansible 'server*' --list-hosts
  • 逻辑或匹配

    如我们希望同时对多台主机或多个组同时执行,相互之间用 :(冒号)或者 ,逗号 分隔即可。

    ansible 'servera,prod' --list-host
    ansible 'ba*,prod' --list-host
  • 逻辑与(&)匹配

    逻辑与都匹配到的才执行。

    ansible 'ser*,&prod' --list-hosts
  • 逻辑非匹配

    逻辑非用感叹号(!)表示,主要针对多重条件的匹配规则,使用方式如下:

    ansible 'web*,!prod' --list-hosts 
  • 多条件组合
    ansible 'server*,&prod,!ba' --list-host
  • 正则匹配

    Ansible同样完整支持正则匹配功能,~开始表示正则匹配。

    ansible '~server(a|b)' --list-host

    使用正则检测 www.example.com、new.example.com、blog.example.com的存活。

    ansible "~(www|new|blog).example.(com|org)" --list-hosts

    💡总结

RHCE认证作为基础认证的升级,需要大家在RHCSA的基础上再进行学习,因此,涉及的基础内容需要大家好好进行学习并巩固。有良好的基础才能更上一层楼。
好好加油,可以噶🤪。

以上就是【金鱼哥】对 第二章 部署ansible--构建ansible主机清单 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

💾 红帽认证专栏系列:
RHCSA专栏: 戏说 RHCSA 认证
RHCE专栏: 戏说 RHCE 认证
此文章收录在RHCA专栏: RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞👍,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💕💕!

目录
相关文章
|
8天前
|
存储 运维 安全
构建高效自动化运维体系:Ansible与Docker的完美结合
【2月更文挑战第31天】 随着云计算和微服务架构的兴起,自动化运维成为保障系统稳定性和提升部署效率的关键手段。本文将详细探讨如何通过Ansible和Docker的结合来构建一个高效、可靠且易于管理的自动化运维体系。首先,介绍自动化运维的必要性及其在现代IT基础设施中的作用;然后,分别阐述Ansible和Docker的技术特点及优势;最后,提供一个基于Ansible和Docker结合使用的实践案例,以及实施过程中遇到的挑战和解决方案。
|
8天前
|
运维 安全 网络安全
构建高效自动化运维体系:Ansible与Docker的完美融合
【2月更文挑战第30天】在当今快速迭代和持续部署的软件发展环境中,自动化运维成为确保效率和稳定性的关键。本文将探讨如何通过结合Ansible和Docker技术,构建一个高效的自动化运维体系。我们将分析Ansible的配置管理功能和Docker容器化的优势,并展示它们如何协同工作以简化部署流程,增强应用的可移植性,并提供一致性的系统环境。此外,文章还将介绍一些最佳实践,帮助读者在真实环境中实现这一整合方案。
|
8天前
|
消息中间件 运维 Kubernetes
构建高效自动化运维体系:Ansible与Kubernetes的融合实践
【5月更文挑战第9天】随着云计算和微服务架构的普及,自动化运维成为确保系统可靠性和效率的关键。本文将深入探讨如何通过Ansible和Kubernetes的集成,构建一个强大的自动化运维体系。我们将分析Ansible的配置管理功能以及Kubernetes容器编排的优势,并展示如何将二者结合,以实现持续部署、快速扩展和高效管理现代云原生应用。文章还将涵盖实际案例,帮助读者理解在真实环境下如何利用这些工具优化运维流程。
|
8天前
|
运维 安全 API
构建高效自动化运维体系:Ansible与Docker的协同实践
【5月更文挑战第13天】在现代IT基础设施管理中,自动化运维已成为提升效率、确保一致性和降低人为错误的关键。本文通过深入探讨Ansible和Docker的集成实践,揭示了如何构建一个灵活、可扩展且高效的自动化运维体系。我们将从理论到实践,展示如何利用这两种技术实现自动化部署、管理和扩展应用服务,以及它们如何帮助运维团队应对快速变化的业务需求和复杂的IT环境。
32 1
|
8天前
|
运维 Kubernetes 监控
构建高效自动化运维体系:基于Ansible的策略与实践
【5月更文挑战第8天】 在当今IT基础设施管理领域,自动化不再是一个选择,而是必要的步骤。随着复杂性的增加和变更的频繁性,自动化工具如Ansible提供了一种高效、可靠的解决方案来简化配置管理和多节点部署。本文将探讨如何利用Ansible构建一个高效的自动化运维体系,涵盖其核心原理、策略设计以及在实际环境中的应用。我们将分析Ansible与其他自动化工具的不同之处,并提供一些最佳实践,以帮助运维专家提升他们的工作效率和系统稳定性。
|
8天前
|
运维 负载均衡 持续交付
构建高效自动化运维体系:Ansible与Docker的协同实践
【5月更文挑战第7天】 在当今快速迭代的软件开发环境中,自动化运维成为确保部署效率和一致性的关键。本文将探讨如何通过结合Ansible和Docker技术,构建一个高效的自动化运维体系,旨在提升运维效率,减少人为错误,并实现持续集成与持续部署(CI/CD)的流程自动化。文章详细阐述了Ansible的配置管理机制、Docker容器化的优势,以及二者在实际运维场景中的结合应用,为读者提供一套可行的自动化运维解决方案。
|
8天前
|
运维 关系型数据库 MySQL
Ansible自动化运维工具主机清单配置
Ansible自动化运维工具主机清单配置
|
8天前
|
存储 运维 Kubernetes
构建高效自动化运维体系:Ansible与Kubernetes的协同实践
【5月更文挑战第2天】随着云计算和微服务架构的兴起,自动化运维成为保障系统稳定性与效率的关键。本文将深入探讨如何利用Ansible作为配置管理工具,结合Kubernetes容器编排能力,共同打造一个高效、可靠的自动化运维体系。通过剖析二者的整合策略及具体操作步骤,为读者提供一套提升运维效率、降低人为错误的实用解决方案。
|
8天前
|
机器学习/深度学习 运维 持续交付
构建高效自动化运维体系:Ansible与Docker的完美结合构建高效机器学习模型的五大技巧
【4月更文挑战第30天】 在当今快速发展的云计算和微服务架构时代,自动化运维已成为维持系统稳定性和提高效率的关键。本文将探讨如何通过结合Ansible和Docker技术构建一个高效的自动化运维体系。文章不仅介绍了Ansible与Docker的基本原理和优势,还详细阐述了如何整合这两种技术以简化部署流程、加强版本控制,并提高整体运维效率。通过案例分析,我们将展示这一组合在实际环境中的应用效果,以及它如何帮助企业实现持续集成和持续部署(CI/CD)的目标。 【4月更文挑战第30天】 在数据驱动的时代,构建一个高效的机器学习模型是获取洞察力和预测未来趋势的关键步骤。本文将分享五种实用的技巧,帮助数
|
8天前
|
存储 运维 Kubernetes
构建高效自动化运维体系:Ansible与Kubernetes的协同策略
【4月更文挑战第29天】 在当今快速迭代的软件开发环境中,自动化运维成为了确保部署效率和稳定性的关键。本文深入探讨了如何通过Ansible和Kubernetes的集成来实现高效的自动化配置管理与容器编排。文章首先介绍了Ansible与Kubernetes各自的特点及优势,随后详细阐述了它们在自动化运维中的互补作用,并提供了一个实用的集成方案。通过案例分析,验证了该策略在提高部署速度、降低人为错误以及增强系统可靠性方面的有效性。最后,讨论了实施过程中可能遇到的挑战和解决思路。