zoukankan      html  css  js  c++  java
  • SaltStack本地管理无master模式-第八篇

    Salt本地管理应用场景

    1.在边缘节点服务器非常少没有Salt-master

    2.零售店,电影院等弱网络环境没有Salt-master

    3.快速部署单个服务没有Salt-master

    实现

    一,安装minion
    [root@linux-node1 ~]#  yum install -y salt-minion 
    二,更改minon配置文件,红色部分为新增加
    [root@linux-node1 ~]# cat /etc/salt/minion
    # defined below by setting it to "local". Setting a local file_client runs the
    #file_client: remote #默认remote 使用的远程Master模式
    file_client: local  #新增加一行 使用本地模式
    ....
    # Example:
    # file_roots:
    #   base:
    #     - /srv/salt/
    #   dev:
    #     - /srv/salt/dev/services
    #     - /srv/salt/dev/states
    #   prod:
    #     - /srv/salt/prod/services
    #     - /srv/salt/prod/states
    #
    file_roots:
      base:
        - /srv/salt/base
      dev:
        - /srv/salt/dev
      test:
        - /srv/salt/test
      prod:
        - /srv/salt/prod
    .....
    三,无需启动minion
    [root@linux-node1 ~]# systemctl stop salt-minion
    四,查看本地状态文件,以安装一个tomcat为列
    [root@linux-node1 base]# cat /srv/salt/base/web/tomcat.sls 
    jdk-install:
      pkg.installed:
        - name: java-1.8.0-openjdk
    
    tomcat-install:
      file.managed:
        - name: /usr/local/src/apache-tomcat-8.0.46.tar.gz
        - source: salt://web/files/apache-tomcat-8.0.46.tar.gz
        - user: root
        - group: root
        - mode: 755
      cmd.run:
        - name: cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat
        - unless: test -L /usr/local/tomcat && test -d /usr/local/apache-tomcat-8.0.46
    五,salt-call测试
    [root@linux-node1 ~]# salt-call --local test.ping
    local:
        True
    六,使用salt-call执行本地状态文件
    root@linux-node1 base]# salt-call --local state.sls web.tomcat
    [INFO    ] Loading fresh modules for state activity
    [INFO    ] Fetching file from saltenv 'base', ** done ** 'web/tomcat.sls'
    [INFO    ] Running state [java-1.8.0-openjdk] at time 19:19:34.066323
    [INFO    ] Executing state pkg.installed for java-1.8.0-openjdk
    [INFO    ] Executing command ['rpm', '-qa', '--queryformat', '%{NAME}_|-%{EPOCH}_|-%{VERSION}_|-%{RELEASE}_|-%{ARCH}_|-(none)
    '] in directory '/root'
    [INFO    ] Executing command ['repoquery', '--plugins', '--queryformat', '%{NAME}_|-%{ARCH}', '--pkgnarrow=all', '--all'] in directory '/root'
    [INFO    ] Executing command ['yum', '--quiet', 'clean', 'expire-cache'] in directory '/root'
    [INFO    ] Executing command ['yum', '--quiet', 'check-update'] in directory '/root'
    [INFO    ] Executing command ['yum', '-y', 'install', 'java-1.8.0-openjdk'] in directory '/root'
    [INFO    ] Executing command ['rpm', '-qa', '--queryformat', '%{NAME}_|-%{EPOCH}_|-%{VERSION}_|-%{RELEASE}_|-%{ARCH}_|-(none)
    '] in directory '/root'
    [INFO    ] Installed Packages:
    'nss-pem' changed from 'absent' to '1.0.3-4.el7'
    'nss-tools' changed from '3.21.0-9.el7_2' to '3.28.4-15.el7_4'
    'libXi' changed from 'absent' to '1.7.9-1.el7'
    'python-javapackages' changed from 'absent' to '3.4.1-11.el7'
    'xorg-x11-font-utils' changed from 'absent' to '1:7.5-20.el7'
    'libXcomposite' changed from 'absent' to '0.4.4-4.1.el7'
    'libICE' changed from 'absent' to '1.0.9-9.el7'
    'nss-sysinit' changed from '3.21.0-9.el7_2' to '3.28.4-15.el7_4'
    'copy-jdk-configs' changed from 'absent' to '2.2-3.el7'
    'tzdata-java' changed from 'absent' to '2017b-1.el7'
    'libXrender' changed from 'absent' to '0.9.10-1.el7'
    'lksctp-tools' changed from 'absent' to '1.0.17-2.el7'
    'xorg-x11-fonts-Type1' changed from 'absent' to '7.5-9.el7'
    'libXfont' changed from 'absent' to '1.5.2-1.el7'
    'chkconfig' changed from '1.3.61-5.el7_2.1' to '1.7.4-1.el7'
    'libfontenc' changed from 'absent' to '1.1.3-3.el7'
    'java-1.8.0-openjdk' changed from 'absent' to '1:1.8.0.144-0.b01.el7_4'
    'python-lxml' changed from 'absent' to '3.2.1-4.el7'
    'javapackages-tools' changed from 'absent' to '3.4.1-11.el7'
    'java-1.8.0-openjdk-headless' changed from 'absent' to '1:1.8.0.144-0.b01.el7_4'
    'nss' changed from '3.21.0-9.el7_2' to '3.28.4-15.el7_4'
    'libXext' changed from 'absent' to '1.3.3-3.el7'
    'nspr' changed from '4.11.0-1.el7_2' to '4.13.1-1.0.el7_3'
    'nss-util' changed from '3.21.0-2.2.el7_2' to '3.28.4-3.el7'
    'giflib' changed from 'absent' to '4.1.6-9.el7'
    'libXtst' changed from 'absent' to '1.2.3-1.el7'
    'nss-softokn' changed from '3.16.2.3-14.2.el7_2' to '3.28.3-8.el7_4'
    'libSM' changed from 'absent' to '1.2.2-2.el7'
    'nss-softokn-freebl' changed from '3.16.2.3-14.2.el7_2' to '3.28.3-8.el7_4'
    'ttmkfdir' changed from 'absent' to '3.0.9-42.el7'
    
    [INFO    ] Loading fresh modules for state activity
    [INFO    ] Completed state [java-1.8.0-openjdk] at time 19:24:17.648075
    [INFO    ] Running state [/usr/local/src/apache-tomcat-8.0.46.tar.gz] at time 19:24:17.654621
    [INFO    ] Executing state file.managed for /usr/local/src/apache-tomcat-8.0.46.tar.gz
    [INFO    ] Fetching file from saltenv 'base', ** done ** 'web/files/apache-tomcat-8.0.46.tar.gz'
    [INFO    ] File changed:
    New file
    [INFO    ] Completed state [/usr/local/src/apache-tomcat-8.0.46.tar.gz] at time 19:24:17.811524
    [INFO    ] Running state [cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat] at time 19:24:17.812426
    [INFO    ] Executing state cmd.run for cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat
    [INFO    ] Executing command 'test -L /usr/local/tomcat && test -d /usr/local/apache-tomcat-8.0.46' in directory '/root'
    [INFO    ] Executing command 'cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat' in directory '/root'
    [INFO    ] {'pid': 18672, 'retcode': 0, 'stderr': '', 'stdout': ''}
    [INFO    ] Completed state [cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat] at time 19:24:18.311686
    local:
    ----------
              ID: jdk-install
        Function: pkg.installed
            Name: java-1.8.0-openjdk
          Result: True
         Comment: The following packages were installed/updated: java-1.8.0-openjdk
         Started: 19:19:34.066323
        Duration: 283581.752 ms
         Changes:   
                  ----------
                  chkconfig:
                      ----------
                      new:
                          1.7.4-1.el7
                      old:
                          1.3.61-5.el7_2.1
                  copy-jdk-configs:
                      ----------
                      new:
                          2.2-3.el7
                      old:
                  giflib:
                      ----------
                      new:
                          4.1.6-9.el7
                      old:
                  java-1.8.0-openjdk:
                      ----------
                      new:
                          1:1.8.0.144-0.b01.el7_4
                      old:
                  java-1.8.0-openjdk-headless:
                      ----------
                      new:
                          1:1.8.0.144-0.b01.el7_4
                      old:
                  javapackages-tools:
                      ----------
                      new:
                          3.4.1-11.el7
                      old:
                  libICE:
                      ----------
                      new:
                          1.0.9-9.el7
                      old:
                  libSM:
                      ----------
                      new:
                          1.2.2-2.el7
                      old:
                  libXcomposite:
                      ----------
                      new:
                          0.4.4-4.1.el7
                      old:
                  libXext:
                      ----------
                      new:
                          1.3.3-3.el7
                      old:
                  libXfont:
                      ----------
                      new:
                          1.5.2-1.el7
                      old:
                  libXi:
                      ----------
                      new:
                          1.7.9-1.el7
                      old:
                  libXrender:
                      ----------
                      new:
                          0.9.10-1.el7
                      old:
                  libXtst:
                      ----------
                      new:
                          1.2.3-1.el7
                      old:
                  libfontenc:
                      ----------
                      new:
                          1.1.3-3.el7
                      old:
                  lksctp-tools:
                      ----------
                      new:
                          1.0.17-2.el7
                      old:
                  nspr:
                      ----------
                      new:
                          4.13.1-1.0.el7_3
                      old:
                          4.11.0-1.el7_2
                  nss:
                      ----------
                      new:
                          3.28.4-15.el7_4
                      old:
                          3.21.0-9.el7_2
                  nss-pem:
                      ----------
                      new:
                          1.0.3-4.el7
                      old:
                  nss-softokn:
                      ----------
                      new:
                          3.28.3-8.el7_4
                      old:
                          3.16.2.3-14.2.el7_2
                  nss-softokn-freebl:
                      ----------
                      new:
                          3.28.3-8.el7_4
                      old:
                          3.16.2.3-14.2.el7_2
                  nss-sysinit:
                      ----------
                      new:
                          3.28.4-15.el7_4
                      old:
                          3.21.0-9.el7_2
                  nss-tools:
                      ----------
                      new:
                          3.28.4-15.el7_4
                      old:
                          3.21.0-9.el7_2
                  nss-util:
                      ----------
                      new:
                          3.28.4-3.el7
                      old:
                          3.21.0-2.2.el7_2
                  python-javapackages:
                      ----------
                      new:
                          3.4.1-11.el7
                      old:
                  python-lxml:
                      ----------
                      new:
                          3.2.1-4.el7
                      old:
                  ttmkfdir:
                      ----------
                      new:
                          3.0.9-42.el7
                      old:
                  tzdata-java:
                      ----------
                      new:
                          2017b-1.el7
                      old:
                  xorg-x11-font-utils:
                      ----------
                      new:
                          1:7.5-20.el7
                      old:
                  xorg-x11-fonts-Type1:
                      ----------
                      new:
                          7.5-9.el7
                      old:
    ----------
              ID: tomcat-install
        Function: file.managed
            Name: /usr/local/src/apache-tomcat-8.0.46.tar.gz
          Result: True
         Comment: File /usr/local/src/apache-tomcat-8.0.46.tar.gz updated
         Started: 19:24:17.654621
        Duration: 156.903 ms
         Changes:   
                  ----------
                  diff:
                      New file
                  mode:
                      0755
    ----------
              ID: tomcat-install
        Function: cmd.run
            Name: cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat
          Result: True
         Comment: Command "cd /usr/local/src && tar zxf apache-tomcat-8.0.46.tar.gz && mv apache-tomcat-8.0.46 /usr/local/ && ln -s /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat" run
         Started: 19:24:17.812426
        Duration: 499.26 ms
         Changes:   
                  ----------
                  pid:
                      18672
                  retcode:
                      0
                  stderr:
                  stdout:
    
    Summary
    ------------
    Succeeded: 3 (changed=3)
    Failed:    0
    ------------
    Total states run:     3
    salt-call --local state.sls web.tomcat

    总结

    1.本地管理模式,无需salt-master

    2.本地管理模式,不需要启动minion服务


    附 赵班长的 GitHub saltbook-code网址

    https://github.com/unixhot/saltbook-code/tree/master

  • 相关阅读:
    使用turtle库绘制一个叠加等边三角形
    使用turtle库绘制图形
    tar命令常用参数讲解
    elasticsearch 中geo point地理位置数据类型
    count(*)和count(1)的sql性能分析
    别再if/else走天下了
    正则表达式 匹配0次1次或者无限次
    linux shell 字符串操作(长度,查找,替换)
    linux expect工具使用
    mongodb分片balance
  • 原文地址:https://www.cnblogs.com/xiewenming/p/7713539.html
Copyright © 2011-2022 走看看