广告
返回顶部
首页 > 资讯 > 数据库 >SaltStack (一)
  • 671
分享到

SaltStack (一)

2024-04-02 19:04:59 671人浏览 泡泡鱼
摘要

SaltStack介绍saltstack是一个开源的批量分发管理工具,具有非常强大的管理功能,能同时管理上万台服务器。由python语言编写,并提供api.saltstack有四种运行方式:Local, M

SaltStack介绍

saltstack是一个开源的批量分发管理工具,具有非常强大的管理功能,能同时管理上万台服务器。由python语言编写,并提供api.

saltstack有四种运行方式:Local, Master/MiNIOn, Salt ssh,Syndic

saltstack有三大功能:远程执行,配置管理(状态),云管理。

saltstack支持多种常见的操作系统,包括windows(只能做为minion)。

saltstack是依赖于ZeroMQ来实现的(订阅发布模式),监听4505端口(发布系统端口)。所有的minion都会连接到master上的4505端口,而master上的4506端口用于接受minion返回的数据。由于使用的是tcp长连接,所以在master上对海量的服务器执行命令时,会得到非常迅速的响应。


SaltStack的安装配置

Http://repo.saltstack.com/#rhel 

SaltStack提供了非常丰富的安装方式,可以在官方网站找到对应的说明。

这里使用两台CS7的系统,一台作为master(node1),另一台作为Minion(node2)。

安装SaltStack仓库:

yum install -y https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm

在master端安装服务端和客户端:

yum install salt-master salt-minion -y

在minoin安装客户端:

yum install salt-minion -y

启动master:

# systemctl  start salt-master

修改master和minion端的minion配置文件,为minion指定master,:

vim /etc/salt/minion
master: 172.16.10.60 #可以是主机名或IP
#id:     #id默认可以不改,为主机名

# systemctl start salt-minion  #启动minion服务

启动成功后,会生成一个/etc/salt/minion_id的文件,记录了minion的ID信息。

# cat /etc/salt/minion_id 
node2

在pki目录下会生成一系列的密钥:

[root@node1 salt]# tree pki
pki
├── master
│   ├── master.pem   #master私钥
│   ├── master.pub   #master公钥
│   ├── minions
│   ├── minions_autosign
│   ├── minions_denied
│   ├── minions_pre   #未被管理的密钥
│   │   ├── node1
│   │   └── node2
│   └── minions_rejected
└── minion
    ├── minion.pem
    └── minion.pub
[root@node2 salt]# tree pki
pki
├── master
└── minion
    ├── minion.pem
    └── minion.pub

通过MD5校验对比,可以发现master上收到的node2的密钥和node2本地的密钥相同:

# 完成分发后,路径改变
[root@node1 ~]# md5sum  /etc/salt/pki/master/minions/node2
d9a0453D7d539dbcc36e1daea259aa10  /etc/salt/pki/master/minions/node2

[root@node2 ~]# md5sum /etc/salt/pki/minion/minion.pub 
d9a0453d7d539dbcc36e1daea259aa10  /etc/salt/pki/minion/minion.pub


在master上使用salt-key命令来查看添加minion主机:

[root@node1 salt]# salt-key 
Accepted Keys:
Denied Keys:
Unaccepted Keys:
node1
node2
Rejected Keys:

加入指定的minion主机:

# salt-key -a node1   #可以使用通配符如 node*添加所有以node开头为开头的主机
The following keys are Going to be accepted:
Unaccepted Keys:
node1
Proceed? [n/Y] Y
Key for minion node1 accepted.

同意所有minion主机:

# salt-key -A

对所有的主机执行命令,测试主机是否在线:

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

对所有主机运行一个命令,出现下面结果说明可以进行远程管理了:

[root@node1 ~]# salt '*' cmd.run 'date'
node1:
    Fri Nov  4 14:21:37 CST 2016
node2:
    Fri Nov  4 14:21:37 CST 2016


如果在使用过程中修改了主机名(不推荐这样做,会造成很多问题),可以在minion的配置文件中指定主机名(id), 然后删除修改主机的KEY,重新启动minon:

[root@node-1 ~]# salt-key -d old-key-name  #删除指定的key
[root@node-1 ~]# salt-key -D  # 删除所有key



SaltSack配置管理

当需要对海量的机器进行配置管理的时候经常会修改各种配置文件,SaltStack的配置管理可以让我们更方便的部署服务,针对不同的服务器和不同的服务,可以通过编辑.sls文件来管理。

