salt stack 运维工具——自动化(二)
2014-03-17 12:01
603 查看
基于完成安装的salt master和minion( /article/4399222.html ),接下来配置它强大的的管理功能。
需求:分发 从服务器运行指令,例如:可以指定某客户端或者所有客户端运行安装nginx。
Master 与 Minion 认证
1.minion 在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion 里面 设置)下自动生成 minion.pem(private key)和 minion.pub(public key),然后将 minion.pub 发送给 master。
2.master 在接收到minion的public key后,通过salt-key命令accept minion public key, 这样在 master 的/etc/salt/pki/master/minions 下的将会存放以 minion id 命名的 public key, 然后 master 就能对 minion 发送指令了。
KEY 管理:
Salt 在 master 和 minion 数据交换过程中使用 AES 加密, 为了保证发送给 minion 的指令不 会被篡改,master 和 minion 之间认证采用信任的接受(trusted, accepted )的 key. 在发送命令到 minion 之前,minion 的 key 需要先被 master 所接受(accepted). 运行 salt-key 可以列出当前 key 的状态
1. 修改 master 配置, vim /etc/salt/master 去掉前面 #号
2. 告诉master 的salt,配置管理文件在哪里,根据你是如何安装salt,有时需要自动创建 /srv/salt目录,然后需要创建一个top.sls 文件,这个也是入口文件,可以用于作为其他服务器的基础配置文件。
3. 在/srv/salt/ 目录下,创建 dev目录,dev 目录下创建 nginx(这些目录和文件名,随意定义,清晰的表示自己安装什么服务即可)
现在进行测试吧:
现在我们在服务端进行推送管理:
然后再客户端验证
到这里就完成master 指定客户端安装nginx服务。如果有几百台机器同时需要安装,岂不是很方便。
本文出自 “濛sir的积累” 博客,转载请与作者联系!
需求:分发 从服务器运行指令,例如:可以指定某客户端或者所有客户端运行安装nginx。
Master 与 Minion 认证
1.minion 在第一次启动时,会在/etc/salt/pki/minion/(该路径在/etc/salt/minion 里面 设置)下自动生成 minion.pem(private key)和 minion.pub(public key),然后将 minion.pub 发送给 master。
2.master 在接收到minion的public key后,通过salt-key命令accept minion public key, 这样在 master 的/etc/salt/pki/master/minions 下的将会存放以 minion id 命名的 public key, 然后 master 就能对 minion 发送指令了。
KEY 管理:
Salt 在 master 和 minion 数据交换过程中使用 AES 加密, 为了保证发送给 minion 的指令不 会被篡改,master 和 minion 之间认证采用信任的接受(trusted, accepted )的 key. 在发送命令到 minion 之前,minion 的 key 需要先被 master 所接受(accepted). 运行 salt-key 可以列出当前 key 的状态
1. 修改 master 配置, vim /etc/salt/master 去掉前面 #号
2. 告诉master 的salt,配置管理文件在哪里,根据你是如何安装salt,有时需要自动创建 /srv/salt目录,然后需要创建一个top.sls 文件,这个也是入口文件,可以用于作为其他服务器的基础配置文件。
vim /srv/salt/top.sls dev: 'minion.hello.com': - nginx
3. 在/srv/salt/ 目录下,创建 dev目录,dev 目录下创建 nginx(这些目录和文件名,随意定义,清晰的表示自己安装什么服务即可)
cd /srv/salt mkdir dev cd dev mkdir nginx4. 在/srv/salt/dev/nginx 目录下,指定配置文件内容nginx.sls ( 缩进为2个空格,冒号后面1个空格)
nginx: pkg: - installed service: - running - enable: Ture - watch: - file: /etc/nginx/nginx.conf - file: /etc/nginx/conf.d/default.conf - require: - pkg: nginx /etc/nginx/nginx.conf: file.managed: - source: salt://nginx/nginx.conf - mode: 664 - user: root - group: root /etc/nginx/conf.d/default.conf: file.managed: - source: salt://nginx/default.conf - mode: 664 - user: root - group: root解释说明:
第一行:告诉管理工具,这是一个id说明,如我这是管理nginx配置的,我就写nginx 第二行:告诉管理工具,这个软件需要被安装,如果没安装就会执行yum安装 第三行:需要安装的软件名称 第四行:告诉管理工具,这是服务管理 第五行:告诉管理工具,这个服务需保证是运行状态 第六行:告诉管理工具,这个服务设置开机启动 第七-九行:观察file文件改动,有改动就重启服务 第十二行:文件标识 第十三行:文件管理 第十四行:指定数据源在哪里,即服务端的源,当这个文件被改动时,就会触发包管理工具,更改上面file指定的文件,可以 看成是同步更新。 第十五行:指定file文件的权限 第十六行:指定文件的所属用户 第十七行:指定文件的所属组 第十八行-第二十三行,请参考 十二——十七行5. 然后把master上nginx目录下的 nginx.conf 和 default.conf 复制到salt 的nginx目录下(/srv/salt/nginx)
现在进行测试吧:
rpm -qa | grep nginx
现在我们在服务端进行推送管理:
salt 'minion.hello.com' state.highstate
然后再客户端验证
到这里就完成master 指定客户端安装nginx服务。如果有几百台机器同时需要安装,岂不是很方便。
本文出自 “濛sir的积累” 博客,转载请与作者联系!
相关文章推荐
- 自动化运维工具Saltstack使用杂记
- 自动化运维工具之saltstack
- 自动化运维工具之SaltStack-2、SaltStack配置管理
- 自动化运维工具SaltStack - 分组(使用记录,groups)
- 自动化运维工具SaltStack
- ansible puppet saltstack三款自动化运维工具的对比
- 自动化运维工具之Saltstack
- saltstack:运维自动化工具
- 自动化运维工具之SaltStack-1、SaltStack介绍及安装
- 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)
- 自动化运维工具之saltstack
- 运维自动化之:Saltstack配置管理工具安装配置使用攻略
- 自动化运维工具Saltstack详细介绍
- SaltStack自动化运维工具
- 自动化运维工具之Ansible vs SaltStack
- 自动化运维工具Saltstack详细介绍 推荐
- 自动化运维之SaltStack
- 自动化管理工具Saltstack之服务管理(10)
- 运维工具SaltStack之三Grains组件
- 自动化运维工具Saltstack学习笔记(salt-ssh/salt-api/salt-syndic)