GVKun编程网logo

salt-ssh 自动安装salt-minion(saltstack安装)

6

这篇文章主要围绕salt-ssh自动安装salt-minion和saltstack安装展开,旨在为您提供一份详细的参考资料。我们将全面介绍salt-ssh自动安装salt-minion的优缺点,解答s

这篇文章主要围绕salt-ssh 自动安装salt-minionsaltstack安装展开,旨在为您提供一份详细的参考资料。我们将全面介绍salt-ssh 自动安装salt-minion的优缺点,解答saltstack安装的相关问题,同时也会为您带来ansible 安装 salt-minion、CentOS 6.5上安装salt、centos6.5使用yum安装saltstack-之salt-master salt-minion、CentOS6/7 使用saltstack源安装saltstack的实用方法。

本文目录一览:

salt-ssh 自动安装salt-minion(saltstack安装)

salt-ssh 自动安装salt-minion(saltstack安装)

作用:为了不手动去安装一台一台去salt-minion,并进重复的配置

一、环境

系统环境:

#cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

#python -V

Python 2.7.5

各节点环境说明:

分享图片

 

二、hosts文件解析

#vim /etc/hosts

192.168.1.101 salt.node1.com
192.168.1.200 salt.node2.com
192.168.1.201 salt.node3.com

三、安装salt-ssh

a.添加yum源:

*参考salt-stack官网:https://docs.saltstack.com/en/latest/topics/installation/rhel.html

# vim /etc/yum.repos.d/salt-stack.repo
[saltstack-repo]
name=SaltStack repo for Red Hat Enterprise Linux $releasever
baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
enabled=1
gpgcheck=1
gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub
https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/base/RPM-GPG-KEY-CentOS-7

b.安装salt-ssh

#yum install salt-ssh -y

c.配置roster文件

*可以在user下面配置passwd,如不配置的话,就要使用salt-ssh ‘*‘ test.ping -i命令时配置输入密码进行认证

# vim /etc/salt/roster

node1:
host: 192.168.1.200
user: root
port: 22
node2:
host: 192.168.1.201
user: root
port: 22
四、配置state.sls文件及给复制相关文件到部署目录

a.创建文件目录

# mkdir -p /srv/salt/minions
# mkdir -p /srv/salt/minions/conf 
# mkdir -p /srv/salt/minions/yum.repos.d
b.编写安装minions的sls文件--install.sls
# cd /srv/salt/minions/

# vim install.sls

#salt_minion_install
minion_yum:             #把本地minions/yum.repos.d下和文件复制到要安装minion的/etc/yum.repos.d下
  file.recurse:
    - name: /etc/yum.repos.d
    - source: salt://minions/yum.repos.d
    - user: root
    - group: root
    - file_mode: 644
    - dir_mode: 755
    - include_empty: True
minion_install:         #安装salt-minion
  pkg.installed:
    - pkgs:
      - salt-minion
    - require:
      - file: minion_yum
    - unless: rpm -qa | grep salt-minion
minion_conf:           #复制准备好的minion配置文件复制到要安装minion下的/etc/salt/minion下
  file.managed:
    - name: /etc/salt/minion
    - source: salt://minions/conf/minion
    - user: root
    - group: root
    - mode: 640
    - template: jinja
    - defaults:
      minion_id: {{ grains[‘fqdn_ip4‘][0] }}        
    - require:
      - pkg: minion_install
minion_service:       #开机自动启动
  service.running:
    - name: salt-minion
    - enable: True
    - require:
      - file: minion_conf

c.编写minion配置文件 

#vim  minion 

# resolved,then the minion will fail to start.
master: 192.168.1.101                     #只用修改master地址

d.把salt源和epel源复制到指定目录下

#cp /etc/yum.repos.d/salt-stack.repo /srv/salt/minions/yum.repos.d/

# cp /etc/yum.repos.d/epel.repo /srv/salt/minions/yum.repos.d/ 

e.最后查看一下目录详情:

# pwd
/srv/salt/minions

# tree
├── conf
│   └── minion
├── install.sls
└── yum.repos.d
├── epel.repo
└── salt-stack.repo

五、执行salt-ssh安装salt-minion

#salt-ssh -i ‘*‘ state.sls minions.install

六、验证安装结果

*注:在最后我在salt-ssh这台主机上安装了salt-mater(yum install -y salt-master ),不然下面的命令执行无效

# salt-key
Accepted Keys:
Denied Keys:
Unaccepted Keys:
centos7
node1
node2
Rejected Keys:

 

分享图片

ansible 安装 salt-minion

