借用链接http://www.cnblogs.com/liuyansheng/p/6094122.html的安装方式,我再同步一下其它操作系统的安装方式,由原Docker官网拷贝

Ubuntu1404
 
- 添加 SaltStack repository key:
wget -O - https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub | apt-key add -
 
- 保存和新增一个apt源:
 
touch /etc/apt/sources.list.d/saltstack.list
vi /etc/apt/sources.list.d/saltstack.list
 deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main
 
-执行更新
sudo apt-get update
 
- 安装 salt-minion, salt-master 或者其它组件:
 
  sudo apt-get install salt-master
 
   sudo apt-get install salt-minion
 
   sudo apt-get install salt-ssh
 
   sudo apt-get install salt-syndic
 
   sudo apt-get install salt-cloud
 
   sudo apt-get install salt-api
 
- 如升级了,则重启:
 
 service salt-minion restart
 
添加解析
vi /etc/hosts
添加
127.0.0.1       salt
 
 
 
 
CentOS7
- 添加Repo的Yum源:

sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
 
- 更新缓存
sudo yum clean expire-cache
 
- 安装salt-minion, salt-master或者其它组件:
 
     sudo yum install salt-master
 
     sudo yum install salt-minion
 
     sudo yum install salt-ssh
 
     sudo yum install salt-syndic
 
     sudo yum install salt-cloud
 
     sudo yum install salt-api
 
- 如升级,需要重启:
 
 sudo systemctl restart salt-minion
 
 
 
CentOS6
- 添加Repo的Yum源:

sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el6.noarch.rpm
 
- 更新缓存
sudo yum clean expire-cache
 
- 安装salt-minion, salt-master或者其它组件:
 
     sudo yum install salt-master
 
     sudo yum install salt-minion
 
     sudo yum install salt-ssh
 
     sudo yum install salt-syndic
 
     sudo yum install salt-cloud
 
     sudo yum install salt-api
 
- 如升级,需要重启:
 
 sudo service salt-minion restart
 
/etc/hosts
添加
127.0.0.1       salt
 
 
比较常见操作
批量修改密码
 
CentOS等Rehat版本
#salt '*' cmd.run 'echo "visn6666" | passwd --stdin root'
 
Ubuntu版本
#salt '*' cmd.run  'echo "root:visn6666" |chpasswd'
 
但我们不能这样直接执行,salt '*' 是代表所有以接受Key的环境机器,应应用前先规划和分出哪些是Ubuntu哪些是CentOS,哪些是开发环境,哪些是测试环境
所以一开始所有的客户端salt-minion 我会在安装启动时,在他们的配置文件中。先定义一个主机名,例如:
 
在被管端配置master的ip地址我会初始三个地方的配置
比如Ubuntu的VM
 
vi /etc/salt/minion
 
master: 主管端的IP或域名
客户端的ID
id: 10.40.200.114
客户端的填充域名
append_domain: ubuntu1404.stg
 
最终上报到master的Key为:10.40.200.114.ubuntu1404.stg
 
 
比如centos的VM
 
vi /etc/salt/minion
 
master: 主管端的IP或域名
客户端的ID
id: 10.40.200.112
客户端的填充域名
append_domain: centos7.stg
 
最终上报到master的Key为:10.40.200.112.centos7.stg
如此一来,在批量修改密码,好操作些,因为它支持正则表达式匹配
 
CentOS等Rehat版本
# salt -E '.*centos*'  cmd.run 'echo "visn6666" | passwd --stdin root'
Ubuntu版本
# salt -E '.*ubuntu*' cmd.run  'echo "root:visn6666" |chpasswd'
 
当然如果没有提前规划好上报名字名称,也可通过以下方法-G方法进行操作,同理
 
salt -G "os:ubuntu"  cmd.run  'echo "root:visn6666" |chpasswd'
salt -G "os:centos"   cmd.run 'echo "visn6666" | passwd --stdin root'
 
 
批量更新软件
salt -E '.*ubuntu*' cmd.run  'apt-get install -y zip unzip'
salt -E '.*centos*'   cmd.run  'yum install -y unzip zip'
 
批量创建普通用户
salt -E '10.40.200.2[0-9]*|10.40.200.30.*|10.40.200.4[0-9]*' cmd.run 'groupadd venic'
salt -E '10.40.200.2[0-9]*|10.40.200.30.*|10.40.200.4[0-9]*' cmd.run 'adduser -g venic test'
 
批量替换配置文件(在没有足够的自信下,而且没有先使用单机验证过的话,不推荐这方法,因为配置文件中如果出现引号字符,会导致提前中断不成功,推荐使用配置文件管理的模块)
 

