• saltstack快速入门


    1、saltstack快速入门

    1.1实验环境说明

    [root@linux-node1 ~]# cat /etc/redhat-release 
    CentOS release 6.7 (Final)

    主机列表

    主机名
    ip地址
    说明

    linux-node1.example.com

    192.168.1.83

    模式:master

    linux-node2.example.com

    192.168.1.84

    模式:minion

    linux-node3.example.com

    192.168.1.93  

    模式:minion

    linux-node4.example.com

    192.168.1.94

    模式:minion

      

    实验前先保证每台机器ping主机名互通,每台机器都在host中添加主机解析

    #每台机器都host解析下


    [root@linux-node1 ~]# tail -4 /etc/hosts 192.168.1.83 linux-node1.example.com linux-node1 192.168.1.84 linux-node2.example.com linux-node2 192.168.1.93 linux-node3.example.com linux-node3 192.168.1.94 linux-node4.example.com linux-node4

    1.2 saltstack安装

    1.2.1 master节点安装

    #node1机器安装
    [root@linux-node1 ~]# yum -y install salt-master
    

    1.2.2 minion节点安装

    #node2 node3 node3机器安装
    [root@linux-node2 ~]# yum -y install salt-minion
    

    1.3 加入开机自启动

    #master节点机器加入开机自启动node1
    [root@linux-node1 ~]# chkconfig salt-master on
    #查看
    [root@linux-node1 ~]# chkconfig salt-master --list
    salt-master    	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    
    
    #minion节点机器node2、node3、node4加入开机自启动,这里只显示node2
    [root@linux-node2 salt]# chkconfig salt-minion on
    #查看
    [root@linux-node2 salt]# chkconfig salt-minion --list
    salt-minion    	0:off	1:off	2:on	3:on	4:on	5:on	6:off
    

    1.4 saltstack 接收minion的key

    #所有minion节点服务器上操作,这里只示例配置node2机器
    [root@linux-node2 ~]# vim /etc/salt/minion
    16 master: 192.168.1.83   #<==指定master可以是主机名(需要解析)
    78 #id:                   #<==唯一标示符,可以不配默认就是主机名  

    启动minion(所有节点机器操作)

    [root@linux-node2 ~]# /etc/init.d/salt-minion start
    Starting salt-minion daemon:                               [  OK  ]
    

      

    到这里saltstack 已经安装完毕!!!

    saltstack的使用是需要认证的,master有个认证选项,是否管理minion,使用key认证 

    minion启动后会生成一个公钥,一个私钥

    [root@linux-node2 ~]# cd /etc/salt/pki/minion/
    [root@linux-node2 minion]# ll
    total 8
    -r-------- 1 root root 1679 May 16 16:15 minion.pem #<==私钥
    -rw-r--r-- 1 root root  451 May 16 16:15 minion.pub  #<==公钥
    

    master启动也会生成key

    [root@linux-node1 ~]# cd /etc/salt/pki/master/
    [root@linux-node1 master]# ls
    master.pem  master.pub  minions  minions_autosign  minions_denied  minions_pre  minions_rejected
    

    tree查看下

    [root@linux-node1 ~]# cd /etc/salt/pki/master/
    [root@linux-node1 master]# tree
    .
    ├── master.pem       #<==私钥
    ├── master.pub       #<==公钥
    ├── minions
    ├── minions_autosign
    ├── minions_denied
    ├── minions_pre     #<==接收到minion的公钥等待master的同意
    │   ├── linux-node2.example.com   #<==使用id作为公钥的名称
    │   ├── linux-node3.example.com
    │   └── linux-node4.example.com
    └── minions_rejected
    
    5 directories, 5 files
    

    认证查看

    [root@linux-node1 master]# salt-key 
    Accepted Keys:        #<==同意的
    Denied Keys:          #<==拒绝的
    Unaccepted Keys:      #<==等待同意的
    linux-node2.example.com
    linux-node3.example.com
    linux-node4.example.com
    Rejected Keys:
    

    同意认证方式分为三种:

    [root@linux-node1 master]# salt-key -A  #<==同意所有minion节点
    [root@linux-node1 master]# salt-key -a id(minion配置文件设置的,默认主机名)    #<==同意指定的id
    [root@linux-node1 master]# salt-key -a linux* #<==支持通配符
    

    这里我们使用通配符

    [root@linux-node1 master]# salt-key -a linux*
    The following keys are going to be accepted:
    Unaccepted Keys:
    linux-node2.example.com
    linux-node3.example.com
    linux-node4.example.com
    Proceed? [n/Y] y
    Key for minion linux-node2.example.com accepted.
    Key for minion linux-node3.example.com accepted.
    Key for minion linux-node4.example.com accepted.
    [root@linux-node1 master]# salt-key 
    Accepted Keys:
    linux-node2.example.com
    linux-node3.example.com
    linux-node4.example.com
    Denied Keys:
    Unaccepted Keys:
    Rejected Keys:  

    salt-key命令参数介绍

    -L  列出所有

    -d 删除指定的支持通配符

    -D 删除所有

    -A 添加所有

    -a 指定添加

    同意后查看

    [root@linux-node1 master]# tree
    .
    ├── master.pem
    ├── master.pub
    ├── minions
    │   ├── linux-node2.example.com
    │   ├── linux-node3.example.com
    │   └── linux-node4.example.com
    ├── minions_autosign
    ├── minions_denied
    ├── minions_pre
    └── minions_rejected
    
    5 directories, 5 files
    

     2、远程执行

    远程执行第一条命令

    [root@linux-node1 minions]# salt '*' test.ping
    linux-node2.example.com:
        True
    linux-node3.example.com:
        True
    linux-node4.example.com:
        True
    

    2.1 分组远程执行minion端

    #master端配置

    [root@linux-node1 ~]# vim /etc/salt/master

    706 ##### Node Groups #####
    707 ##########################################

    708 # Node groups allow for logical groupings of minion nodes. A group consists of a group
    709 # name and a compound target.
    710 #nodegroups:
    711 # group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
    712 # group2: 'G@os:Debian and foo.domain.com'

    ###在下面添加组
    713 nodegroups:
    714 group1: 'L@linux-node2.example.com,linux-node3.example.com'       #将你希望的minion节点机器放入组里面,这里不能写ip只能写主机名

    测试

    [root@linux-node1 ~]# salt -N group1 test.ping
    linux-node2.example.com:
        True
    linux-node3.example.com:
        True
    #这里我只讲node2,node3加入了,测试成功
    

      

  • 相关阅读:
    java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or.....
    cas单点登录防止登出退出后刷新后退ticket失效报500错
    IDEA远程调试服务器代码
    阿里的fastJson.jar jsonArray 和 list 互转
    获取多<a/>标签id值的点击事件
    redis常用命令
    SuperDiamond在JAVA项目中的三种应用方法实践总结
    Redis 集群环境的搭建
    eclipse中一些常见svn图标的含义
    【转】Windows下PATH等环境变量详解
  • 原文地址:https://www.cnblogs.com/junxun/p/7295441.html
Copyright © 2020-2023  润新知