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

绿⾊表示正常

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

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

紫⾊表示警告,建议.

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

相关推荐
梁诚斌3 分钟前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
深情废杨杨24 分钟前
服务器几核几G几M是什么意思?如何选择?
运维·服务器
康熙38bdc25 分钟前
Linux 进程优先级
linux·运维·服务器
Web极客码26 分钟前
常见的VPS或者独立服务器的控制面板推荐
运维·服务器·控制面板
只是有点小怂30 分钟前
parted是 Linux 系统中用于管理磁盘分区的命令行工具
linux·运维·服务器
三枪一个麻辣烫1 小时前
linux基础命令
linux·运维·服务器
cuisidong19972 小时前
如何在 Kali Linux 上安装 Google Chrome 浏览器
linux·运维·chrome
wusam2 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习03(网络及IP规划)
运维·服务器·网络·docker·容器
南种北李2 小时前
Linux自动化构建工具Make/Makefile
linux·运维·自动化
一直在进步的派大星2 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器