当前位置: 首页 > news >正文

saltstack安装与配置

  Saltstack是基于Python开发的一套C/S架构,具备Puppet、Ansible功能于一身的配置管理工具,功能十分强大,各模块融合度及复用性极高;使用号称世界上最快的消息队列ZeroMQ使得Saltstack能够秒级在数万台服务器上进行各种操作,而且使用RAS Key方式确认身份,传输采用AES加密,安全性能更高;
  Saltstack不仅仅是一款配置管理工具,还是一款做云计算和数据中心架构编排利器。目前Salt-cloud项目也已经合并到Saltstack主项目里,Saltstack已经支持Docker相关模块,在友好地支持各大云平台之后,配合Saltstack的Mine实现各云平台业务自动扩展。
  saltstack通信端口
    master端:4505
    minion端:4506
  saltstack的三种运行方式
    Local
    Master/minion
    Salt ssh
  saltstack三大功能:
    远程执行
    配置管理
    云管理

安装yum源:

[root@k8s_node1 ~]# yum install epel-release -y

 

服务端安装

yum install salt-master -y 

#centos6.x 启动
/etc/init.d/salt-master start

#centos7.x 启动
systemctl start salt-master

 

客户端安装

 

yum install salt-minion -y

 

修改minion配置文件,指定到master

sed -i.bak 's/#master: salt/master: master_ip/g' /etc/salt/minion

启动

#centos6.x
/etc/init.d/salt-minion start

#centos7.x
systemclt start salt-minion

 

master端

salt-key -A 命令接收所有客户端请求

 

使用salt-key查看建立连接情况

[root@k8s_master ~]# salt-key
Accepted Keys:
k8s_master
k8s_node1
k8s_node2
Denied Keys:
Unaccepted Keys:
Rejected Keys:

 

使用salt-key -L命令查看所有key

[root@k8s_master ~]# salt-key -L
Accepted Keys:
k8s_master
k8s_node1
k8s_node2
Denied Keys:
Unaccepted Keys:
Rejected Keys:

 

salt-key -a KeyName    #接受指定的证书
salt-key -a id      #接受单个id请求 salt
-key -D #删除所有证书 salt-key -d KeyName #删除指定的证书
salt-key -d id      #删除单个id证书(客户端配置了id)

 

 saltstack通过/etc/salt/pki/目录下面的配置文件的密钥进行通信,master端接受minion端后,会在/etc/salt/pki/minion/保存minion端的pub key,同时master端会将自己的公钥传输到minion端的目录/etc/salt/pki/minion/中。

 

客户端

 

 如果配置文件被更改,客户端minion会自动停止服务终止与master端端通信;

  解决办法:在master端删除该主机,并在minion端将pki配置目录删除后重interface: 192.168.0.1 ##The local interface to bind to, must be an IP address.

 

配置文件详解

interfacec: master_ip        #监听地址
id: `hostname`            #客户端配置,服务器用来表示客户端的名称
publish_port:
4505 ##The network port to set up the publication interface. user: root ##The user to run the Salt processes ret_port: 4506 ##The port used by the return server, this is the server used by Salt to receive execution returns and command executions. 返回服务器使用的端口,这是Salt使用的服务器来接收执行返回和命令执行。 pidfile: /var/run/salt-master.pid ##Specify the location of the master pidfile. root_dir: / ##The system root directory to operate from, change this to make Salt run from an alternative root. conf_file: /etc/salt/master ##The path to the master's configuration file. pki_dir: /etc/salt/pki/master ##The directory to store the pki authentication keys.(Default: /etc/salt/pki/master) auto_accept: True ##这个设置将会使master自动接受所有发送公钥的minions max_open_files:100000 ##每一个minion连接到master,至少要使用一个文件描述符,如果足够多的minion连接到master上,你将会从控制台上看到salt-master crashes:Too many open files (tcp_listener.cpp:335) Aborted (core dumped)             默认值这个值取决于ulimit -Hn的值,即系统的对打开文件描述符的硬限制             如果你希望重新设置改值或者取消设置,记住这个值不能超过硬限制,提高硬限制取决于你的操作系统或分配,一个好的方法是internet找到对应操作系统的硬限制设置 worker_threads:5 ##启动用来接收或应答minion的线程数。如果你有很多minion,而且minion延迟你的应答,你可以适度的提高该值. cachedir ##默认值:/var/cache/salt这个目录是用来存放缓存信息,特别是salt工作执行的命令信息 sock_dir    ##默认值:/tmp/salt-unix指定unix socket主进程通信的socket创建路径 open_mode    ##默认值:Falseopen_mode是一个危险的安全特性,当master遇到pki认证系统,秘钥混淆和身份验证失效时,打开open_mode,master将会接受所有的身份验证。这将会清理掉pki秘钥接受的minions。通常情况下open_mode不应该被打开,它只适用于短时间内清理pki keys,若要打开它,可将值调整为True autosign_file ##默认值:/etc/salt/autosign.conf如果autosign_file的值被指定,那么autosign_file将会通过该输入允许所有的匹配项,首先会搜索字符串进行匹配,然后通过正则表达式进行匹配。这是不安全的 client_acl_blacklist   默认值:{}   黑名单用户或模块   这个例子表示所有非sudo用户以及root都无法通过cmd这个模块执行命令,默认情况改配置是完全禁用的 file_recv 默认值:False ##允许minions推送文件到master上,这个选项默认是禁用的,出于安全考虑

 

转载于:https://www.cnblogs.com/FRESHMANS/p/8249781.html

相关文章:

  • 网络舆情信息工作怎么做的措施及建议
  • TCP、IP、ARP协议之间的工作关系
  • 网上社区舆情舆论信息有效监测的技术解决方法
  • 文本溢出(单行、多行)
  • 网络舆情数据分析系统技术方案
  • 数据库连接池
  • 网络舆情风险点排查工作实施方案
  • 使用Properties配置文件 InputStream与FileReader (java)
  • 网络舆情早发现预警的系统技术办法
  • java中的float和double的精度问题
  • 大数据舆情监测分析工作如何有效做好的解决方案
  • 网络舆情数据挖掘分析的三点方法和建议
  • python3----冒泡排序
  • 网上新的热点舆情信息数据监测搜集系统方法
  • 总结一下各种居中(内联元素、块级元素、浮动元素、绝对定位元素)*(水平、垂直)...
  • 【5+】跨webview多页面 触发事件(二)
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • ComponentOne 2017 V2版本正式发布
  • Fabric架构演变之路
  • Fastjson的基本使用方法大全
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • vagrant 添加本地 box 安装 laravel homestead
  • 从setTimeout-setInterval看JS线程
  • 计算机在识别图像时“看到”了什么?
  • 简单基于spring的redis配置(单机和集群模式)
  • 来,膜拜下android roadmap,强大的执行力
  • 设计模式走一遍---观察者模式
  • 延迟脚本的方式
  • 译自由幺半群
  • 由插件封装引出的一丢丢思考
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #define 用法
  • #QT(一种朴素的计算器实现方法)
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $().each和$.each的区别
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (强烈推荐)移动端音视频从零到上手(上)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)基于IDEA的JAVA基础1
  • (一)为什么要选择C++
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)3D模板阴影原理
  • .md即markdown文件的基本常用编写语法
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET使用存储过程实现对数据库的增删改查