借用链接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. JSON解析之Gson

    1.Gson简介 Gson是一个将Java对象转为JSON表示的开源类库,由Google提供,并且也可以讲JSON字符串转为对应的Java对象.虽然有一些其他的开源项目也支持将Java对象转为JSON ...

  2. .NET的微型Web框架 Nancy

    .NET的微型Web框架 Nancy .NET的微型Web框架 Nancy   大部分微软平台的开发人员如果选择开发框架只能是在ASP.NET WEBFORM和ASP.NET MVC两个之间选择. 而 ...

  3. INSTEAD OF触发器

    Oracle触发器5(INSTEAD OF触发器) 前提:对于简单的视图,可以直接进行DML操作,但是对于复杂视图,不允许直接执行DML操作,当视图符合以下任何一种情况都不可以: 具有集合操作符(UN ...

  4. Smarty属性

    Attributes [属性] 大多数函数都带有自己的属性以便于明确说明或者修改他们的行为.  smarty函数的属性很像HTML中的属性.  静态数值不需要加引号,但是字符串建议使用引号.  如果用 ...

  5. 介绍一款基于jquery好用的编辑框htmlbox.full.js

    1. 可选择背景颜色,自主选择工具,感觉挺好用的,不过需要注意,添加引用后找不到工具图标的图片,找到脚本修改idir:属性改成自己的图片文件夹存放路径即可. asp.net mvc3提交内容报错提示含 ...

  6. 控制台命令行API

    js调试系列: 控制台命令行API   上次初步介绍了什么是控制台<js调试系列: 初识控制台>,以及简单的 console.log 输出信息.最后还有两个小问题,我们就当回顾,来看下怎么 ...

  7. Apple Swift中英文开发资源

    Apple Swift中英文开发资源集锦[apple swift resources] 找到的一些Apple Swift中英文资源原文链接,希望对大家有所帮助.欢迎大家补充,原始资源链接最好! The ...

  8. Effective C++(17) 以独立语句将newed对象置入智能指针

    问题聚焦:     使用了资源管理对象(如智能指针),就一定是安全的吗?显然不是.     资源泄露发生可能在于,在“资源被创建”和“资源被转换为资源管理对象”两个时间点之间有可能发生异常干扰. 看下 ...

  9. IOS UI 第六篇:基本UI

    加两个UI模块   - (void)viewDidLoad{    [self begin1];    [self begin2];    [super viewDidLoad];    // Do ...

  10. Linux下监控磁盘空间的四个命令

    无论是运行简单的Linux桌面还是大型Linux服务器,都需要了解可供应用程序使用的空间,并跟踪系统的磁盘使用情况.下面介绍四个核心命令行命令来管理Linux系统上的介质环境. 一.mount命令 m ...