zoukankan      html  css  js  c++  java
  • saltStack_安装和使用

    服务端:
    yum install -y salt-master


    客服端:
    yum install -y salt-minion

    服务端启动:
    systemctl restartsalt-master
    配置文件在:/etc/salt/master
    密钥文件:/etc/salt/pki
    ├── master
    │   ├── master.pem #公钥
    │   ├── master.pub #私钥 #密钥是用来跟minion(客服端)做验证使用的
    │   ├── minions
    │   ├── minions_autosign
    │   ├── minions_denied
    │   ├── minions_pre
    │   └── minions_rejected



    客服端先做配置然后在启动 使用的yml语法:
    配置文件在:/etc/salt/minion
    配置: vim /etc/salt/minion
    找到 #master
    修改: master: 172.168.1.200
    启动: systemctl restart salt-minion
    启动后也会生成公钥私钥
    minion_id 默认是会把主机名字写到这里面当ID用 可以定义配置文件中的id值进行修改


    开始认证客服端:
    [root@localhost]# cd /etc/salt/pki/
    [root@localhost pki]# tree
    .
    ├── master
    │   ├── master.pem
    │   ├── master.pub
    │   ├── minions
    │   ├── minions_autosign
    │   ├── minions_denied
    │   ├── minions_pre #这个目录里面的文件就是启动的客服端的公钥文件,默认是主机名字 一共2台
    │   │   └── client
    │   │   └── server_client
    │   └── minions_rejected
    └── minion
    ├── minion.pem
    └── minion.pub

    客服端到服务器认证流程:
    客服端的公钥 发送给--> 服务器端 ---> salt-key -A 执行后 服务器端 会把密钥放到minions目录/etc/salt/pki/master/minions 也会把自己的公钥发给 --->客服端 双向认证模式

     


    [root@localhost pki]# salt-key #查看当前列表需要认证的客服端
    Denied Keys:
    Unaccepted Keys:
    client
    server_client
    Rejected Keys:


    [root@localhost minions_pre]# salt-key -A #全部允许认证

    [root@localhost minions_pre]# salt '*' test.ping #测试主机是否ping通
    client:
    True
    server_client:
    True


    客服端和服务端通行:
    1 服务端启动后: 会有2个端口 4505(发消息) 和 4506(收消息)
    2 所有的客服端连接到服务端的4505这个端口 ,通过这个端口发送一个命令 所有的客服端都能收到返回一个结果到服务器的4506端口
    3 zeromq:消息队列 通过这个队列推送消息

    定义任务文件目录: vim /etc/salt/master
    file_roots:
    base:
    - /srv/salt/base
    test:
    - /srv/salt/test
    dev:
    - /srv/salt/dev


    base目录下面 新建httpd.sls base这个目录是必须要有的
    httpd-install:
    pkg.installed:
    - name: httpd

    http-service:
    service.running:
    - name: httpd
    - enable: True


    salt * state.sls httpd #state.sls  # 执行模块 httpd指的是 httpd.sls    开始安装httpd 并且启动


    salt 高级状态. 也就是说给那个服务器做什么任务
    [root@server_client /]# vim /srv/salt/base/top.sls #文件必须叫top.sls 在master 配置#state_top: top.sls 这定义了 默认就叫这个文件名 并且还要把这个文件放base目录里面
    格式:
    base:
    'client': #那个主机
    - httpd #执行任务 httpd 指的是 上面master 定义的任务文件中/srv/salt/base 中的 httpd.sls
    'server_client':
    - httpd
    [root@server_client /]# salt '*' state.highstate #运行高级状态 这里面的*是通知所有的机器干top.sls里面自己对应的活 但是如果top.sls里面没让自己这个客服端处理任务,机器就不会运行任务

     

  • 相关阅读:
    Django之templates模板
    Django视图函数之request请求与response响应对象
    Django视图函数之三种响应模式
    Django视图函数函数之视图装饰器
    django 获取request请求对象及response响应对象中的各种属性值
    Django 项目中设置缓存
    python 中 使用sys模块 获取运行脚本时在命令行输入的参数
    Mac 设置终端中使用 sublime 打开文件
    iterm2 恢复默认设置
    Python replace方法的使用
  • 原文地址:https://www.cnblogs.com/ajaxa/p/11381498.html
Copyright © 2011-2022 走看看