saltstack安装配置(面向零基础的,求大神不吐槽)
先说一下写此文目的,salt安装配置的文章很多,当属官网的最好,但是官网的也和其他大神写的博客一样,不说明是在master端操作还是minion端操作。这对于像我一样的完全零基础的童鞋肯定是要掉不少坑,而且还不一定能装好。所以此文面向零基础的童鞋,大神千万别吐槽。。。。。系统:win7,vmware workstation pro 12, xubuntu-15.04-desktop-amd64
(一)salt安装部分(ppa安装,官网其他方法没有尝试),所有操作都在ubuntu系统终端操作的(ctrl+alt+T打开终端):
master端:
1.
sudo add-apt-repository ppa:saltstack/salt
如果遇到add-apt-repository:command not found?继续下面两条命令,否则直接pass下面两条命令:
1.1
sudo apt-get install python-software-properties
1.2
sudo apt-get install software-properties-common
2. (这是两条命令)
deb http://ppa.launchpad.net/saltstack/salt/ubuntu `lsb_release -sc` main | sudo tee /etc/apt/sources.list.d/saltstack.list
wget -q -O- "http://keyserver.ubuntu.com:11371/pks/lookup?op=get&search=0x4759FA960E27C0A6" | sudo apt-key add -
3.
sudo apt-get update
4.
sudo apt-get install salt-master
5.
sudo apt-get install salt-ssh
minion端:
和master端几乎一样,只是把第四条sudo apt-get install salt-master换成了sudo apt-get install salt-minion
(二)配置salt部分
master端:
在/etc/salt下的master文件中将下面的几行取消注释
#interface: 0.0.0.0
#log_file: /var/log/salt/master
#key_logfile: /var/log/salt/key
终端操作内容:
sudo vim /etc/salt/master
sudo apt-get install vim(这句命令是在执行上一条操作时报错,没有安装vim的时候需要执行的)
在进入了master文件内想要找到上述需要注释的内容,可以通过下述方法查找:
直接在打开的文件夹内输入:/interface按下enter键就可以查找,可以通过按下键盘下的N进行上下翻页查找,小写的n向下翻页,大写的N向上翻页
其他的类似查找,/加上需要查找的内容。查找到修要操作的内容后,按下键盘下的i(进入insert模式,才可以修改内容)将#注释符删除即可,对于interface可以将0.0.0.0修改成master端的ip(重新开一个终端,输入ifconfig就可以看到ip了,eh0那里的inte addr后面的才是ip)。修改完毕之后按esc键退出insert模式,然后输入:wq(保存并退出)。这样就完成了对master端的配置操作。
minion端:
在/etc/salt下将minion文件中下面几行取消注释:
#master: 输入刚才获取的ip
#id:后面自己随便取一个名字,比如minion1什么的
#log_file: /var/log/salt/minion
#key_logfile: /var/log/salt/key
操作方法和刚才的master端的一样。这里就不罗嗦了。
ok,现在都已经配置好了salt基本操作需要配置的内容,其他的我也没操作过,靠各位童鞋自己去看官方文档了。我们测试一下。
分别在master端和minion端启动master和minion。master端:sudo salt-master -d
minion端:sudo salt-minion -d
在master端:
sudo salt-key -L 这个是显示出salt-master已知的所有keys
sudo salt-key -a keyname这个是接受keyname这个key
sudo salt-key -A这个是接受所有的keys,具体看官方文档去吧
sudo '*' test.ping 测试master和minion的连通性。当所有的操作遇到not permitted的时候就在命令前加sudo试试
建立salt state树
master端:
sudo vim /etc/salt/master
将下面几行取消注释
#file_roots:
#base:
# - /srv/salt
重启salt-master以使得更改生效
sudo pkill salt-master
sudo salt-master -d
在/srv/salt下创建一个名为top.sls的文件并添加内容,由于没有salt这个文件夹。所以先创建此文件夹:
sudo mkdir /srv/salt
top.sls文件需要添加的内容(操作方法见上面):
base:
'*':
- webserver
注意,一定要慢慢的写这些内容,包括格式都不能错误。特别注意,不要使用tab键,出发安装了vim的插件,能够将tab键转为4个空格键.
现在说一下怎样创建文件,
sudo vim
然后在打开的文件中输入内容,输入完毕之后,输入:wq top.sls,按下enter键就好了。输入内容里面需要的命令参考上述命令。
保存好了top.sls文件后,再在此路径下创建一个名为webserver.sls的文件,并添加以下内容:
apache2:
pkg:
- installed
创建输入方法和刚才的一样。
minion端:
没有任何操作
现在测试一下,在master端:
sudo salt '*' state.highstate
如果出问题了,可以输入下面的命令看看出什么问题了:
sudo salt '*' state.highstate -l debug
如果遇到了显示:The function 'state.highstate" is running as PID 5781 and was started at ....
可以试试如下方法:
master端:
service salt-master stop
ps -A | grep salt-master
sudo pkill salt-master
sudo salt-master -d
minion端
service salt-minion stop
ps -A | grep salt-minion
sudo pkill salt-minion
sudo salt-minion -d
ok,接下来安装salt-ssh。
salt-ssh
master端安装salt-ssh,minion端安装openssh,再配置一下就行了
master端:
sudo vim /etc/salt/roster
将roster内容改成如下:
minion1: 这里的minion1是刚才自己设置的,刚才安装salt的时候,要求的那个id 就是这里的minion1,按照自己的id更改即可。
host: 在minion端的终端中输入ifconfig获得的ip
user: minion端终端上面显示的那个用户名
passwd: minion端用户名对应的密码
sudo: True
minion端:
终端中输入:
sudo apt-get install openssh-server
又到了测试的时候了:
master端输入:
salt-ssh 'minion1' state.highstate这里的minion1看自己怎么设置的id然后自己更改就是
终于写完了,第一次写博客,太多不规范,还望各位童鞋见谅。本人能力有限,如有错误还望指出。不过上述操作都经本人尝试过。深入学习和具体配置见官网吧。
页:
[1]