• Centos7.2部署saltstack


    原文发表于cu2016-06-23

    参考文档:

    1. Saltstack安装文档:https://repo.saltstack.com/#rhel

     saltstack的安装与简单配置,应用。

    一.环境

    Server:CentOS Linux release 7.2.1511 (Core)

    Salt-master:172.18.12.201

    Salt-minion:172.18.12.204

    二.Saltstack安装与配置

    1. yum安装

    # Salt-master安装:
    [root@localhost ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-1.el7.noarch.rpm
    [root@localhost ~]# yum clean expire-cache
    [root@localhost ~]# yum install salt-master
    
    # Salt-minion安装,最后一步安装组件有区别:
    [root@localhost ~]# yum install salt-minion

    2. 防火墙配置(salt-master)

    # CentOS7.2默认自带firewall,无iptable;
    # 移除系统自带firewall的开机启动,安装iptable,设置iptable开机启动
    [root@localhost ~]# systemctl stop firewalld.service
    [root@localhost ~]# systemctl disable firewalld.service
    [root@localhost ~]# yum install iptables-services –y
    [root@localhost ~]# systemctl enable iptables.service
    [root@localhost ~]# systemctl restart iptables.service
    
    # tcp4505是salt-master消息发布系统端口,salt-master通过ZeroMQ发布消息,minion连接到tcp4505端口,即Publish/Subscribe模式(发布与订阅);
    # tcp4506是salt-minion返回信息的端口,salt-minion采取ZeroMQ的Request-Reply模式(请求与响应);
    # Salt-minion可不做防火墙处理,默认iptable规则即可,流程上是salt-minion主动订阅并返回salt-master [root@localhost ~]# vim /etc/sysconfig/iptables
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 4505 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 4506 -j ACCEPT

    3. salt-master配置

    #interface参数绑定master的通信ip,默认可不变更,表示所有主机ip;
    [root@localhost ~]# sed -i 's/#interface: 0.0.0.0/interface: 172.18.12.201/g' /etc/salt/master
    
    # hash_type参数默认可不变更,salt-master也可启动,但启动后有告警如下:
    # [WARNING ] IMPORTANT: Do not use md5 hashing algorithm! Please set "hash_type" to sha256 in Salt Master config!
    [root@localhost ~]# sed -i 's/#hash_type: md5/hash_type: sha256/g' /etc/salt/master
    
    # auto_accept参数是自动认证开关,默认关闭,使用salt-key确认证书信任
    [root@localhost ~]# sed -i 's/#auto_accept: False/auto_accept: True/g' /etc/salt/master

    4. salt-minion配置

    # master参数指定master 的ip (或者主机名),必配参数,如果minion启动时不能解析到master 主机,启动会失败;
    [root@localhost ~]# sed -i 's/#master: salt/master: 172.18.12.201/g' /etc/salt/minion
    
    # hash_type参数同master;
    [root@localhost ~]# sed -i 's/#hash_type: sha256/hash_type: sha256/g' /etc/salt/minion
    
    # id参数设置salt-minion名,默认未设置,minio名取主机hostname中设定的主机名
    [root@localhost ~]# sed -i 's/#id:/id: 172.18.12.204/g' /etc/salt/minion

    5. 启动服务

    启动salt-master

    # 设置开机启动,启动后查看状态;
    # 启动中有问题可通过"systemctl status salt-master.service"与"salt-mater -l debug"等命令定位故障,下面salt-minion相同
    [root@localhost ~]# systemctl enable salt-master.service 
    [root@localhost ~]# systemctl start salt-master.service
    [root@localhost ~]# systemctl status salt-master.service

    启动salt-minion

    #设置开机启动,启动后查看状态
    [root@localhost ~]# systemctl enable salt-minion.service
    [root@localhost ~]# systemctl start salt-minion.service
    [root@localhost ~]# systemctl status salt-mionion.service

     

    6. 验证(salt-master)

    查看minion表

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

    Salt-master已经设置"auto_accept"参数为"True",minion主机"172.18.12.204"已在"Acceptd Keys"中(主机名为salt-minion设置的id或hostname)。

    手动认证key("auto_accept"参数为"False"时)

    # -A指确认"Unacceptd Keys"中的全部minion(unacceptd中的minion列表为红色,确认到accepted列表中后变为绿色)
    [root@localhost ~]# salt-key -A
    
    # -a指"Unacceptd Keys"中特定的minion
    # 或[root@localhost ~]# salt-key -a 172.18.12.204

    简单的命令测试

    # "*"表示所有"Acceptd Keys"中的minion,也可以对特定的minion执行命令;
    # 返回值为"True"表示master与minion连接成功
    [root@localhost ~]# salt "*" test.ping

    #使用"cmd.run"可以执行具体的命令
    [root@localhost ~]# salt "*" cmd.run "iptables -nL"

  • 相关阅读:
    通过代码获取log4net的文件路径
    关键字后面不加空格
    ASP.NET MVC 4 Content Map
    ASP.NET Overview
    ASP.NET 4 and Visual Studio 2010
    Newtonsoft.Json
    ASP.NET MVC
    log4net
    AutoMapper introduction
    ajax jsonp跨域
  • 原文地址:https://www.cnblogs.com/netonline/p/7512186.html
Copyright © 2020-2023  润新知