saltstack

SaltStack之Master配置文件解析

柔情痞子 提交于 2019-12-04 08:40:01
Salt-master的配置文件位于/etc/salt/master,各项配置参数如下: ####################### 主配置 interface 默认值:0.0.0.0(所有的网络地址接口) 绑定到本地的某个网络地址接口 interface: 192.168.0.1 ipv6 默认值:False 设置master是否监听IPv6连接。如果设置为True,则interface选项也必须调整("interface: '::'") ipv6: True publish_port 默认值:4505 设置master与minion的认证通信端口 publish_port: 4505 user 默认值:root 运行salt进程的用户 user: root max_open_files 默认值:100000 每一个minion连接到master,至少要使用一个文件描述符,如果足够多的minion连接到master上,你将会从控制台上看到salt-master crashes: Too many open files (tcp_listener.cpp:335) Aborted (core dumped) 默认值这个值取决于ulimit -Hn的值,即系统的对打开文件描述符的硬限制 如果你希望重新设置该值或者取消设置,请记住这个值不能超过硬限制

saltstack配置管理

早过忘川 提交于 2019-12-03 19:26:19
#salt的配置文件要遵守YAML格式; #添加file root [root@linux-node1 salt]# vim master file_roots: base: - /srv/salt/base dev: - /ser/salt/dev test: - /srv/salt/test prod: - /srv/salt/prod #手敲,不建议复制,注意空格不要用tab键 #创建相应的目录 [root@linux-node1 salt]# mkdir -p /srv/salt/{base,dev,test,prod} [root@linux-node1 salt]# systemctl restart salt-master #重启后检查服务是否正常 [root@linux-node1 salt]# salt '*' test.ping linux-node2: True linux-node1: True #如果服务异常查看日志 [root@linux-node1 salt]# tailf /var/log/salt/master #通过salt安装apache #创建状态文件 [root@linux-node1 base]# vim apache.sls apache-install: pkg.installed: - name: httpd apache

SaltStack入门

