滨州做企业网站泰国做企业网站

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

滨州做企业网站,泰国做企业网站,厦门市建设局网站公布,网站稳定期怎么做SaltStack 官方文档 1.简介 作用#xff1a;批量处理状态管理#xff08;配置管理#xff09;事件驱动#xff08;通过事件触发操作#xff09;管理私有云/公有云 yum仓库#xff1a;http://repo.saltstack.com 安装1.master和minionrpm –import https://repo.saltproj…SaltStack 官方文档 1.简介 作用批量处理状态管理配置管理事件驱动通过事件触发操作管理私有云/公有云 yum仓库http://repo.saltstack.com 安装1.master和minionrpm –import https://repo.saltproject.io/py3/redhat/7/x86_64/3004/SALTSTACK-GPG-KEY.pubcurl -fsSL https://repo.saltproject.io/py3/redhat/7/x86_643004.repo | sudo tee /etc/yum.repos.d/salt.repo2.masteryum -y install salt-master salt-api salt-mastersystemctl start salt-master3.minionyum -y install salt-minionvim /etc/salt/minionmaster:- 192.168.0.12id: 192.168.0.13systemctl start salt-minion4.master 认证salt-keysalt-key -Asalt-key配置文件yaml 语言格式/etc/salt/minion:master: IP 指定 master 示例master:- salt-master.haier.net- salt.haier.netid: name agent端的名字默认为域名一般为IP地址,启动后会记录在minion_id在这儿给/etc/salt/master:file_roots:设置编写的状态管理配置文件存放路径可设置多个环境master与minion的认证:minion在第一次启动时会在/etc/salt/pki/minion/中生成一个公钥和私钥并把公钥minion.pub发送到master的/etc/salt/pki/master/minions_pre/中并以minion的id命名master允许后会把公钥发送到minion的/etc/salt/pki/minion/中并把自己目录下/etc/salt/pki/master/minions_pre/相关密钥移动到/etc/salt/pki/master/minions/中salt-key 查看密钥-a id 允许id 支持通配符-A 允许所有-d id 删除-D 删除所有示例通信master端口4505发送4506接收zeromq:借助此工具进行通信功能:发布与订阅实现并行通信请求与接收minion主动连接master所以不需要提供或暴漏端口随机端口帮助文档1、查看普通模块和函数使用方法salt minion sys.doc module_namesalt ‘minion sys.doc module_name.function_name或者采用 -d 代替 sys.doc2、查看state模块的使用方法salt ‘minion’ sys.state_doc state_module_namesalt minion sys.state_doc state_module_name.function_name常用模块 salt Usage: salt [options] target function [arguments] options:-V -h-c #指定配置文件位置默认/etc/salt-t #超时时间默认5s–args-stdin #读取额外的选项或参数每个条目用换行符/分隔-p #显示进度条–failhard #在返回第一次 bad 时停止执行批量–async #异步执行命令时不需要等待返回-v #详细信息 包括jid例salt * cmd.run df -T -v 可以输出包括jid的信息salt-run jobs.lookup_jid jid 可以查看相关jid的输出信息-b #BATCH, –batchBATCH, –batch-sizeBATCH 显示minion执行的数量或百分比-d #查看文档-l #设置输出的日志级别–log-file #设置日志路径–out-file #输出到指定文件目标选项-H #列出所有主机列表-E #正则表达式-L #后跟列表 用空格或逗号分隔-G #grain数据系统-P, –grain-pcre 使用正则匹配-N #用预定义组匹配-R #范围匹配-C #复合匹配可以使用所有匹配模式-I, –pillar #pillar数据系统-J, –pillar-pcre -S 网段匹配function: 模块.函数test.ping 检测master与minion通信是否正常sys.argspec 返回Salt执行模块中函数的参数说明。doc 查看模块文档list_functions 列出所有指定模块的函数list_modules 列出所有模块查看配置管理。。。 与上相仿sys.list_state_modulessys.list_state_functionssys.state_argspecsys.state_docnetwork.active tcp 返回所有tcp连接arp 返回所有arp记录connect 测试与minion是否连通 例salt 192.168.150.62 network.connect baidu.com 80default_route 查看默认路由dig 查看域名解析 cmd.run/shell-cmd #手动指定命令例salt * cmd.run cmdsed -e s//:/g-cwd #执行命令当前目录位置-stdin #可以使用stdin参数为要运行的命令指定一个标准输入字符串-runas #指定用户-group #指定组-shell #指定运行shell-python_shell #如果为False则让python处理位置参数。设置为True使用shell特性如管道或重定向。-bg #如果True在后台运行命令不等待或交付它的结果-env #在执行之前设置的环境变量。-timeout 超时时间run_all #执行传递的命令并返回返回数据的字典run_bg #在后台执行传递的命令并返回它的PID run_stderr #执行命令并只返回标准错误 exec_code #传入两个字符串第一个命名可执行语言akapython2, python3, ruby, perl, lua等等第二个字符串包含您希望执行的代码。将返回标准输出。例salt * cmd.exec_code ruby puts cheese args[arg1, arg2] env{FOO: bar}retcode #执行shell命令并返回命令的返回代码。script #从远程位置下载脚本并在本地执行该脚本。该脚本可以位于salt主文件服务器或HTTP/FTP服务器上。(支持多种语言) -source #要下载脚本的位置-args #传递给脚本的命令行参数的字符串。例salt * cmd.script salt://scripts/runme.shsalt * cmd.script salt://scripts/runme.sh arg1 arg2 arg 3salt * cmd.script salt://scripts/windows_task.ps1 args -Input c:\tmp\infile.txt shellpowershellsalt * cmd.script salt://scripts/runme.sh stdinone\ntwo\nthree\nfour\nfive\n service.available 查看服务是否运行例salt * service.available sshdget_all 获取所有正在运行的服务reload/start/stop/status/restartcron.list_tab 查看指定用户的计划任务例salt * cron.list_tab rootrm_job 删除指定用户的计划任务例salt * cron.rm_job root /usr/local/weeklyset_job 设置指定用户的计划任务例: salt * cron.set_job root * * * * 1 /usr/local/weeklypkg.install #安装软件包remove #删除指定软件包upgrade #更新软件包version #查询软件包版本cp. 或salt-cpget_file#下载文件到客户端例salt ‘’ cp.get_file salt://vimrc /etc/vimrcsalt ‘’ cp.get_file “salt://grains.os/vimrc” /etc/vimrc templatejinja salt ‘’ cp.get_file salt://vimrc /etc/vimrc gzip5 #使用模板 #压缩其中1代表作小压缩9代表最大压缩。salt ‘’ cp.get_file salt://vimrc /etc/vim/vimrc makedirsTrue 如果目录不在则创建目录get_dir #从master下载整个目录get_url #从一个URL地址下载文件URL可以是msater上的路径salt://也可以是http网址。file.access #测试salt进程是否有对指定文件的对应访问权限touch #如果文件不存在创建文件相当于touch file如果文件存在就更新访问时间或者修改时间append #追加文字到文件的末尾-args 具体追加内容可以放到这个键值对上例 salt * file.append /etc/motd args[cheesespam,spamcheese]chgrp #修改文件的属组。chown #修改文件的属主和属组。copy #从源目录拷贝文件到目标目录-recurse 拷贝目录-remove_existing 提前移除目标目录中的所有文件然后再从源路径拷贝文件到目标find grepmkdir sedmove #移动一个文件或目录。remove #删除文件。注意该模块一次只能接受一个参数。stats #返回包含指定文件状态的词典。status.cpuinfonetstatsuptimevmstatsstate.apply #应用在TOP中配置的所有状态2.salt-ssh 需要先安装salt-ssh模块yum -y install salt-ssh 记录IP地址的名册/etc/salt/roster 远程执行 第一次使用需要加-i 标识默认为yes -r标识直接使用shell命令 salt-ssh * test.ping -i salt-ssh * -r uptime .3.状态/配置管理文件 配置路径 /etc/salt/master:file_roots:设置编写的状态管理配置文件存放路径可设置多个环境默认路径为 /srv/salt/base例vim /srv/salt/base/web/name.sls远程执行salt name state.sls web.apache #调用state远程执行模块的sls方法 读取默认路径下web目录下的apache.sls 文件注默认环境为base如果要换到其他环境需要在后面加上这个方法的参数 saltenv环境名字 定义每台服务器分别的状态一般默认都是base环境 vim /srv/salt/base/top.sls示例表示 所有机器都执行web/apache.sls这个状态文件vim /srv/salt/base/top.slsbase: *: - web.apache远程执行命令行中的*表示通知所有 top.sls中的*表示实际需要操作的机器有哪些salt * state.highstatetestTrue 末尾加上此参数表示干跑一趟并不实际执行4.salt的数据系统 Grains明文负责采集salt-minion启动时的一些基本信息 明文在minion设置grains.items 查询所有信息grains.get 参数 查询单个信息例 salt * grains.get saltversion用grains 来匹配minionsalt -G os:CentOS cmd.run ip a 通过grains匹配到所有centos系统上执行命令在top.sls 中匹配baseos:CentOS: -match: grain-web.apache模板匹配自定义grains:需要重启salt-minion生效 或执行 salt * saltutil.sync_grains 生效vim /etc/salt/grainstest-grains: linux-nod2Pillar可加密在master上设置vim /etc/salt/masterminion_pillar_cache: False 设置内置采集是否开启pillar_roots: 设置路径例(不需要重启)vim /srv/pillar/base/apache.sls设置谁能执行必须有vim/srv/pillar/base/top.sls base*: -apache执行 salt * pillar.itemspillar在状态文件里怎样引用grains 与 pillar的对比5.返回salt支持salt-minion数据信息直接写入mysql等数据存储中需在minion上安装对应插件和配置文件中指定存储位置和授权 需要末尾追加–return 例salt * cmd.run df -hT –return mysql 如要把所有缓存数据都写了mysql中这种不需要末尾加–return mysql minion的cache默认保存1天6.配置管理几种写法 注意配置管理文件中每个id下的相同的模块只能用一次 示例 多个id单个id管理多个文件时也可以不用声明name可以把id作为name微服务架构 JSF京东Spring Cloud 开源