Saltstack_使用指南14_无master 3.1. 常规信息3.2. grains设置3.3. pillar设置
时间:2022-07-26
本文章向大家介绍Saltstack_使用指南14_无master
3.1. 常规信息3.2. grains设置3.3. pillar设置,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1. 主机规划
salt 版本
1 [root@salt100 ~]# salt --version
2 salt 2018.3.3 (Oxygen)
3 [root@salt100 ~]# salt-minion --version
4 salt-minion 2018.3.3 (Oxygen)
salt 无master文档
standalone_minion
https://docs.saltstack.com/en/latest/topics/tutorials/standalone_minion.html
salt-call
https://docs.saltstack.com/en/latest/ref/cli/salt-call.html
注意★★★★★
当salt处于无master【masterless】模式时,不要运行salt-minion守护进程。否则salt-minion将尝试去连接master并失败。salt-call命令独立存在,不需要salt-minion守护进程。
2. 无master操作步骤
备注:此次是在salt01上操作
1、关闭salt-minion、关闭开机自启动
1 systemctl stop salt-minion.service
2 systemctl disable salt-minion.service
2、minion端配置修改
1 [root@salt01 ~]# vim /etc/salt/minion
2 ………………
3 # Set the file client. The client defaults to looking on the master server for
4 # files, but can be directed to look at the local file directory setting
5 # defined below by setting it to "local". Setting a local file_client runs the
6 # minion in masterless mode.
7 #file_client: remote
8 file_client: local # 从默认的 remote改为local
9 ………………
备注:salt-call 会读取该配置文件,因此该配置文件必须改。
3、file_roots和pillar_roots设置
使用默认的即可,不需要设置
4、External pillars设置
无master模式支持External pillars
3. 无master模式测试
3.1. 常规信息
1 [root@salt01 ~]# salt-call test.ping
2 local:
3 True
4 [root@salt01 ~]# salt-call grains.items # 查看所有grains信息
3.2. grains设置
1 [root@salt01 ~]# vim /etc/salt/minion
2 ………………
3 # Custom static grains for this minion can be specified here and used in SLS
4 # files just like all other grains. This example sets 4 custom grains, with
5 # the 'roles' grain having two values that can be matched against.
6 grains:
7 roles:
8 - webserver03
9 - memcache03
10 os: redhat03
11 tree: tree001
12 ………………
13 [root@salt01 ~]# salt-call saltutil.sync_grains # 刷新 grains【实际可以不进行此操作,因为是本地读取】
14 local:
15 ##### 查看grains结果
16 [root@salt01 ~]# salt-call grains.item tree
17 local:
18 ----------
19 tree:
20 tree001
21 [root@salt01 ~]# salt-call grains.item roles
22 local:
23 ----------
24 roles:
25 - webserver03
26 - memcache03
27 [root@salt01 ~]# salt-call grains.item roles:1 # 读取列表中的下标为1的数据
28 local:
29 ----------
30 roles:1:
31 memcache03
3.3. pillar设置
1 [root@salt01 pillar]# pwd
2 /srv/pillar
3 [root@salt01 pillar]# cat top.sls
4 base:
5 '*':
6 - web_pillar.user
7 [root@salt01 pillar]# cat web_pillar/user.sls
8 tree:
9 tree01:
10 - name01: zhang01
11 - name02: zhang02
12 tree02:
13 - my_user1: salt0-01
14 - my_user2: salt0-02
15 [root@salt01 ~]# salt-call saltutil.sync_pillar # 刷新【实际可以不进行此操作,因为是本地读取】
16 local:
17 ###### pillar数据查询
18 [root@salt01 ~]# salt-call pillar.items
19 local:
20 ----------
21 tree:
22 ----------
23 tree01:
24 |_
25 ----------
26 name01:
27 zhang01
28 |_
29 ----------
30 name02:
31 zhang02
32 tree02:
33 |_
34 ----------
35 my_user1:
36 salt0-01
37 |_
38 ----------
39 my_user2:
40 salt0-02
41 [root@salt01 ~]# salt-call pillar.item tree:tree01
42 local:
43 ----------
44 tree:tree01:
45 |_
46 ----------
47 name01:
48 zhang01
49 |_
50 ----------
51 name02:
52 zhang02
53 [root@salt01 ~]# salt-call pillar.item tree:tree01:name01
54 local:
55 ----------
56 tree:tree01:name01:
57 zhang01
注意这几个的区别【取列表信息】
1 [root@salt01 pillar]# salt-call pillar.item tree:tree01
2 local:
3 ----------
4 tree:tree01:
5 |_
6 ----------
7 name01:
8 zhang01
9 |_
10 ----------
11 name02:
12 zhang02
13 [root@salt01 pillar]# salt-call pillar.item tree:tree01:0
14 local:
15 ----------
16 tree:tree01:0:
17 ----------
18 name01:
19 zhang01
20 [root@salt01 pillar]# salt-call pillar.item tree:tree01:name01
21 local:
22 ----------
23 tree:tree01:name01:
24 zhang01
25 [root@salt01 pillar]# salt-call pillar.item tree:tree01:0:name01
26 local:
27 ----------
28 tree:tree01:0:name01:
29 zhang01
———————————————END———————————————
- 探究Fragment生命周期
- Fragment使用起来非常简单
- Activity间数据传递方法汇总
- Activity数据回传
- 引入Fragment原来是这么回事
- Fragment显示和隐藏、绑定和解绑
- 一网打进Linux下那些查找命令
- 高颜值可定制在线绘图工具-第三版
- network3D 交互式网络生成
- 如何用六点教会老婆写 Python ?
- 连高晓松都想学的区块链江湖切口,「HODL」是什么意思?
- Spring Data REST 与 Spring RestTemplate 实战详解
- 程序员炒股,如何计算股票投资组合的风险和收益
- Docker 容器化部署运维 OpenStack 和 Ceph
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法