SaltStack的配置分发管理是使用YAML状态文件来编写的。

YAML语法:
1.缩进: 两个空格,不能使用tab键。

2.冒号:代表键值对  key: value (注意,键值对冒号后面有一个空格)

3.短横线:表示列表(短横线后面有一个空格)


基础配置

编辑配置文件,定义YAML模块:

# vim /etc/salt/master #打开基础配置
file_roots:  
  base:    
    - /srv/salt   #配置文件根路径

在示例中又三个模块,base,dev,prod.分别代表基础环境、测试环境、生产环境的配置,可以对每个模块可以指定对应路径:

# Example:
# file_roots:
#   base:
#     - /srv/salt/
#   dev:
#     - /srv/salt/dev/services
#     - /srv/salt/dev/states
#   prod:
#     - /srv/salt/prod/services
#     - /srv/salt/prod/states

修改salt配置文件后重启:

 systemctl restart salt-master

创建根路径:

mkdir /srv/salt/        # salt的根路径


批量执行相同命令

在需要对大量主机安装配置相同的内容时可以通过编辑简单的sls文件来执行。

创建base环境文件分类目录,编辑需要安装的配置:

mkdir /srv/salt/WEB        
vim /srv/salt/web/apache.sls
#编写内容:
apache-install:         #命名ID,可随意命名
  pkg.installed:        #pkg模块,调用installed方法
    - names:            #installed方法中的参数
      - httpd           #需要安装的包名
      - httpd-devel
apache-service:         #状态命名ID
  service.running:      #调用service.running方法
    - name: httpd       #服务的命名为httpd
    - enable: True      #设置开机自启动


执行.sls文件:

 salt '*' state.sls web.apache     #state.sls执行模块,执行根目录中apache.sls文件

此时会在两台在线的主机上安装Apache,并启动。

查看node2上的文件,同样生成了一个apache.sls的文件:

[root@node2 ~]# cat /var/cache/salt/minion/files/base/web/apache.sls 
apache-install:
  pkg.installed:
    - names:
      - httpd
      - httpd-devel
apache-service:
  service.running:
    - name: httpd
    - enable: True

minion通过复制master的.sls文件到本地执行。


对不同主机指定不同的动作

在master配置文件中,指定top配置文件,top文件必须在base环境中。

#state_top: top.sls  #默认不需要配置

在指定的base环境路径上编写top.sls文件,为不同的minion主机指定不同的动作:

[root@node1 salt]# cat /srv/salt/top.sls 
base:
  'node1':
    - web.apache
  'node2':
    - web.apache

执行高级状态命令,使top.sls文件生效:

 salt '*' state.highstate test=True #测试top文件,对minion不做修改
 salt '*' state.highstate  # * 代表所有minion,执行top文件内容



SaltStack数据系统

SaltStack是通过两种数据系统来发布的,Grains和Pillar。通过数据系统来统计主机的相关信息,进而帮助用户使用多样化的方式来筛选定位我们要执行salt命令的主机。


Grans介绍

Grains: 获取静态数据 ,当minion启动的时候收集Minion本地的相关信息,如操作系统版本,内核信息,硬件信息等,也可以自定义。当minion启动后,获取的数据就不会再改变,只有重启或同步时才能获取新的变化信息。

 Grains的特性可以有几种应用场景:

  • 资产管理,信息查询。

  • 用于目标选择。(salt -G 'key:value'  cmd.run 'cmd')

  • 配置管理中使用。

查看Grains信息:

 salt 'node1' grains.ls    #显示所有模块

 salt 'node1' grains.items  #显示所有模块的信息

 salt '*' grains.item fqdn  #返回所有minion端的fqdn信息


使用Grains指定信息对应的主机,执行salt命令:

[root@node1 salt]# salt '*' grains.item os
node2:
    ----------
    os:
        Centos
node1:
    ----------
    os:
        CentOS
[root@node1 salt]# salt -G 'os:CentOS' cmd.run 'date'   # -G 参数指定Grains信息
node1:
    Sun Nov  6 17:28:36 CST 2016
node2:
    Sun Nov  6 17:28:36 CST 2016

自定义Grains

自定义Grains有两种方式:

  • 在/etc/salt/minion添加配置

  • 在/etc/salt/目录编写新的配置文件grains


在node2上的/etc/salt/minion添加配置,在grains部分取消注释,添加一个roles角色:

grains:
  roles: apache

重启salt-minion,并在master上获取roles的值:

