我正在努力研究盐配方文件,似乎对盐配方的真正含义有一个根本的误解。
可以理解,这个问题似乎是https://stackoverflow.com/q/48335236/4614134 https://stackoverflow.com/q/25405425/4614134的重复,但由于我没有掌握基本概念,我也很难利用这些问题的答案。
我想,盐公式基本上只是一个实现额外功能的包,很像
#include <string.h>
以C表示,或
import numpy as np
在Python里。因此,我想,我可以将salt-formula-linux
下载到/srv/formulas/salt-formula-linux/
,将它添加到file_roots
中,重新启动主程序(全部按照文档),然后编写一个像swapoff.sls
这样的文件
disable_swap:
linux:
storage:
swap:
file:
enabled: False
(上面的例子有点类似于回购的根中的例子),希望这个公式能够处理从/etc/fstab
中删除交换条目并为我运行swapoff -a
。不用说,这是行不通的,显然是因为我不明白盐配方是什么意思。
,那么,什么是盐配方,我如何使用它?我也可以用它作为函数库吗?
发布于 2018-11-30 09:22:37
这个答案在技术上可能并不完全正确,但这才是解决我的问题的原因。
盐公式不是函数库。相反,它是一组状态文件。通常情况下,状态文件可能非常简单,例如我定义的一些用户
--> top.sls <--
base:
'*':
- docker
--> docker.sls <--
install_docker_1703:
pkgrepo.managed:
# stuff
pkg.installed:
- name: docker-ce
创建状态文件,如
--> swapoff.sls <--
disable_swap:
linux.storage.swap: # and so on
也许,不是走的路。嗯,至少,对于一个缺乏知识的初学者来说,也许不是。
相反,向top.sls
添加一项
- linux.storage.swap
然而,这还不够。大多数公式(或者其中的状态文件,如果您愿意的话)都是高度参数化的,也就是说,它们充满了带有变量名称的占位符,比如{{ swap.device }}
。如果没有什么可以填补这一空白,州填补将无法做任何事情。这些空白由支柱填补。
剩下的就是在/srv/pillar/
中创建一个类似于/srv/pillar/
的文件,其中包含类似的内容(如该公式的示例所示)。
linux:
storage:
enabled: true
swap:
file:
enabled: true
engine: file
device: /swapfile
size: 1024
以及/srv/pillar/top.sls
与
base:
'*':
- swap
也许/srv/pillar
也应该包括在pillar_roots
中的/etc/salt/master
中。
所以现在/srv/salt/top.sls
运行/srv/formulas/salt-formula-linux/linux/storage/swap.sls
,它使用/srv/pillar/top.sls
的指导从/srv/pillar/swap.sls
中提取一些参数,并启用一个交换文件。
https://stackoverflow.com/questions/53536000
复制相似问题