能不能在linux里部署个windows,自动化运维之SaltStack,在windows和linux下详细安装部署和使用...

在自动化运维方面,开源且主流的工具主要有SaltStack和Ansible,两者互有优势。在这里我准备先整理Salt-Stack的常规安装部署和简单使用,包括salt-master、salt-minion(linux和windows)、salt-ssh。

后续篇幅再整理Salt-Stack的架构研究和Ansible的部署。希望能帮助到需要的朋友。

一、简介

d9c620f9e112df9b24eee18ad3d94528.png

Saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统。它是基于python开发的一套C/S架构配置管理工具,使用SSL证书签方的方式进行认证管理,底层使用ZeroMQ消息队列pub/sub方式通信。号称世界上最快的消息队列ZeroMQ能快速在成千上万台主机上进行各种操作,并采用RSA Key方式确认身份。

二、Salt-master安装

1. 本地yum源制作

(1)从官网上下载制作SaltStack yum源需要的各系统各软件包

(2)用本地yum源制作工具,进入到各系统文件夹下, 执行yum源制作

[root@localhost yum.repos.d]# createrepo -v .

生成repodata文件夹,完成源索引建立

(3)完成后到各系统下进行本地yum源安装测试,如遇到问题缺少包的情况,单独下载后再重新制作。

2.配置yum源

所有操作均需使用root用户。

(1)将yum.zip放到/home目录下并解压,解压之后,即存在/home/yum目录;

$ cd /home$ unzip yum.zip

(2)备份原有的yum库文件,并编辑salt-master需要的repo文件

$ cd /etc/yum.repos.d$ mkdir tmprepo$ mv *.repo tmprepo$ vi salt.repo

编辑salt.repo文件的内容如下:

[salt-yum]name=salt linuxbaseurl=file:///home/yum/$releasevergpgcheck=0enable=1

编辑完成后,输入:wq保存

(3)执行yum clean all来更新yum库设置。

3.安装master

注意:所有操作均需使用root用户

(1)执行yum install salt-master -y来安装salt-master。

直到提示completed! 表示执行结束。

4.配置master

所有操作均需使用root用户

(1)修改master的配置文件/etc/salt/master

将行"#auto_accept: False" 更改为"auto_accept: True",注意冒号之后有一个空格将行"#timeout: 5"改为"timeout: 180",注意冒号之后有一个空格将行"#file_recv: False"改为"file_recv: True",注意冒号之后有一个空格将行"#file_roots"的注释符去掉,来使file_roots可见。

(2)创建必要的目录

mkdir -p /srv/salt

5.salt-master启动

(1)设置master开机自动启动

$ chkconfig salt-master on

(2)启动salt-master

$ salt-master -d

三、salt-minion安装(Linux下)

1.上传安装包

将客户端安装包install-minion.zip上传至客户端服务器某个目录下,以/home目录为例。

上传时最好以二进制格式上传,可以避免跨平台传输过程中出现乱码。

2.解压安装包

以root用户切换到/home目录下,解压安装包

cd /homeunzip install-minion.zip

3.执行安装脚本

进入安装包目录,执行安装脚本,执行结束后,控制台显示“complete!”

cd /install-minionsh insminion.sh

4.检查安装结果

使用ps -ef | grep salt-minion或者service salt-minion status来查询客户端进程是否存在

登录服务端,尝试执行salt命令进行连接测试。

salt 'xxx.xxx.xxx.xxx' test.ping,其中xxx.xxx.xxx.xxx代表客户端的IP

四、salt-minion安装(Windows下)

1.支持windows环境

windows2008和windows2003

2.安装包说明

对于64位系统,安装Salt-Minion-xxxx.x.x-AMD64-Setup.exe安装包

对于32位系统,安装Salt-Minion-xxxx.x.x-win32-Setup.exe安装包

3.安装步骤

(1)双击运行跟操作系统对于的安装包,点击“next”

b35e3925d1ee0b4f99642f78e85f8131.png

(2)选择“I Agree”

ae7ae0e730731f5205e5751069769bf0.png

(3)填写Master主机的ip,以及本机的ip地址,然后选择“install”,开始安装

deca1cef9f932d01750c53f3e918efb9.png

(4)安装完成后运行。

(5)打开windows任务管理器,在“服务”中查看salt-minion服务是否已经处于“正在运行”状态。

8551a2ebc79a9a19477652815a12dcb5.png

如果为“已停止”状态,则右击选择“启动”,再观察运行状态

(6)对于windows2008环境,如果有出现salt-minion安装后不能运行的情况,需要安装Microsoft Visual C++ 2008 x64 SP1补丁包。

(7)最后,需要确认本机的防火墙是否已经关闭。

(8)注意:如果之前有客户端配置多台master连接的,修改minion安装路径下的C:\salt\conf\minion配置文件,找到“master:”标签,按下图标注的方式把原来配置的多个master主机ip地址,改为只配置一台master主机。

1b17b7b44ade556625dea03f7cd6b0f0.png

五、salt-ssh安装

1.安装salt-ssh

执行yum install salt-ssh -y来安装salt-ssh。

2.master生成秘钥(只需执行一次)

master服务器分别生成master秘钥文件,执行ssh-keygen后默认回车

[root@xxxx .ssh]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:18:17:cd:69:b9:69:17:1c:fd:28:7f:92:e1:15:46:74 root@xxxxThe key's randomart image is:+--[ RSA 2048]----+| .o +.oooE|| .* o .o.|| . .. o ..o.|| + + o o o|| . S. . + + || = .|| o || |+-----------------+

3.master端修改ssh_config文件(只需要执行一次)

[root@xxxx template]# vim /etc/ssh/ssh_config50 Host *51 GSSAPIAuthentication yes52 StrictHostKeyChecking no

4.master端修改logging(只需要执行一次)

修复/srv/salt下有中文,salt-ssh执行报错的BUG,具体如下:

[root@localhost salt]# vim /usr/lib64/python2.6/logging/__init__.py307 if self.args:308 args = tuple([(str(arg)).decode("utf-8") for arg in self.args])309 msg = msg % (args)310 return msg

f23b06eab16091a3f049f87df10bedf4.png

5.拷贝公钥(每接入一个节点,都需要只需一次)

(1)手动拷贝master上公钥文件/root/.ssh/id_rsa.pub到minion的/root/.ssh下

(2)登录minion,执行如下命令:

[root@localhost .ssh]# cd /root/.ssh[root@localhost .ssh]# cat id_rsa.pub authorized_keys[root@localhost .ssh]# service sshd restart

6.配置salt-ssh配置文件(每接入一个节点,都需要配置一次)

(1)打开master上的salt-ssh配置文件

[root@xxxx ~]# vim /etc/salt/roster

(2)编辑配置文件,以标注的方式配置key和host地址

# Sample salt-ssh config file#web1:# host: 192.168.42.1 # The IP addr or DNS hostname# user: fred # Remote executions will be executed as user fred# passwd: foobarbaz # The password to use for login, if omitted, keys are used# sudo: True # Whether to sudo to root, not enabled by default#web2:# host: 192.168.42.226.47.136.1:host: 26.47.136.1 注意:host前面有两个空格26.47.136.2:host: 26.47.136.2

在master端进行秘钥首次登录确认

2a6dc12fc287f8bb9dea8d713bf651eb.png

执行salt-ssh 接入的key地址 test.ping

输入Y后

输入接入的key地址的root用户密码,按回车确认

(4) 使用salt-ssh进行测试

[root@xxxx ~]# salt-ssh 26.47.136.1 test.ping26.47.136.1:True

至此,OK,搞定!

举报/反馈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值