[root@node2 ~]# systemctl restart salt-minion
[root@node1 ~]# salt '*' grains.item roles
node1:
    ----------
    roles:
node2:
    ----------
    roles:
        apache

这样就可以根据Grains的匹配结果来对符合匹配结果的主机执行命令:

[root@node1 ~]# salt -G 'roles:apache' cmd.run 'date'  
node2:
    Sun Nov  6 17:51:07 CST 2016


在/etc/salt/目录编写新的配置文件grains:

[root@node2 ~]# cat /etc/salt/grains
saltname: trying
[root@node2 ~]# systemctl restart salt-minion  
#也可以在master上使用刷新命令,和重启salt-minion效果一样
[root@node1 ~]# salt '*' saltutil.sync_grains
node1:
node2:

master上查看:

[root@node1 ~]# salt '*' grains.item saltname
node1:
    ----------
    saltname:
node2:
    ----------
    saltname:
        trying


在top file中使用Grains

在top.sls中使用grains进行匹配

vim /srv/salt/top.sls 
base:
  'node1':
    - web.apache
  'saltname:trying':      #此处grains匹配上node2
    - match: grain        #匹配grains,不加s.
    - web.apache


使用python脚本编写一个Grains

使用Python脚本编写一个grains,需要存放在base环境中的_grains目录中。

[root@node1 _grains]# cat /srv/salt/_grains/my_grains.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def my_grains():
    #init a grains
    grains = {}
    #set key-value
    grains['iaas'] = 'openstack'
    grains['blog'] = 'trying'
    # return value
    return grains


同步脚本到minion端:

[root@node1 _grains]# salt '*' saltutil.sync_grains #这里可以指定主机同步
node1:
    - grains.my_grains
node2:
    - grains.my_grains

在minion端可以看到同步过来的脚本和目录:

[root@node2 ~]# tree /var/cache/salt/minion/
/var/cache/salt/minion/
├── accumulator
├── extmods
│   └── grains
│       ├── my_grains.py       #真正执行的脚本
│       └── my_grains.pyc
├── files
│   └── base
│       ├── _grains
│       │   └── my_grains.py   #同步的脚本文件
│       ├── top.sls
│       └── web
│           └── apache.sls
├── highstate.cache.p
├── module_refresh
├── pkg_refresh
├── proc
└── sls.p

在master上查看执行结果,已经同步到minion上:

[root@node1 _grains]# salt '*' grains.item blog
node1:
    ----------
    blog:
        trying
node2:
    ----------
    blog:
        trying


Grains的优先级


上面给出了四种方式可以使用Grains的值,在这四种方式中,如果出现了同名的情况,会

按照以下的优先级来获取对应的值:

  1. 系统自带的值

  2. /etc/salt/grains文件中编写的值

  3. minion配置文件中定义的值

  4. /srv/salt/_grains/my_grains.py 脚本中自定义的值


================


Pillar介绍

与Grains不同的是,Pillar是动态的,能给特定的minion指定特定的数据。只有指定的minion能看到自己的数据,这样常用与一些敏感的特殊数据。

默认情况下pillar的系统模块是关闭的:

[root@node1 salt]# salt '*' pillar.items
node1:
    ----------
node2:
    ----------

可以在/etc/salt/master中打开注释,修改为True,系统的这些变量很少会用到:
pillar_opts: True


自定义pillar

自定义pillar需要编写一个sls文件,在文件中定义pillar. 使用YAML定义多级。

修改master配置文件,打开注释:

vim /etc/salt/master
pillar_roots:
  base:
    - /srv/pillar

重启salt-master:

systemctl  restart salt-master

创建pillar的目录:

mkdir /srv/pillar

和grains一样,创建分类目录和.sls的文件    

vim  /srv/pillar/web/apache.sls 
{% if grains['os'] == 'CentOS' %}
apache: httpd
{% elif grains['os'] == 'Debian' %}
apache: apache2
{% endif %}

在pillar目录中编写top file指定主机,和grains中的一样:

# cat /srv/pillar/top.sls 
base:
  'node2':         #只指定了node2
    - web.apache

刷新,使配置生效:

# salt '*' saltutil.refresh_pillar
node2:
    True
node1:
    True

执行查看pillar items 生效:

# salt '*' pillar.items apache    
node2:
    ----------
    apache:
        httpd
node1:
    ----------
    apache:

使用pillar匹配上主机node2,执行命令:

# salt -I 'apache:httpd' cmd.run  'hostname' 
node2:
    node2


