Salt-ssh批量自动安装被控端minion

Salt-ssh批量自动安装被控端minion

  Salt-ssh是Saltstack的另外一种管理方式,无需安装minion端,可以运用salt的一切功能,管理和使用方法基本和salt一样。但是,salt-ssh并没有继承原来的ZeroMQ通讯架构。所以,她的执行速度比较慢。作为salt的补充在初次批量安装minion或某些不能安装minion的特殊场景下还是非常好用的。

上篇文章《集中化管理平台Saltstack》,我们介绍了saltstack的安装配置。这里我们来介绍下怎么批量安装被控端。saltstack-master已经配置好了,我们在这里还是采用原来的节点。下面,自动安装mysql节点为被控端。

一,环境配置说明

1.IP地址分配

Hostname     IP地址       节点     服务

saltstack01  10.62.83.211 master   salt-ssh

mysql01      10.62.83.201  mysql   minion

2.软件版本

软件    版本号

OS      CentOS release 6.7 (Final)

Python  python2.6.6

salt    2015.8.10(Beryllium)

二,安装配置salt-ssh

1.yum源配置

我们在这里还是采用上篇文章的yum文件

2.安装salt-ssh

Saltstack01节点继续安装salt-ssh

#yum -y installsalt-ssh

3.配置roster

所有需要安装被控端的主机信息,都在这里配置。

# vim /etc/salt/roster
 
# Sample salt-ssh config file
#web1:
# host: 192.168.42.1 # The IP addr or DNS hostname
# user: fred         # Remoteexecutions will be executed as user fred
# passwd: foobarbaz  # The passwordto use for login, if omitted, keys are used
# sudo: True         # Whether tosudo to root, not enabled by default
#web2:
# host: 192.168.42.2
10.62.83.201: ##批量部署多客户端,在此配置文件中添加类似客户端的选项即可
  host:10.62.83.201
  user:root
  passwd:Emsee123!
  port:22
 timeout: 10

当客户端数量较多时,手工配置/etc/salt/roster比较繁琐,这里写一个简单脚本供参考:

# vim ip.sh
#!/bin/bash
for i in `cat /root/hostip`
do
        echo"$i:">> /etc/salt/roster ##$i表示取文件的每行内容
        echo"  host: $i" >> /etc/salt/roster
        echo"  user: USERNAME" >>/etc/salt/roster
        echo"  passwd: PASSWORD" >>/etc/salt/roster
        echo"  sudo: True" >>/etc/salt/roster
        echo"  timeout: 10" >>/etc/salt/roster
done

其中/root/hostip为客户端IP文件,例如:

10.10.10.30
10.10.10.31
10.10.10.32

三,配置state.sls文件结构

*.sls文件对被控主机进行状态管理

1.创建目录

# mkdir /srv/salt/minions
# mkdir /srv/salt/minions/conf 
# mkdir /srv/salt/minions/yum.repos.d

2.编写.sls文件

# vim install.sls
#salt_minion_install
minion_yum:
  file.recurse:
    - name: /etc/yum.repos.d
    - source: salt://minions/yum.repos.d ##提前准备的yum文件路径
    - user: root
    - group: root
    - file_mode: 644
    - dir_mode: 755
    - include_empty: True
minion_install:
  pkg.installed:
    - pkgs:
      - salt-minion
    - require:
      - file: minion_yum
    - unless: rpm -qa | grep salt-minion
minion_conf:
  file.managed:
    - name: /etc/salt/minion
    - source: salt://minions/conf/minion  ##minion端需要配置的minion主配置文件
    -user: root
    - group: root
    - mode: 640
    - template: jinja
    - defaults:
      minion_id: {{ grains[‘fqdn_ip4‘][0]}}        ##这里grains是收集minion端/etc/hosts文件IP和主机名的
    - require:
      - pkg: minion_install
minion_service:
  service.running:
    - name: salt-minion
    - enable: True
    - require:
      - file: minion_conf

3.编写minion主文件

master: 10.62.83.211
id: mysql01 #这里需要在/etc/hosts中配置对应的域名解析

注意:

最终的目录结构如下图:

四,部署salt-minion

Salt-ssh端执行如下命令:

# salt-ssh-i ‘*‘ state.sls minions.install ##’*’表示所有,也可有替换为仅仅需要安装minion的主机名或IP地址

五,结果验证

#salt-ssh -ir ‘*‘ ‘ps aux | grep salt‘ | grep salt | grep -v grep| wc -l ##查看安装minion端的salt-minion进程是否运行,一个客户端运行一个salt-minion服务。

参考博文:http://www.cnblogs.com/jim-hwg/p/4940480.html

时间: 2024-11-05 14:59:08

