初识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组 ![](https://file.jishuzhan.net/article/1779310775425306626/e87daaff3782795ec4fcda991e3727bc.webp) ##### 4.3查看 ###### 4.3.1看受管主机信息 一般使用"ansible-inventory --graph"命令以结构化的方式显示出受管主机的信息。 ![](https://file.jishuzhan.net/article/1779310775425306626/909d16aad94e7b6c118ad89a070571ae.webp) ###### 4.3.2查看指定的组 ansible 组名 -m command -a 'hostname' ![](https://file.jishuzhan.net/article/1779310775425306626/f91839ca5a379510aa3a3bd7be3bb996.webp) ###### 4.3.3查看与使用指定的子组 ansible 子组名 -m command -a 'hosname' ![](https://file.jishuzhan.net/article/1779310775425306626/58ddecff66971f4a488d6bf3aeace7ce.webp) ###### 4.3.4查看所有主机的情况 ansible all -m command -a 'hostname' ![](https://file.jishuzhan.net/article/1779310775425306626/8ff5d36d0fbd5c74452b1cd4383d155e.webp) ###### 4.3.5查看某一台机器 ansible 机器IP地址 -m command -a 'hostname' ![](https://file.jishuzhan.net/article/1779310775425306626/828d1b13d96b68e7cd6f5a90e2fc37bc.webp) #### 5、补充 :ansible中的颜⾊ 绿⾊表示正常 ⻩⾊表示执⾏正常,状态变化. 红⾊表示错误,输出错误信息 紫⾊表示警告,建议. #为美好的开源世界贡献一份力量

相关推荐
降世神童1 小时前
华为云Flexus+DeepSeek征文| 使用华为云CCE容器部署Dify-LLM高可用方案的验证与测试
运维·华为云·aigc
降世神童1 小时前
华为云Flexus+DeepSeek征文| 基于华为云Dify-LLM高可用平台开发运维故障处理智能体
运维·华为云·aigc
好名字更能让你们记住我2 小时前
Linux多线程(十二)之【生产者消费者模型】
linux·运维·服务器·jvm·windows·centos
门思科技2 小时前
设计可靠 LoRaWAN 设备时需要考虑的关键能力
运维·服务器·网络·嵌入式硬件·物联网
学习编程的gas3 小时前
Linux开发工具——gcc/g++
linux·运维·服务器
dessler4 小时前
Kafka-消费者(Consumer)和消费者组(Consumer Group)
linux·运维·kafka
进击的程序汪4 小时前
Linux 启动过程流程图--ARM版
linux·运维·arm开发
紫璨月4 小时前
nginx反向代理的bug
运维·nginx·bug
没有名字的小羊4 小时前
2.安装Docker
运维·docker·容器
xiezhr4 小时前
50 个常用 Docker 命令
运维·docker·容器