Grains和Pillar的对比

分类类型数据采集方式应用场景定义位置
Grains静态minion启动时收集数据查询,目标选择,配置管理minion
Pillar动态master自定义目标选择,配置管理,敏感数据master



SaltStack远程执行


saltstack命令语法, salt  '*'  cmd.run  'w'

命令:salt

目标:‘*’

模块: cmd.run  自带150+模块,也可以自定义编写模块

返回:执行后结果返回。


目标选择方式

所有匹配目标的方式都可以用top file来指定。

使用通配符:

#  salt  'node*' test.ping
#  salt  'node[1|2]'  test.ping 
#  salt  'node[1-2]' test.ping
#  salt  'node[!2]' test.ping

 使用列表,-L:

#  salt -L 'node1,node2' test.ping

使用正则,-E:

#  salt -E 'node(1|2)*' test.ping

使用IP/子网方式:

#  salt -S '172.16.10.61' test.ping 

#  salt -S '172.16.10.0/24' test.ping 


使用node_group匹配:-N

修改配置文件/etc/salt/master,在node group模块中添加匹配的组:

nodegroups:
  web: 'L@node1,node2'

重启salt-master:

 systemctl restart salt-master

匹配node-group:

[root@node1 ~]# salt -N web test.ping
node2:
    True
node1:
    True


多种匹配方式命令示例:

https://www.unixhot.com/docs/saltstack/topics/targeting/index.html

https://www.unixhot.com/docs/saltstack/topics/targeting/compound.html   


SaltStack自带模块

https://docs.saltstack.com/en/latest/ref/modules/all/index.html#all-salt-modules 

Saltstack有很多集成的模块,大部分模块都是由python编写,使用这些模块可以很方便的返回一个信息列表或者执行某些任务。

常用的一些模块举例:

network模块:网络相关服务

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.network.html#module-salt.modules.network 

salt.modules.network.active_tcp :这里表示了模块函数的路径和位置,salt.modules表示的就是slat模块在本机的安装位置,一般默认情况下在 /usr/lib/python2.7/site-packages/salt/modules

在执行命令的时候可以直接使用slat命令来调用

service 模块:和主机当前服务相关的模块

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.service.html#module-salt.modules.service 

在一些常用的模块中,有一些模块方法已经有了单独的命令如cp模块:

cp是复制模块,在系统中我们可以直接使用salt-cp 如:

salt-cp  ‘*’  /etc/hosts  /tmp/   #拷贝本地的hosts文件到所有minion的/tmp目录下。

state:执行模块

https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.state.html#module-salt.modules.state 


Saltstack返回程序

数据的返回是由minion端提供的,可以将minion返回的数据直接写入到Mysql中而不经过master。

要实现minion直接返回数据到mysql,需要在所有的minion安装Mysql-python

salt  '*' state.single pkg.installed name=MySQL-python

使用返回数据存入mysql,需要在master上安装数据库,并且创建表结构,授权:

https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html 

执行下面命令,创建数据库并授权:

> CREATE DATABASE  `salt`
     DEFAULT CHARACTER SET utf8
     DEFAULT COLLATE utf8_general_ci;

> USE `salt`;

