zoukankan      html  css  js  c++  java
  • saltstack salt的安装和认证

    参考:https://repo.saltstack.com/#rhel

    一,安装

      系统的环境为centos6

        master端和minion端都要配置salt的yum源。

    下载安装salt源的key,并配置salt源的地址repo

    [root@cong-33 nginx]#sudo yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el6.noarch.rpm 
    [root@cong-33 nginx]# yum clean expire-cache

      

    更新yum的cache

    [root@cong-33 nginx]# yum makecache

    salt的master端安装:

    [root@cong-33 nginx]# yum install -y salt-master

    salt的minion端安装:

    [root@cono-49 ~]# yum install -y salt-minion

    安装完成后,先配置minion端。

    配置minion的id和指导master的地址

    [root@cono-49 ~]# vim /etc/salt/minion  ##minion的主要配置文件

    配置好上面的id 选项,master的选项就可以了

    配置完成就可以启动了

    [root@cono-49 ~]# service salt-minion start

    master端

    master的配置文件时 /etc/salt/master

    master可以先不做配置的更改,直接启动

    [root@cong-33 nginx]# service salt-master start
    ##监听2个端口
    [root@cong-33 nginx]# netstat -tlnp|grep python
    tcp        0      0 0.0.0.0:4505                0.0.0.0:*                   LISTEN      1815/python2.7      
    tcp        0      0 0.0.0.0:4506                0.0.0.0:*                   LISTEN      1829/python2.7      
    [root@cong-33 nginx]# 

    通过minion端的key认证

    [root@cong-33 nginx]# salt-key -L  ##查看salt的key认证情况
    [root@cong-33 nginx]# salt-key -a cong-49 ##通过指定的minion认证,
    [root@cong-33 nginx]# salt-key -L
    Accepted Keys:     ##已通过认证的minion
    cong-49
    Denied Keys:
    Unaccepted Keys:    ##等待确认的minion
    Rejected Keys:
    [root@cong-33 nginx]# 

    测试master与minion是否正常通讯

    [root@cong-33 nginx]# salt '*' test.ping  ##  '*' 表示所有的minion,可以输入指定的minion_id,或者使用正则匹配 匹配指定的minion
    cong-49:
        True
    [root@cong-33 nginx]# 

    返回True说明master与minon已经可以正常通讯了。

    下面写一点salt的相关知识点。

    认证过程

    启动minion服务后,会产生一个密钥对,然后minion会根据配置的master地址去连接master,并尝试把公钥发给master,minion_id表示minio的身份。

    在master上可以使用salt-key来查看密钥认证的情况,直到密钥认证后,master和minion就可以通信了,我们就可以通过state模块来管理minion。

    minon密钥目录

    [root@cono-49 ~]# ll /etc/salt/pki/minion/
    total 12
    -rw-r--r--. 1 root root  450 Nov 15 09:59 minion_master.pub  ##认证通过后master发过来的master公钥
    -r--------. 1 root root 1674 Nov 15 09:58 minion.pem
    -rw-r--r--. 1 root root  450 Nov 15 09:58 minion.pub
    [root@cono-49 ~]# 
    在minion服务没有启动时,pki目录是不存在的。minion服务启动后,会创建pki目录,minion目录和密钥对。
    我们可以把pki目录删除,然后重启服务会重新生成pik目录。
     
    master密钥目录
    [root@cong-33 nginx]# ll /etc/salt/pki/master/minions
    total 4
    -rw-r--r--. 1 root root 450 Nov 15 17:59 cong-49  ##已通过的minion密钥
    [root@cong-33 nginx]# 
    master接受minion的公钥后会存放在/etc/salt/pki/master/minions目录下,以minion的id来命名。
    同时master会把自身的公钥发给minion。
     
    master端的pki目录千万不要删除,因为这个目录包含了所有minion的认证密钥。不过我们可以删除指定minion的密钥文件。
    也可以 用命令salt-key删除指定minion的key认证
     
     
    重新认证:
     在master把对应的minion的key删掉: 
    salt-key -d 192.168.1.49

    查看密钥保存目录是否存在对应mining的密钥key,如果存在删除它 

    [root@cong-33 nginx]# ll /etc/salt/pki/master/minions

    minion端

    停止minion服务: 
    [root@cono-49 ~]# /etc/init.d/salt-minion stop

    删除key目录让其重新生成:

    rm -rf /etc/salt/pki

    启动服务

    /etc/init.d/salt-minion start
    salt-key命令
    salt-key -L  列出master的key认证情况
    salt-key -a minion_id  通过指定minion的key认证
    salt-key -A   批量通过minion的key认证
    salt-key -d minion_id 删除指定minion的key认证
    salt-key -D   批量删除minion的key认证

    minion没有监听端口的。minion在通过与master的key认证后一直与master的4505端口保持连接。

    master监听4505和4506两个端口,

    4505是消息发布端口,

    4506是消息接收端口,接收执行返回结果和命令执行情况的

  • 相关阅读:
    RabbitMq windows 安装
    JQuery.Ajax()的data参数传递方式
    [转载]ASP.NET中TextBox控件设立ReadOnly="true"后台取不到值
    vue-cli 3.0脚手架搭建项目
    二、操作符
    一、JavaScript基础
    html苹方字体
    js十大排序算法收藏
    iframe高度自适应的6个方法
    CSS3:不可思议的border属性
  • 原文地址:https://www.cnblogs.com/LYCong/p/7867705.html
Copyright © 2011-2022 走看看