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

绿⾊表示正常

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

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

紫⾊表示警告,建议.

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

相关推荐
东华果汁哥10 分钟前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
肖永威41 分钟前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
zhd15306915625ff42 分钟前
库卡机器人维护需要注意哪些事项
安全·机器人·自动化
布鲁格若门1 小时前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student1 小时前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
dessler1 小时前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
DC_BLOG1 小时前
Linux-Apache静态资源
linux·运维·apache
学Linux的语莫1 小时前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
码农小丘1 小时前
一篇保姆式centos/ubuntu安装docker
运维·docker·容器
耗同学一米八1 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题二
运维·网络·mariadb