> DROP TABLE IF EXISTS `jids`;
  CREATE TABLE `jids` (
     `jid` varchar(255) NOT NULL,
     `load` mediumtext NOT NULL,
      UNIQUE KEY `jid` (`jid`)
     ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      CREATE INDEX jid ON jids(jid) USING BTREE;

> DROP TABLE IF EXISTS `salt_returns`;

> CREATE TABLE `salt_returns` (
    `fun` varchar(50) NOT NULL,
    `jid` varchar(255) NOT NULL,
    `return` mediumtext NOT NULL,
    `id` varchar(255) NOT NULL,
    `success` varchar(10) NOT NULL,
    `full_ret` mediumtext NOT NULL,
    `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    KEY `id` (`id`),
    KEY `jid` (`jid`),
    KEY `fun` (`fun`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

> DROP TABLE IF EXISTS `salt_events`;

> CREATE TABLE `salt_events` (
    `id` BIGINT NOT NULL AUTO_INCREMENT,
    `tag` varchar(255) NOT NULL,
    `data` mediumtext NOT NULL,
    `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `master_id` varchar(255) NOT NULL,
    PRIMARY KEY (`id`),
    KEY `tag` (`tag`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

> grant all on salt.* to salt@'%'  identified by 'salt';

> show databases;
+--------------------+
| Database           |
+--------------------+
| infORMation_schema |
| mysql              |
| performance_schema |
| salt               |
+--------------------+
4 rows in set (0.00 sec)
> use salt
Database changed
> show tables;
+----------------+
| Tables_in_salt |
+----------------+
| jids           |
| salt_events    |
| salt_returns   |
+----------------+
3 rows in set (0.00 sec)
MariaDB [salt]> select * from salt_returns;
Empty set (0.00 sec)


修改所有minion端salt的配置文件,加入下面配置后重启salt服务:

在配置最后添加如下信息:

mysql.host: '172.16.10.60'   # mysql所在的主机地址
mysql.user: 'salt'
mysql.pass: 'salt'
mysql.db: 'salt'
mysql.port: 3306

重启minion服务:

systemctl  restart salt-minion

执行数据库测试命令:

 salt '*' test.ping --return mysql

再次查看数据库,发现已经写入数据:

[root@node1 ~]# mysql -h 172.16.10.60 -usalt -p -e "use salt; select * from salt_returns\G"
Enter passWord: 
*************************** 1. row ***************************
       fun: test.ping
       jid: 20161108135248194687
    return: true
        id: node2
   success: 1
  full_ret: {"fun_args": [], "jid": "20161108135248194687", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "node2"}
alter_time: 2016-11-08 13:52:48
*************************** 2. row ***************************
       fun: test.ping
       jid: 20161108135248194687
    return: true
        id: node1
   success: 1
  full_ret: {"fun_args": [], "jid": "20161108135248194687", "return": true, "retcode": 0, "success": true, "fun": "test.ping", "id": "node1"}
alter_time: 2016-11-08 13:52:48

执行一条命令,写入数据库:

salt '*' cmd.run 'df -h' --return mysql

再次查看数据库,会发现数据库中已经记录了操作的命令和返回值记录,以及操作的时间。


编写状态模块

我们可以根据自己的需要,自定义一些状态模块。比如,可以编写一个模块脚本,来执行复杂的操作,直接使用salt来调用这些模块就可以实现我们需要的功能。

模块存放的路径:/srv/salt/_modules

mkdir /srv/salt/_modules

编写一个显示磁盘信息的模块脚本:

[root@node1 /srv/salt/_modules]# vim /srv/salt/_modules/my_disk.py
def list():
  cmd = 'df -h'
  ret = __salt__['cmd.run'](cmd)
  return ret

salt同步文件到所有minion端:

# salt '*' saltutil.sync_modules 
node1:
    - modules.my_disk
node2:
    - modules.my_disk

运行my_disk.py模块:

# salt '*' my_disk.list
node2:
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root  8.5G  1.4G  7.1G  17% /
    devtmpfs                 483M     0  483M   0% /dev
    tmpfs                    493M   12K  493M   1% /dev/shm
    tmpfs                    493M   20M  474M   4% /run
    tmpfs                    493M     0  493M   0% /sys/fs/cgroup
    /dev/sda1                497M  165M  332M  34% /boot
    tmpfs                     99M     0   99M   0% /run/user/0
node1:
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root  8.5G  1.6G  7.0G  18% /
    devtmpfs                 483M     0  483M   0% /dev
    tmpfs                    493M   28K  493M   1% /dev/shm
    tmpfs                    493M   20M  474M   4% /run
    tmpfs                    493M     0  493M   0% /sys/fs/cgroup
    /dev/sda1                497M  165M  332M  34% /boot
    tmpfs                     99M     0   99M   0% /run/user/0

可以看到salt将每一台minion运行的结果返回到我们的master端,和执行df -h 的效果一样。

您可能感兴趣的文档:

--结束END--

本文标题: SaltStack (一)

本文链接: https://www.lsjlt.com/news/43393.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SaltStack (一)
    SaltStack介绍saltstack是一个开源的批量分发管理工具,具有非常强大的管理功能,能同时管理上万台服务器。由python语言编写,并提供API.saltstack有四种运行方式:Local, M...
    99+
    2022-10-18
  • Saltstack系列5:Saltstack之pillar组件
    pillar组件pillar也是Saltstack最重要的组件之一,其作用是定义与被控主机相关的任何数据,定义好的数据可以被其他组件使用,如模板、state、API等。在pillar中定义的数据与不同业务特性的被控主机相关联,这样不同被控主...
    99+
    2023-06-05
  • Saltstack系列4:Saltstack之Grains组件
    grains说明grains是Saltstack最重要的组件之一,grains的作用是手机被控主机的基本信息,这些信息通常都是一些静态类的数据,包括CPU、内核、操作系统、虚拟化等,在服务器端可以根据这些信息进行灵活定制,管理员可以利用这些...
    99+
    2023-06-05
  • saltstack python api
    一、Python安装saltstackpip install salt二、接口调用实例1、test.pingimport salt.clientclient = salt.client.LocalClient()ret = client.c...
    99+
    2023-01-31
    saltstack python api
  • saltstack (3) grains
    1、使用自定义grains     grans的一些基本用法:    salt object grains.ls   查看某台设备当前可用grains的key    salt object  grains.items   查看某台设备当前可...
    99+
    2023-01-31
    saltstack grains
  • SaltStack-job管理
    一、salt执行结果默认返回给master端1、job cache存放位置# Directory to store job and cache&n...
    99+
    2022-10-18
  • Saltstack 报错 python-
    执行saltstack 报错一下信息根据报错信息修改python文件#若遇报错1#Starting salt-master daemon: /usr/lib64/python2.6/site-packages/Crypto/Util/num...
    99+
    2023-01-31
    报错 Saltstack python
  • CentOS-6.5-saltstack-安装
     官方网站:https://www.saltstack.com/官方文档   https://docs.saltstack.cn/contents.htmlGitHub:  h...
    99+
    2022-10-18
  • SaltStack之Job管理和Runner
    配置文件/etc/salt/mastercachedir: /var/cache/salt/master  # cache路径keep_jobs: 24  ...
    99+
    2022-10-18
  • saltstack的深入-管理pytho
    saltstack的深入-管理python-pip操作内容: 一、基础环境 1、使用tvm-saltmaster操作 2、网络: eth0:host-only(用于虚拟内网,手动固定IP,这样从宿主机可以直接连接到这个vm) eth1:NA...
    99+
    2023-01-31
    saltstack pytho
  • 如何快速上手SaltStack
    这篇文章给大家分享的是有关如何快速上手SaltStack的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言...
    99+
    2023-06-27
  • saltstack第三波《远程执行》
    第3章 SaltStack远程执行3.1 目标(Targeting)指定目标,用来匹配minion,默认是以minion ID作为目标来匹配minion的。匹配目标,非常重要,因为匹配错了,执行命令错了,后...
    99+
    2022-10-18
  • saltstack之Return data to a mysql server
    本文章是参照官网和网上一些资料。多数以官网为主。首先是需要安装mysql数据库,我这里已经安装好了一个mysql数据库的分支叫MariaDB数据库,我就使用现成的。听说操作和mysql的操作一样。其实我就是...
    99+
    2022-10-18
  • Saltstack远程执行命令(3)
        Saltstack的一个比较突出的优势是具备执行远程命令的功能,可以帮助运维人员完成集中化的操作平台(批量执行服务器命令)命令格式:salt '<操作目标>' <方法>[参数]实例:查看minion主机的内存...
    99+
    2023-01-31
    命令 Saltstack
  • Saltstack快速入门简单汇总
    saltstack是使用python编写的开源自动化部署与管理工具,拥有良好的扩展性以及优秀的执行效率,配置简单,可以工作在多平台上,经常被描述为 Func加强版+Puppet精简版。 saltsatck...
    99+
    2022-06-04
    入门 快速 简单
  • saltstack 执行结果返回到mysql
    系统:ubuntu 17.04 官方文档https://docs.saltstack.com/en/latest/ref/returners/all/salt.returners.mysql.html m...
    99+
    2022-10-18
  • SaltStack实战之远程执行-Returners
    SaltStack实战之远程执行-Returners学习 SaltStackSaltStack实战之远程执行-Returners1. Returners列表2. 介绍mysql returner的...
    99+
    2022-10-18
  • Saltstack远程执行命令怎么用
    这篇文章给大家分享的是有关Saltstack远程执行命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。命令命令格式:salt '<操作目标>' <方法&...
    99+
    2023-06-05
  • SaltStack源码分析之使用MongoDB模块
    MongoDB模块/usr/lib/python2.6/site-packages/salt/modules/mongodb.pyMongoDB模块会先去检查是否安装有PyMongo模块# -*-...
    99+
    2022-10-18
  • SaltStack实战之配置管理-Jinja2模板
    SaltStack实战之配置管理-Jinja2模板学习 SaltStackSaltStack实战之配置管理-Jinja2模板1. Salt yaml配置文件使用Jinja2模板介绍1.1 File...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作