欲忘树 发表于 2015-11-26 11:09:51

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]
查看完整版本: saltstack安装配置(面向零基础的,求大神不吐槽)