关于我转身使用saltstack这档事

saltstack来敲门

使用saltstack自带的rpo源安装saltstack

saltstack也有api。可以和运维平台组合起来;

yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest.el7.noarch.rpm 
yum install salt-master
yum install salt-minion
修改配置文件
[root@salt-matser salt]# grep ^master /etc/salt/minion
master: 10.108.15.204

systemctl restart salt-minion
systemctl restart salt-master
systemctl enable salt-minion
systemctl enable salt-master

[root@salt-matser pki]# cat /etc/salt/minion_id 

salt-matse

salt根据minion_id 进行资源的编排

认证:

salt-key -A                           #添加全部未认证的keys


salt的正则使用的---》讲究主机名的设计

dns的域名解析不能解析下划线可以解析横线

eg:

[root@salt-matser pki]# salt '*' test.ping

salt-matser:

    True

zabbix:

    True

eg:

salt 'salt*' cmd.run 'cd /tmp;wget http://10.108.15.43/PKG.tar'


yaml语法三板斧没学好的时刻就是噩梦开始的地方

刚开始的时候master的配置文件除了打击你的积极性之外没有任何作用

vim /etc/salt/master     #打开下面的注释

file_roots: 

  base:

    - /srv/salt

mkdir -p /srv/salt/web      #配置文件目录的创建

重启master

[root@salt-matser salt]# cat /srv/salt/web/apache.sls 

apache-install:

  pkg.installed:

    - names:

      - httpd

      - httpd-devel

apache-service:

  service.running:

    - name: httpd

    - enable: True

    - reload: True


输出如下:

[root@salt-matser salt]# salt '*' state.sls web.apache

salt-matser:

----------

          ID: apache-install   #apache.sls中的ID

    Function: pkg.installed  #方法是调用pkg.installed

        Name: httpd

      Result: True

     Comment: All specified packages are already installed

     Started: 20:14:01.204544

    Duration: 1878.253 ms

     Changes:   

----------

          ID: apache-install

    Function: pkg.installed

        Name: httpd-devel

      Result: True

     Comment: The following packages were installed/updated: httpd-devel

     Started: 20:14:03.083152

    Duration: 11834.305 ms

     Changes:                                   #由于已经安装了apache所以对apache进行更新

              ----------

              apr-devel:

                  ----------

                  new:

                      1.4.8-3.el7_4.1

                  old:

              apr-util-devel:

                  ----------

                  new:

                      1.5.2-6.el7

                  old:

              cyrus-sasl:

                  ----------

#统计执行的结果

Summary for salt-matser    

------------

Succeeded: 3 (changed=1)

Failed:    0

  • NB的入口文件:top文件,可以指定特定的主机执行特定的动作
    vim top.sls

base:

  'salt*':    #指定主机名中带有salt的主机

    - web.apache    #执行web.apache的方法


[root@salt-matser salt]# cat top.sls 

base:

  'salt*':

    - web.apache

[root@salt-matser salt]# salt '*' state.highstate


[root@salt-matser salt]# salt '*' state.highstate test=ture  #先测试和sed -i一样的道理且尽量不要使用'*'


自此以后我们后续所有的安装部署都是saltstack来写的。运维过上了幸福快乐的日子。使用salt做配置管理就要始终以saltstack为准

猜你喜欢

转载自blog.51cto.com/zhouyaxiong/2412352