ansible 安装 salt-minion

---
- hosts: test
  remote_user: root
  vars:
    software:
      - ntp
      - lrzsz
    master_ip: 192.168.1.220

  tasks:
    - name: install ntp and lrzsz
      yum: name={{item}}  state=present
      with_items:
       - ''{{software}}''
 
    - name: ntp update
      command: ntpdate -u pool.ntp.org

    - nameinstall python-selinux
      yum: name=libselinux-python  state=present
      tags: libselinux-python

    - nameinstall salt-minion
      yum: name=salt-minion state=present
      tags: salt-minion

    - name: copy salt-minion config file
      template: src=/root/minion.j2  dest=/etc/salt/minion  owner=root group=root mode=0640
      notify:
        - restart salt-minion
      tags: salt-minion

  handlers:
   - name: restart salt-minion
     service: name=salt-minion  state=restarted


CentOS 6.5上安装salt

CentOS 6.5上安装salt

一、环境准备

[root@salt-master ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=salt-master.contoso.com

[root@salt-master ~]# hostname

salt-master.contoso.com

[root@salt-master ~]# /etc/init.d/iptables status

iptables: Firewall is not running.

[root@salt-master ~]# iptables -nL

Chain INPUT (policy ACCEPT)

target prot opt source destination


Chain FORWARD (policy ACCEPT)

target prot opt source destination


Chain OUTPUT (policy ACCEPT)

target prot opt source destination

[root@salt-master ~]# getenforce

disabled

[root@salt-master ~]# crontab -l

*/10 * * * * ntpdate time.nist.gov >/dev/null 2>&1

[root@salt-master ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@salt-master ~]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.100 salt-master salt-master.contoso.com

172.16.1.101 salt-minion01 salt-minion01.contoso.com

172.16.1.102 salt-minion02 salt-minion02.contoso.com

二、安装salt

1、master安装

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

yum -y install salt-master

2、minion安装

rpm -Uvhhttp://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

yum -y install salt-minion

三、修改配置文件

1、master端配置文件

[root@salt-master ~]# cp /etc/salt/master.sample /etc/salt/master

[root@salt-master ~]# vi /etc/salt/master

[root@salt-master salt]# diff master.sample master

416,418c416,420

< #file_roots:

< # base:

< # - /srv/salt

---

> file_roots:

> base:

> - /srv/salt/base

> prod:

> - /srv/salt/prod

535a538,542

> pillar_roots:

> base:

> - /srv/pillar/base

> prod:

> - /srv/pillar/prod

2、minion端配置文件

[root@salt-minion01 ~]# cp /etc/salt/minion.sample /etc/salt/minion

[root@salt-minion01 ~]# vi /etc/salt/minion

[root@salt-minion01 ~]# diff /etc/salt/minion.sample /etc/salt/minion

16a17

> master: salt-master.contoso.com

78a80

> id: salt-minion01.contoso.com

四、启动salt服务

1、启动master服务

[root@salt-master ~]# /etc/init.d/salt-master start

[root@salt-master ~]# chkconfig salt-master on

检查服务运行状态:

[root@salt-master ~]# netstat -tnlp|grep 4506

tcp 0 0 0.0.0.0:4506 0.0.0.0:* LISTEN 1105/python2.6

[root@salt-master ~]# ps -ef|grep salt

root 1075 1 0 05:39 ? 00:00:00 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1076 1075 0 05:39 ? 00:00:26 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1078 1075 0 05:39 ? 00:00:00 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1083 1075 0 05:39 ? 00:00:00 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1084 1075 0 05:39 ? 00:00:00 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1088 1084 0 05:39 ? 00:00:01 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1089 1084 0 05:39 ? 00:00:01 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1095 1084 0 05:39 ? 00:00:01 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1096 1084 0 05:39 ? 00:00:01 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1102 1084 0 05:39 ? 00:00:01 /usr/bin/python2.6 /usr/bin/salt-master -d

root 1105 1084 0 05:39 ? 00:00:00 /usr/bin/python2.6 /usr/bin/salt-master -d

root 2947 1151 0 07:10 pts/0 00:00:00 grep salt

[root@salt-master ~]# lsof -i :4506

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

salt-mast 1105 root 20u IPv4 9750 0t0 TCP *:4506 (LISTEN)

salt-mast 1105 root 23u IPv4 11915 0t0 TCP salt-master:4506->salt-minion01:52639 (ESTABLISHED)

salt-mast 1105 root 28u IPv4 11914 0t0 TCP salt-master:4506->salt-minion02:34798 (ESTABLISHED)

2、启动minion服务

[root@salt-minion01 ~]# /etc/init.d/salt-minion start

[root@salt-minion01 ~]# chkconfig salt-minion on

检查服务运行状态:

[root@salt-minion01 ~]# netstat -tunlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 950/sshd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1026/master

tcp 0 0 :::22 :::* LISTEN 950/sshd

tcp 0 0 ::1:25 :::* LISTEN 1026/master

[root@salt-minion01 ~]# lsof -i :4506

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

salt-mini 1054 root 13u IPv4 9848 0t0 TCP salt-minion01:52639->salt-master:4506 (ESTABLISHED)

[root@salt-minion01 ~]# ps -ef|grep salt

root 1054 1 0 05:39 ? 00:00:04 /usr/bin/python2.6 /usr/bin/salt-minion -d

root 1254 1100 0 07:13 pts/0 00:00:00 grep salt

五、简单测试

1)添加minion端

