SaltStack自动化运维安装

在saltstack控制机上安装主控软件

安装yum源

[root@localhost yum.repos.d]# rpm -ivh https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
获取https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:salt-repo-latest-2.el7           ################################# [100%]

安装主控软件

[root@localhost ~]# yum -y install salt-master salt-minion
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
myrepo                                                          | 4.1 kB  00:00:00     
salt-latest                                                     | 2.9 kB  00:00:00     
salt-latest/x86_64/primary_db                                   |  40 kB  00:00:25     
正在解决依赖关系
--> 正在检查事务
---> 软件包 salt-master.noarch.0.2019.2.3-1.el7 将被 安装
--> 正在处理依赖关系 salt = 2019.2.3-1.el7,它被软件包 salt-master-2019.2.3-1.el7.noarch 需要
--> 正在处理依赖关系 systemd-python,它被软件包 salt-master-2019.2.3-1.el7.noarch 需要
--> 正在检查事务
---> 软件包 salt.noarch.0.2019.2.3-1.el7 将被 安装
--> 正在处理依赖关系 python-tornado < 6.0,它被软件包 salt-2019.2.3-1.el7.noarch 需要
--> 正在处理依赖关系 python-tornado >= 4.2.1,它被软件包 salt-2019.2.3-1.el7.noarch 需

在主控机上修改名字

[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# bash
[root@node1 ~]# 

修改配置文件

加上主控机的ip是什么

[root@node1 ~]# vi /etc/salt/minion
master: 192.169.90.131

在被控制机上安装客户端

安装yum源

[root@localhost yum.repos.d]# rpm -ivh https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
获取https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:salt-repo-latest-2.el7           ################################# [100%]

安装被控机软件

[root@localhost ~]# yum -y install salt-minion
已加载插件:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.

在主机上修改名字

[root@localhost ~]# hostnamectl set-hostname minoin
[root@localhost ~]# bash
[root@node2~]# 

修改配置文件

加上主控机的ip是什么

[root@node2~]# vi /etc/salt/minion
master: 192.169.90.131

在主控机上没批准时 主控机和被控机的公钥和私钥在minion_pre里面

[root@node1 salt]# tree
.
├── cloud
├── cloud.conf.d
├── cloud.deploy.d
├── cloud.maps.d
├── cloud.profiles.d
├── cloud.providers.d
├── master
├── master.d
├── minion
├── minion.d
├── minion_id
├── pki
│   ├── master
│   │   ├── master.pem
│   │   ├── master.pub
│   │   ├── minions
│   │   ├── minions_autosign
│   │   ├── minions_denied
│   │   ├── minions_pre
│   │   │   ├── node1
│   │   │   └── node2
│   │   └── minions_rejected
│   └── minion
│       ├── minion.pem
│       └── minion.pub
├── proxy
├── proxy.d
└── roster

16 directories, 12 files

master收到minion的公钥后,通过salt-key命令接受该公钥 然后公钥就会放在minions里面代表已经接受了被控机的公钥

[root@node1 salt]# salt-key -a 'node*'
The following keys are going to be accepted:
Unaccepted Keys:
node1
node2
Proceed? [n/Y] y
Key for minion node1 accepted.
Key for minion node2 accepted.
[root@node1 salt]# tree
.
├── cloud
├── cloud.conf.d
├── cloud.deploy.d
├── cloud.maps.d
├── cloud.profiles.d
├── cloud.providers.d
├── master
├── master.d
├── minion
├── minion.d
├── minion_id
├── pki
│   ├── master
│   │   ├── master.pem
│   │   ├── master.pub
│   │   ├── minions
│   │   │   ├── node1
│   │   │   └── node2
│   │   ├── minions_autosign
│   │   ├── minions_denied
│   │   ├── minions_pre
│   │   └── minions_rejected
│   └── minion
│       ├── minion.pem
│       └── minion.pub
├── proxy
├── proxy.d
└── roster

SaltStack远程执行

测试所有被控主机是否存活

[root@node1 salt]# salt '*' test.ping
node1:
    True
node2:
    True

用saltstack执行命令,

[root@node1 salt]# salt 'node2*' cmd.run 'mkdir /tmp/haha'
node2:
[root@node1 salt]# salt '*' cmd.run 'ls /tmp'
node1:
    ks-script-zdfvEf
    systemd-private-85217f4e60c94a57a6e1f290b3d43cc3-chronyd.service-Vc0MzR
    vmware-root
    vmware-root_5320-3133879259
    yum.log
node2:
    haha
    ks-script-c67Uor
    systemd-private-98835d864f514c8f938bbd859170fcc7-chronyd.service-m5D9Bg
    systemd-private-98835d864f514c8f938bbd859170fcc7-vgauthd.service-vfu0Dn
    systemd-private-98835d864f514c8f938bbd859170fcc7-vmtoolsd.service-Fgs84j
    yum.log

salt命令使用

查看版本

[root@node1 ~]# salt -v  '*' test.ping
Executing job with jid 20200211203423829398
-------------------------------------------

node2:
    True
node1:
    True

加-E是正则表达式

[root@node1 ~]# salt  -E  'nod*' test.ping
node1:
    True
node2:
    True

加L列表匹配

[root@node1 ~]# salt  -L  node1,node2 test.ping
node1:
    True
node2:
    True

加S是网段匹配

[root@node1 ~]# salt  -S  '192.168.90.0/24' test.ping
node1:
    True
node2:
    True

加G是系统平台匹配

[root@node1 ~]# salt  -G  'os:redhat' test.ping
node2:
    True
[root@node1 ~]# salt  -G  'os:centos' test.ping
node1:
    True

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值