纵饮孤独 提交于 2019-12-03 16:40:57
一、配置epel源并yum安装salt: 配置salt的epel源(可根据自己的操作系统和salt版本去官网找适合的eple源:http://repo.saltstack.com/) yum install https://repo.saltstack.com/yum/redhat/salt-repo-2016.3-2.el7.noarch.rpm 国内因为网络原因可能官方epel源报"Failed connect to repo.saltstack.com:443; Operation now in progress"; 如果官方不行可尝试阿里等国内的源; [root@linux-node1 yum.repos.d]# yum -y install salt-master salt-minion #其他机器只安装minion即可 [root@linux-node1 yum.repos.d]# rpm -qa salt* salt-repo-2016.3-2.el7.noarch salt-master-2015.5.10-2.el7.noarch salt-2015.5.10-2.el7.noarch salt-minion-2015.5.10-2.el7.noarch 二、配置启动salt服务 [root@linux-node1 yum.repos.d]# systemctl

快速入门SaltStack

强颜欢笑 提交于 2019-12-03 07:40:47
而且采用RSA Key方式确认身份,传输采用AES加密,这使得它的安全性得到了保障。SaltStack经常被描述为Func加强版+Puppet精简版。 为什么选择SaltStack? 目前市场上主流的开源自动化配置管理工具有puppet、chef、ansible、saltstack等等。到底选择那个比较好?可以从以下几方面考虑: 语言的选择(puppet/chef vs ansible/saltstack) Puppet、Chef基于Ruby开发,ansible、saltstack基于python开发的 运维开发语言热衷于python(后期可做二次开发),排除Puppet、Chef 速度的选择 (ansible vs saltstack) ansible基于ssh协议传输数据,SaltStack使用消息队列zeroMQ传输数据。从网上数据来看,SaltStack比ansible快大约40倍。 对比ansible,Saltstack缺点是需要安装客户端。为了速度建议选择SaltStack SaltStack github地址: https://github.com/saltstack/salt SaltStack官网文档地址: https://docs.saltstack.com SaltStack架构 在SaltsStack架构中服务端叫作Master,客户端叫作Minion

在SaltStack中启用gitfs

血红的双手。 提交于 2019-12-03 06:16:27
新版本的SaltStack有一个非常好的特性,可以使用git作为文件服务的源,这样一来,在开发环境中可以很方便的把修改同步到测试环境,同时在生产环境中也可以对sls这些比较重要的配置文件进行方便天然的版本管理 参照官方教程,在master配置文件中配置了 fileserver_backend: - git 还有 gitfs_remotes: - https://github.com/saltstack-formulas/salt-formula.git 如果想使用git源中的某个子目录作为file_backend目录的话还需要配置这个: gitfs_root: backend_subdir 当然,git仓库的地址改成了公司内部搭的内部gitlab 重启salt-masster后发现没生效 检查/var/log/salt/master日志提示如下: [salt.loaded.int.fileserver.gitfs ][ERROR ] Git fileserver backend is enabled in configuration but could not be loaded, is GitPython installed? 既然找不到GitPython,因为服务器能连公网所以果断用yum安装 yum install GitPython 我这会儿用的是 2014.1.4 版本的

SSL Error on 8 on SaltStack using Tornado

匿名 (未验证) 提交于 2019-12-03 01:41:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: If I run: curl -si localhost:8000/login -H "Accept: application/json" -d username='salt' -d password='salt' -d eauth='pam' It gives this error: Process Manager starting! Enter PEM pass phrase: [WARNING ] SSL Error on 8 ('127.0.0.1', 50408): [Errno 1] _ssl.c:510: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request [ERROR ] Uncaught exception Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/tornado/http1connection.py", line 693, in _server_request_loop ret = yield conn.read_response(request_delegate) File "

SaltStack and GitFS - No Top file or external nodes data matches found

匿名 (未验证) 提交于 2019-12-03 01:05:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Here is my /etc/salt/master config: #GitFS gitfs_provider: pygit2 gitfs_base: DEVELOPMENT gitfs_env_whitelist: - base fileserver_backend: - git gitfs_remotes: - ssh://git@github.com/myrepo/salt-states.git: - pubkey: /root/.ssh/my.pub - privkey: /root/.ssh/my - mountpoint: salt:///srv/salt/salt-states Here is my directory structure for the repo: . |-- README.md |-- formulas | `-- test | |-- test.sls `-- top.sls Here is my very basic top.sls: base: '*': - test If i try to run highstate on my test node I get: root@saltmaster:/etc/salt] salt -v

SaltStack 理解

匿名 (未验证) 提交于 2019-12-03 00:41:02
一、SaltStack 原理: 1、SaltStack 也是基于CS模式的主控master和client被控端 minion 结构;也是一个异构平台基础设置管理工具;遵守Apache2协议,完全开源。 2、通过ZeroMQ消息队列通信、用Python写成的批量管理工具,远程执行命令。 3、Minion上线后先与Master端联系,把自己的pub key发过去,这时master端通过salt-key -L命令就会看到minion的key,接受该minion-key后,也就是master与minion已经互信。 4、允许一个管理者Master对多个系统minion的统一管理操作。 二、SaltStack 监听端口: SaltStack master 启动后默认监听4505和4506两个端口。 1、4505(publish_port)为 saltstack 的消息发布系统,对应的是ZMQ的PUB system; 2、4506(ret_port)为 saltstack 被控端与服务端通信的端口。 三、SaltStack 认证原理: 1、minion在第一次启动时,会在/etc/salt/pki/minion/(可以在/etc/salt/minion里面设置)下自动生成minion.pem(private key 私钥)和 minion.pub(public key 公钥),然后将

saltsatck学习笔记之pillar小技巧

匿名 (未验证) 提交于 2019-12-03 00:22:01
Grains和Pillar作为saltstack两大数据系统,如何灵活使用是重点也是难点。初学上手很头疼。这里写一个小技巧。 很多时候写了很多,参考了N多文档,最后一跑,失败。。这里说明一下saltstack同步命令 Grains:Minion启动时收集,也可以使用salt '*' saltutil.sync_grains进行刷新 Pillar:在Master端定义,指定给对应的Minion。可以使用salt '*' saltutil.refresh_pillar刷新 在pillar目录下写一个变量,首先刷新推送变量。然后salt '*' pillar.get $a ,如果可以取得想要的值说明写的正确,如果获取不到就是失败。 一直匹配内核版本失败,也没查到相关信息。有懂的请指点下。^_^ 转义加和不加都是失败。。。。。。。 转载请标明出处: saltsatck学习笔记之pillar小技巧 文章来源: saltsatck学习笔记之pillar小技巧

Saltstack学习(四)-state状态模块及配置管理

匿名 (未验证) 提交于 2019-12-02 23:57:01
一、state状态模块 States 是 SaltStack 系统中的配置语言,在日常运维中需要编写大量的 States 文件,例如:创建用户、安装软件、配置软件、服务运行等。需要编写一些 States SLS 文件,即状态配置文件去描述和实现相应的功能。 States SLS 主使用 YAML 语言,也可以支持使用 Python 语言编写。 apache-install: #ID声明,ID必须唯一 pkg.installed: #State状态声明 - names: #选项声明 - httpd #选项列表 - httpd-devel apache-service: service.running: - name: httpd - enable: True #一个ID只能出现一次 #一个ID下相同模块只能使用一次 #一个ID下可以使用多个不同模块 来源:博客园 作者: 胡金钟 链接:https://www.cnblogs.com/hujinzhong/p/11439101.html