[root@salt-master ~]# salt-key -A

[root@salt-master ~]# salt-key -L

Accepted Keys:

salt-minion01.contoso.com

salt-minion02.contoso.com

Denied Keys:

Unaccepted Keys:

Rejected Keys:

2)test.ping方法测试

[root@salt-master ~]# salt '*' test.ping

salt-minion02.contoso.com:

True

salt-minion01.contoso.com:

True

3)cmd.run方法测试

[root@salt-master ~]# salt '*' cmd.run 'hostname'

salt-minion01.contoso.com:

salt-minion01.contoso.com

salt-minion02.contoso.com:

salt-minion02.contoso.com

centos6.5使用yum安装saltstack-之salt-master salt-minion

centos6.5使用yum安装saltstack-之salt-master salt-minion

首先准备至少两台主机

一台安装salt-master

[root@master /]# yum install salt-master -y

一下是安装成功结果:


其余的主机安装minion

[root@minion /]#yum install salt-minion -y


以上就完成了yum安装salt-master与salt-minion

然后设置开机启动

master主机执行:chkconfig salt-master on

minion主机执行:chkconfig salt-minion on

然后修改相关配置

master主机端:

[root@master /]# vi /etc/salt/master

找到以下配置

#file_roots:
# base:
# - /srv/salt


#pillar_roots:
# base:
# - /srv/pillar


将注释去掉,注意base前两个空格及 - /srv/前四个空格

然后启动服务:

[root@master /]#service salt-master start

minion主机端:

[root@minion /]# vi /etc/salt/minion

找到以下配置

#master: salt

去掉注释,修改为master的主机名或者IP,配置主机名的话需要在minion本机做解析

#id: web01

去掉注释,id是minion端主机的标识,方便在master区分,可以自定义,尽量通俗易懂,类似以上举例web01标识web服务器01编号

然后启动服务:

[root@minion /]# service salt-minion start

验证master与minion是否正常通信

在master执行salt-key



如图,在箭头位置有看到minion配置的ID名称就证明通信正常。

然后master服务允许所有minion的公钥

[root@master /]# salt-key -A -y

以上操作就完成了saltstack中master与minion的安装。


注:如果用yum无法安装,提示:No package salt-minion available.请先安装epel源

[root@minion /]# cd /usr/local/src/
[root@minion /]# wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@minion /]# rpm -ivh epel-release-6-8.noarch.rpm

然后再执行yum安装命令:

[root@minion /]# yum install salt-minion -y

CentOS6/7 使用saltstack源安装saltstack

CentOS6/7 使用saltstack源安装saltstack

CentOS6/7 使用saltstack源安装saltstack

CentOS6安装Saltstack

  • 运行以下命令来安装SaltStack存储库和密钥
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm
  • 清楚yum过期缓存
sudo yum clean expire-cache
  • 依次执行下面命令安装salt所用模块
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
  • 以安装salt-minion为例。安装完成启动minion
sudo service salt-minion start

CentOS7安装saltstack

  • 运行以下命令来安装SaltStack存储库和密钥
sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
  • 清楚yum过期缓存
sudo yum clean expire-cache
  • 依次执行下面命令安装salt所用模块
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
  • 以安装salt-minion为例。安装完成启动minion
sudo systemctl start salt-minion

其他系统安装saltstack参考:

  • http://mirrors.ustc.edu.cn/salt/#bootstrap

关于salt-ssh 自动安装salt-minionsaltstack安装的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于ansible 安装 salt-minion、CentOS 6.5上安装salt、centos6.5使用yum安装saltstack-之salt-master salt-minion、CentOS6/7 使用saltstack源安装saltstack的相关信息,请在本站寻找。

本文标签: