初识ansible服务及ansible主机清单配置

目录

1、什么是自动化批量管理

2、自动化工具ansible架构

3、ansible服务专用术语对照表

4、设置主机清单(inventory)

4.1实验环境准备

4.2配置主机清单

4.2.1分组基本格式

4.2.2指定用户名,密码。端口

4.2.3子组

4.3查看

4.3.1看受管主机信息

4.3.2查看指定的组

4.3.3查看与使用指定的子组

4.3.4查看所有主机的情况

4.3.5查看某一台机器

[5、补充 :ansible中的颜⾊](#5、补充 :ansible中的颜⾊)


1、什么是自动化批量管理

重复性的工作与内容:思考如何自动化完成

部署环境,批量查看信息,批量检查,自动化。

2、自动化工具ansible架构

Ansible服务本身并没有批量部署的功能,它仅仅是一个框架,真正具有批量部署能力的是其所运行的模块。Ansible内置了上千个模块,会在安装Ansible时一并安装,通过调用指定的模块,就能实现特定的功能。Ansible内置的模块非常丰富,几乎可以满足一切需求,使用起来也非常简单,一条命令甚至影响上千台主机。

3、ansible服务专用术语对照表

|---------------|------|----------------------------------------------------------------------------------|
| 术语 | 中文叫法 | 含义 |
| Control node | 控制节点 | 指的是安装了Ansible服务的主机,也被称为Ansible控制端,主要是用来发布运行任务、调用功能模块,对其他主机进行批量控制。 |
| Managed nodes | 受控节点 | 指的是被Ansible服务所管理的主机,也被称为受控主机或客户端,是模块命令的被执行对象。 |
| Inventory | 主机清单 | 指的是受控节点的列表,可以是IP地址、主机名称或者域名。 |
| Modules | 模块 | 指的是上文提到的特定功能代码,默认自带有上千款功能模块,在Ansible Galaxy有超多可供选择。 |
| Task | 任务 | 指的是Ansible客户端上面要被执行的操作。 |
| Playbook | 剧本 | 指的是通过YAML语言编写的可重复执行的任务列表,把常做的操作写入到剧本文件中,下次可以直接重复执行一遍。 |
| Roles | 角色 | 从Ansible 1.2版本开始引入的新特性,用于结构化的组织Playbook,通过调用角色实现一连串的功能。 |

由于受控节点不需要安装客户端,外加SSH协议是Linux系统的标配,因此可以直接通过SSH协议进行远程控制。在控制节点上,也不用每次都重复开启服务程序,使用ansible命令直接调用模块进行控制即可

4、设置主机清单(inventory)

初次使用ansible遇到情况记录:

修改了参数但是没有生效

原因:ansible服务的主配置存在优先级的顺序关系

|-----|--------------------------|
| 优先级 | 文件位置 |
| 高 | ./ansible.cfg |
| 中 | ~/.ansible.cfg |
| 低 | /etc/ansible/ansible.cfg |

4.1实验环境准备

|------------|--------------------------------------|
| ansible环境 | 主机名 功能用途 ip |
| ansible管理端 | ansible 192.168.81.131/24 |
| 被管理端 | node2 开发机dev 192.168.81.132/24 |
| 被管理端 | node3 测试机test 192.168.81.133/24 |
| 被管理端 | node4 产品机prod 192.168.81.134/24 |
| 被管理端 | node5 产品机prod 192.168.81.135/24 |
| 被管理端 | node6 负载均衡机balancer192.168.81.136/24 |

4.2配置主机清单

主机清单文件修改后会立即生效

4.2.1分组基本格式
4.2.2指定用户名,密码。端口

|-----------|-----------------------|
| 主机清单中指定信息 | |
| 连接的ssh端口 | ansible_ssh_port=22 |
| 连接的ssh用户 | ansible_ssh_user=账户名 |
| 连接的ssh密码 | ansible_ssh_pass="密码" |

注 为了实验方便,我的每台机器的账号密码都是root 1

4.2.3子组

实验将prod组和test组合并为A组

4.3查看
4.3.1看受管主机信息

一般使用"ansible-inventory --graph"命令以结构化的方式显示出受管主机的信息。

4.3.2查看指定的组

ansible 组名 -m command -a 'hostname'

4.3.3查看与使用指定的子组

ansible 子组名 -m command -a 'hosname'

4.3.4查看所有主机的情况

ansible all -m command -a 'hostname'

4.3.5查看某一台机器

ansible 机器IP地址 -m command -a 'hostname'

5、补充 :ansible中的颜⾊

绿⾊表示正常

⻩⾊表示执⾏正常,状态变化.

红⾊表示错误,输出错误信息

紫⾊表示警告,建议.

#为美好的开源世界贡献一份力量

相关推荐
天远数科4 分钟前
零信任架构实战:基于天远全能家政风险报告构建自动化即时到家保洁与短工抢单安全核验网关
运维·人工智能·架构·自动化
源图客8 分钟前
解决CentOS操作系统网络异常问题
linux·运维·centos
分布式存储与RustFS21 分钟前
K8s 集群备份落到自建对象存储:Velero 接 RustFS 配置指南
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
镜子AI9 小时前
镜子AI 技术复盘:三条自动化链路上的“停止条件“设计
运维·人工智能·自动化
tianyuanwo10 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
知已难寻12 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
huainingning12 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
say_fall13 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
wacsii13 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
相思难忘成疾14 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes