首页 > 代码库 > Utuntu14.04下salt的使用

Utuntu14.04下salt的使用

概述

本文介绍 Ubuntu 环境下使用 saltstack 。

环境

测试环境为 Ubuntu server 14.04 。

禁用 : 所有 Ubuntu 系统都禁用 selinux , iptables 。

5 个运行 Ubuntu server 14.04 x86_64 的虚拟机:

192.168.1.119 ceph-node1 192.168.1.111 ceph-node2 192.168.1.112 ceph-node3 192.168.1.113 ceph-node4 192.168.1.114 ceph-node5 

我们分配 saltstack 中的角色:

所有节点 都担任 Minion 角色,ceph-node1 同时担任 Master 角色。

主机名

请按上面的机器分配,设置好每个机器的主机名。编辑各机器上的 /etc/hostname 文件即可。并修改 /etc/hosts里的 127.0.1.1 指向该名。本测试配置完成后是这样的:

ouser@ceph-node1:~$ sudo salt ‘*‘ cmd.run ‘grep 127.0.1.1 /etc/hosts‘ ceph-node2:  127.0.1.1   ceph-node2 ceph-node4:  127.0.1.1   ceph-node4 ceph-node1:  127.0.1.1   ceph-node1 ceph-node5:  127.0.1.1   ceph-node5 ceph-node3:  127.0.1.1   ceph-node3 ouser@ceph-node1:~$ sudo salt ‘*‘ cmd.run ‘cat /etc/hostname‘ ceph-node1:  ceph-node1 ceph-node5:  ceph-node5 ceph-node4:  ceph-node4 ceph-node3:  ceph-node3 ceph-node2:  ceph-node2 

安装

所有安装在相应角色虚拟机上执行。

Master 角色

sudo apt-get install salt-master salt-minion 

Minion 角色

sudo apt-get install salt-minion 

配置

只需配置 Minion 即可,编辑每个 Minion 角色机器上的 /etc/salt/minion 文件,配置 master 选项:

master: 192.168.1.119 

并重启所有 Minion 角色服务器上的 salt-minion 服务:

sudo /etc/init.d/salt-minion restart 

测试

注意 : 除特别说明,以下所有命令均在 Master 服务器上执行。

接受 Minion 的认证

所有的 Minion 配置完成,并重启 salt-minion 服务后。我们在 Master 服务器上执行 sudo salt-key -L 命令可以查看到当前 等待认证的列表:

$ sudo salt-key -L Accepted Keys: Unaccepted Keys: ceph-node1 ceph-node2 ceph-node3 ceph-node4 ceph-node5 Rejected Keys: 

运行 sudo salt-key -A 授受所有这些认证:

$ sudo salt-key -A The following keys are going to be accepted: Unaccepted Keys: ceph-node1 ceph-node2 ceph-node3 ceph-node4 ceph-node5 Proceed? [n/Y] Y Key for minion ceph-node1 accepted. Key for minion ceph-node2 accepted. Key for minion ceph-node3 accepted. Key for minion ceph-node4 accepted. Key for minion ceph-node5 accepted. 

批量测试命令

$ sudo salt ‘*‘ test.ping ceph-node2:  True ceph-node1:  True ceph-node5:  True ceph-node4:  True ceph-node3:  True 

批量执行命令

$ sudo salt ‘*‘ cmd.run ‘hostname -s‘ ceph-node2: ceph-node2 ceph-node5: ceph-node5 ceph-node1: ceph-node1 ceph-node4: ceph-node4 ceph-node3: ceph-node3