salt -E '.*centos*' cmd.run 'cat > /etc/hosts << EOF
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.40.150.150 zabbix-server.venic.com

EOF

 
批量追加配置文件(在没有足够的自信下,而且没有先使用单机验证过的话,不推荐这方法,因为配置文件中如果出现引号字符,会导致提前中断不成功,而且如果有些已推加了,再容易再重复追加。推荐使用配置文件管理的模块)
 
salt -E '.*centos*'  cmd.run 'cat >> /etc/security/limits.conf << EOF
* soft   nofile   65536
* hard nofile 65536
EOF
 
 
 

saltstack布署实践 【安装】的更多相关文章

  1. saltstack布署实践 【配置文件管理-state模块】

    那如果要批量修改被管机器的某个配置文件怎么做?以下给出一个最简单案例.   先在主管机器master上查看/etc/salt/master配置文件 看到有以下几行配置文件   # file_roots ...

  2. openstack私有云布署实践【0 前言】

    管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...

  3. openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】

    采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...

  4. zabbix 布署实践【3 proxy安装】

    使用openstack在生产环境创建的一台虚拟机   环境 CentOS7 4核4G内存40G硬盘 IP:10.120.150.150 镜像默认关闭防火墙,selinux ,NetworkManage ...

  5. zabbix 布署实践【2 agent安装】

    客户端的安装相对较为简单,主要是更新它的repo源   以CentOS7为例 rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabb ...

  6. zabbix 布署实践【1 server安装】

    通过openstack环境,开通了2台只有根分区的虚拟机,   目的是为了监控公司所有的物理机,网络设备,虚拟机,总计300个台以上,推荐配置,zabbix官方文档是有给出指引的   环境:CentO ...

  7. openstack私有云布署实践【2 安装前的服务器基本环境准备】

    服务器物理机都安装centos7.2 1511版本 , 此次采用的分区方式全是自动XFS格式LVM,在装系统时就将所有本地raid5硬盘都加入LVM全用了.默认/home目录有着最大的硬盘空间 并且我 ...

  8. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  9. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

随机推荐

  1. [LeetCode] ZigZag Conversion [9]

    称号 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows li ...

  2. (UML两个汇总)九种图。

    最后总结UML关系,有明确的关系,现在让我们总结一下UML九图..图往往比文字要直观,因此,当我们开发软件.文件必须是不可或缺的人物,. 以下我将这九种图分了一下: 我们还能够将这九种图分为静态图和动 ...

  3. 安装Windows操作系统的驱动程序(驱动精灵版) - 进阶者系列 - 学习者系列文章

    安装完操作系统之后,就需要安装对应的驱动程序了.下面就简要介绍下驱动程序的安装.以驱动精灵驱动安装软件为例. 1.  下载驱动精灵. 从http://www.drivergenius.com/网站下载 ...

  4. 证明中序遍历O(n)

    算法导论12.1 什么是二叉搜索树 二叉搜索树应满足的性质: 设x是二叉搜索树中的一个结点.如果y是x左子树中的一个结点,那么y.key <= x.key.如果y是右子树中的一个结点,那么y.k ...

  5. QTP DataTable全攻略(1)

    上一篇 / 下一篇  2009-07-27 00:14:16 / 个人分类:qtp 查看( 575 ) / 评论( 0 ) / 评分( 0 / 0 ) 下面的代码可能有点乱,基本涉及到常用的datat ...

  6. java中实现与.net的format格式化字符串输出

    Java中的格式化字符串 System.out.println(MessageFormat.format("name={0}", "张三")); .net中的格 ...

  7. 自定义MVP .net框架

      一个自定义MVP .net框架 AngleFrame   摘要:本篇是本人在完成.net平台下一个项目时,对于MVP框架引发的一些思考,以及开发了一个小型的配置型框架,名字叫作AngleFrame ...

  8. 什么是gulp

    gulp:入门简介   本文是gulp的入门级介绍,主要内容包括什么是gulp,gulp与grunt有什么区别,gulp可以解决grunt存在的哪些问题,以及一个简单的说明例子. 什么是gulp gu ...

  9. iOS基础 - 触摸事件与手势识别

    一.iOS的输入事件 UIKit可识别三种类型的输入事件: 触摸事件 运动(加速计)事件 远程控制事件 二.UIEvent iOS中许多事件对象都是UIEvent类的实例,记录事件产生的时刻和类型 U ...

  10. 使用Strust2框架写HelloWorld

    使用Strust2框架写HelloWorld 一.创建JavaWeb项目 二.搭建Stust2 FrameWork开发环境 三步完成Struts2 FrameWork开发环境的搭建 1.加入搭建Str ...