- 清单配置
- 以上篇ansible基本概念和基础配置,我们已能达成ansible控制各节点主机,那么为了更好管理这些主机,则需要将这些主机添加到受管理的ansible管理清单中去。
- ansible提供了一个默认的管理清单,位置于
/etc/ansible/hosts
文件中 -
我们仍然以上篇环境演示,三台主机如下
192.168.3.41 192.168.3.42 192.168.3.43(ansbile主机)
如图所示 那我们在ansible主机 192.168.3.43上执行命令,那么清单内的主机均执行如上所有主机
- 如果41属于A组服务器 42属于B组服务器 那么我们可以在清单进行如下操作配置
[testserverA] k8s1 ansible_host=192.168.3.41 ansible_ssh_port=22 [testserverB] k8s2 ansible_host=192.168.3.42 ansible_ssh_port=22
-
分别执行 ansible testserverA -m ping和 ansible testserverB -m ping
- 如果192.168.3.41和192.168.3.42 在同一个组里这两台主机IP是连续的 那么我们也可以在配置管理组里面 那么我们可以这样设置,示例如下
[serverA]
192.168.3.[41:42]
- 上例serverA组的配置,那么当然我们也可以以主机名安按顺序排列的方式进行处理
[serverA]
k8s1
k8s2
发现此类规律后,我们可以添加成
[serverA]
k8s[1:2] -
但实际使用环境中,服务器从使用类别上面分“生产环境”和“测试环境”
那么我们分成两组,A和B组,举例
[serverA]
192.168.3.41
[serverB]
192.168.3.42
[server:children]
serverA
serverB
上述表示我们配置三个组,serverA和serverB和server组。而server组中包含的子组就是serverA和serverB,也就是说当我们操作server组里,也就相当操作了serverA和serverB组中的所有主机。
- 如上,我们都一直在使用ini配置风格配置的清单,但与此同是时,ansible主机清单也支持和识别YAML的配置语法。举例:
all:
hosts:
192.168.3.41
192.168.3.42
192.168.3.43- 那么我们来对比一下用户
- ansible提供了一个默认的管理清单,位置于
- 以上篇ansible基本概念和基础配置,我们已能达成ansible控制各节点主机,那么为了更好管理这些主机,则需要将这些主机添加到受管理的ansible管理清单中去。
#先看INI风格的配置,示例如下
192.168.3.43
[test1]
192.168.3.41
[test2]
192.168.3.42
#上述配置表示当前清单中有3台受管主机,主机43不属于任何组,主机41属于test1组,主机42属于test2组
#使用YAML语法进行同等效果的配置如下
#注意,为了使缩进显得更加明显,此处每次缩进使用两个空格
all:
hosts:
192.168.3.43:
children:
test1:
hosts:
192.168.3.41:
test2:
hosts:
192.168.3.42:
```
#从上例可以看出,当直接在清单中创建组时,需要在all关键字内使用children关键字,而定义每个组时,有必须使用hosts关键字,指明组内的主机
# 按上面操作,我们来看一下组里面嵌套组时,YAML语法应该怎么写:
#仍然写出INI风格示例
[serverA]
192.168.3.41
[serverB]
192.168.3.42
[server:children]
serverA
serverB
#对应YAML格式则为:
all:
children:
server:
children:
serverA:
hosts:
192.168.3.41:
serverB:
hosts:
192.168.3.42:
验证如图所示:
·
.
验证结果
# 等同效果语法 还有如
#INI风格
192.168.3.43
k8s2 ansible_host=192.168.3.42 ansible_port=22
192.168.3.41
#YAML风格
all:
hosts:
192.168.3.43:
serverA:
ansible_host: 192.168.3.41 #此处 HOST和IP处空格不可省
ansible_port: 22
192.168.3.42:
当然这块清单中可以配置变量,具体内容可以参考官网手册 https://docs.ansible.com/ansible/2.4/intro_inventory.html
网友评论