Salt-ssh批量自动安装被控端minion的相关文章

Salt-ssh批量自动安装被控端salt-mini

Salt-ssh是Saltstack的另外一种管理方式,无需安装minion端,可以运行salt的一切功能,管理和使用方法基本和salt一样.但是,salt-ssh并没有继承原来的ZeroMQ通讯架构.所以,她的执行速度比较慢,作为salt的补充在初次批量安装minion或某些不能安装minion的特殊场景下还是非常好用的.环境配置说明: Hostname IP地址  节点 服务 salt-master 10.10.100.127 master salt-ssh salt-client01 10

ansible实战--批量自动安装与删除zabbix agentd

想必做网站运维的,对目前主流的开源监控组件zabbix应该不陌生.它功能是很强悍,但是被监控的客户端安装agentd是一件很吃力且费时的工作.如果你管理的server数量不多还好,大不了手工1台1台的安装.相反你管理的server数量很多,不采取自动化,真的会让人做梦都会想到安装zabbix agentd. 本次实战ansible批量自动安装与卸载zabbix agentd,版本zabbix-2.0.14+centos6.4+ansible1.8.1 下面就开始吧 1.安装配置ansible工具

自动化运维之-PXE实现系统批量自动安装

本节索引 需求分析 PXE简介 整体方案 服务选择 功能实现 安装调试 错误分析 总结 1 需求分析 随着互联网技术的不断壮大,服务器数量也在不断的增加,IT运维已经成为IT服务内涵中重要的组成部分.面对越来越复杂的业务,面对越来越多样化的用户需求,不断扩展的IT应用需要越来越合理的模式来保障IT服务能灵活便捷.安全稳定地持续保障,这种模式中的保障因素就是IT运维.从初期的几台服务器发展到庞大的数据中心,单靠人工已经无法满足在技术.业务.管理等方面的要求,那么标准化.自动化.架构优化.过程优化等

无人值守批量自动安装Linux操作系统

项目描述: 这是一个模拟企业无人值守批量安装服务器的项目,在服务器上搭建DHCP.TFTP.NFS等服务,利用kickstart文件的配置自动安装脚本,实现自动配置DNS,分配主机名等相关信息. 客户端从DHCP服务器上获得IP,从而从服务器下载引导程序pxelinux.0及配vmlinuz内核,镜像及从kickstart配置声明下载相关的软件包完成安装. 该项目可以提高效率,高质量同时安装大批量Linux系统,为企业节省大量人力物力 责任描述: 通过理解无人值守的工作流程,确保方案的正确性及可

CentOS 7搭建Cobbler批量自动安装系统

1.简介 1.1Cobbler linux系统安装服务,可以通过网络启动(PXE)方式快速安装.重装物理服务器和虚拟机,同时管理DNS.DHCP等.既可以使命令行方式管理,也可以给予web界面管理工具.同时提供API接口,可以方便二次开发使用,是较早的kickstart的升级版,比较容易配置,自带web界面比较易于管理. 2.环境准备 [[email protected] 7 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (C

通过puppet批量自动安装软件

通过puppet安装软件.以shotgun_desktop为例: # install shotgun_desktop package { 'shotgun_desktop': } -> file { 'remove shotgun desktop libQt':     path   => "/opt/Shotgun/Qt/lib",     ensure => absent,     force  => true, } file { '/usr/lib64/l

电脑用bat脚本给手机批量自动安装apk文件 autoInstall.bat

------创建这个文件autoInstall.bat 内容如下: @ECHO off @REM 将adb.exe添加到PATH中ECHO 初始化…@SET PATH=%PATH%;%CD%\Adb@REM SET PATH @REM 无限循环的标签:LOOP ECHO 等待您插入手机…adb wait-for-device @REM 循环安装本目录下的APK文件FOR %%i IN (*.apk) DO ( ECHO 正在安装:%%i adb install %%i )@echo off EC

自动安装memcached服务端与PHP扩展Memcached

该脚本基于阿里云服务器安装脚本,并只能运用于centos / aliyun os,该脚本使用时,需要与阿里云安装脚本的install.sh放在同一目录下.有缘人切忌乱用: 1 #! /bin/bash 2 #by dxd in 2015-12 3 #only suit for centos/aliyun os, and based on aliyun install script 4 5 PHP_EXT_SOURCE_PATH="" 6 PHP_BIN_PATH=/alidata/se

Linux部署之批量自动安装系统之TFTP篇

1.         安装:yum install tftp-server –y   2.         配置tftp文件开启tftp功能   3.         开启依赖服务xinetd   4.         安装syslinux   5.         将pxelinux.0文件放在tftpboot目录下   6.         并且复制光盘中如下的文件(内核文件等)   7.         编辑启动管理的配置文件