初识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中的颜⾊

绿⾊表示正常

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

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

紫⾊表示警告,建议.

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

相关推荐
WTT001112 分钟前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋320 分钟前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
日记跟新中1 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭1 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
BUG 4041 小时前
Linux——Shell
linux·运维·服务器
大霞上仙2 小时前
Linux 多命令执行
linux·运维·服务器
冷心笑看丽美人2 小时前
探索 Samba 服务器:搭建跨平台文件共享的桥梁
运维·服务器
晨欣2 小时前
Kibana:LINUX_X86_64 和 DEB_X86_64两种可选下载方式的区别
linux·运维·服务器
AI青年志2 小时前
【服务器】linux服务器管理员查看用户使用内存情况
linux·运维·服务器