位置: 编程技术 - 正文

Perl集群配置管理系统Rex简明手册(portainer集群管理)

编辑:rootadmin

Rex 是 Perl 编写的基于 SSH 链接的集群配置管理系统,语法上类似 Puppet DSL。官网中文版见 。本文仅为本人在部门 Wiki 上编写的简介性文档。

常用命令参数

rex 命令参数很多,不过因为我们的环境是 krb 认证的,所以有些参数只能写在 Rexfile 里。所以一般固定在存放了 Rexfile 的 /etc/puppet/webui 下执行命令,很多配置就自动加载了。那么还需要用到的命令参数基本就只有下面几个:-Tv: 查看当前 Rexfile 里定义了哪些 Task 任务,以及服务器组。-H: 指定 Task 将在哪些 Host 上执行。这里比较方便的地方是支持 .5..[..] 这样的写法。-G: 指定 Task 将在哪些 Group 上执行。Group 的定义方式很多,Rex 默认支持的有直接在 Rexfile 里通过 group 指令指定,通过 ini 配置文件设定等等。目前我是实现了一个 groups_db 指令,来从我们的 sqlite 里获取。groups_db('cdnbj::nginx') 就会自动生成一个名叫 ‘cdnbj::nginx' 的服务器组,包括 cdnbj 里所有部署了 nginx 的服务器。-e: 指定一个临时任务。通常是'say run “ipconfig”‘这样的简单命令形式。如果需要复杂逻辑,还是在 Rexfile 里书写 Task。-q:指定运行日志级别,有 -q 和 -qq。-d:指定运行日志级别,有 -d 和 -dd。

Rexfile 介绍

参数设置部分:这四行指定采用 kerberos 认证,并发 个进程执行 ssh 命令。

这几行就是 Rexfile 的任务定义主体格式。task 指令定义任务,任务会在具体的 -H 或者 -G 服务器上执行。其他都是可选项,desc内容会在 -Tv 的时候显示;before 和 after 定义的任务会在执行对应 task 之前或之后,在'''rex命令执行处,即.4.1.本地'''执行。

常用指令介绍

run

运行命令。如果有回调函数,那么会把 stdout 和 stderr 传给回调函数;如果没有,直接把 stdout 作为返回值。

比如:

file

分发文件。语法类似 Puppet 的 file。支持 source、template、ensure、on_change 等操作。注意:rex 是顺序执行 Rexfile 的,所以不用设置 Puppet 的 require 指令。

比如:

pkg

安装软件包,在早期版本命令写作 install package => "nginx" ,最近改成 pkg 了,更像 Puppet 语法了。

也支持传递数组作为 pkg 内容。另外,rex 还 提供了一个 update_package_db 指令,用于执行 yum clean all 或者 apt-get update 操作。这点是 Puppet 欠缺的。

比如:

ensure 也支持 present、absent、latest 等几种含义。同 Puppet。

account

用户管理原先用 create_user 和 create_group 指令,最近把 create_user 更新为 account 指令。

比如:

tail

用来同时观测多台主机的日志的最新追加情况。应该是比较有用的一个小功能。代码如下:

远程主机详情相关变量

Puppet 有专门的 Facts 变量来判定远程主机的详情。Rex 因为走 SSH 连接,不会在远程主机上跑一个 agent 来收集这些信息,所以还是通过远程执行命令的方式来提供相关内容。目前常用的几个函数(也可以认为是变量)有:

is_redhat

这个用来判断操作系统是否是 RedHat 系列。之前因为有一批 Debian 的机器,所以 Rexfile 里一直有这么个操作逻辑:

operating_system_version

这个用来判断具体的操作系统版本号。比如 CentOS5 跟 CentOS6 应该应用的操作就不一样,甚至 CentOS6.5 和 CentOS6.2 也有可能不一致。

比如 Rexfile 里的 1w 任务:

route

rex 可以收集的信息比 puppet 要多很多,比如网络相关、sysctl 相关等等。Rexfile 里的 1w 任务用到了 route 信息来获取默认网关和网卡接口。

connection

在多台主机执行任务的时候,大多希望在输出的时候看到某条结果是哪个主机返回的。前面 tail 任务就用到了,不过写起来非常复杂的样子。其实 rex 提供给更简洁一点的写法。就是 connection->server。当前连接的服务器的整个信息,也可以通过 get_system_information 指令来获取,这两个指令其实是等同的。不过根据字面意思一般用来不同语境下。

这些信息如果要完整查看,可以通过 dump_system_information 指令来查看。这个命令跟 print Dumper get_system_information() 不一样的是,会把每个键作为单独变量。而这些变量就是可以直接用于 rex 的 template 里的内嵌变量。比如:不在 dump_system_information 清单里的变量,也想在 template 里使用的,就必须显式传递。这点和 Puppet 不一致,puppet 在 template 里可以通过 scope.lookupvar() 指令获取任意pp类里设定的变量,这一点完全无视词法作用域的存在==!

比如:对应的 es.yml.tmpl 里写作:这样才行。

推荐整理分享Perl集群配置管理系统Rex简明手册(portainer集群管理),希望有所帮助,仅作参考,欢迎阅读内容。

Perl集群配置管理系统Rex简明手册(portainer集群管理)

文章相关热门搜索词:prizm集群,集群的配置,presto集群部署,perl集成开发环境,pulsar集群搭建,集群的配置,portainer集群管理,perl集成开发环境,内容如对您有帮助,希望把文章链接给更多的朋友!

perl查找进程PID的例子 主要是利用查找/proc目录下的相关文件进行查找.#!/usr/bin/perlusestrict;usewarnings;#usage:process_grep.plProcessNameexit(main(@ARGV));submain{my$Phash;my$ProcessName=shift;my$PROC_DIR

perl命令行参数内建数组@ARGV浅析 当perl脚本运行时,从命令行上传递给它的参数存储在内建数组@ARGV中,@ARGV是PERL默认用来接收参数的数组,可以有多个参数,$ARGV[0]是表示接收到的第一

Perl使用Tesseract-OCR实现验证码识别教程 一、Tesseract-OCR是什么AnOCREnginethatwasdevelopedatHPLabsbetweenand…andnowatGoogle基于Leptonica(

标签: portainer集群管理

本文链接地址:https://www.jiuchutong.com/biancheng/372579.html 转载请保留说明!

上一篇:Perl脚本检测一个域名是否有效(perl脚本use strict)

下一篇:perl查找进程PID的例子(查看进程pid的命令是)

  • 土地入账成本包含哪些
  • 小规模纳税人申请一般纳税人条件
  • 非营利组织企业所得税季度申报表
  • 出纳需不需要填工作单位
  • 经营用的电饭锅有哪些
  • 可辨认净资产和所有者权益的区别
  • 员工宿舍买热水器计入什么费用
  • 装水表财务是什么费用
  • 在网上怎么预约办健康证
  • 开超市加盟费多少
  • 同一投资主体内部所属企业之间土地,房屋权属的划转
  • 饮料工业发展前景如何
  • 商业银行的下列哪些行为违反了法律规定?给存款大户
  • 应收账款税收风险有哪些
  • 企业增加注册资本需要缴纳什么税
  • 公司成立前购买的设备算个人还是公司
  • 固定资产完工前盘亏的工程物资净损失
  • 餐饮店投资入股注意事项
  • 质量扣款可以放到费用吗
  • 资产减值准备的账务处理
  • 管理不善造成的损失怎么处理
  • 补交社保如何证明劳动关系
  • 下雨被水淹
  • 行政单位代管资金怎么做账
  • 核定应纳税额的具体程序和方法
  • 电脑到u盘
  • 库存呆滞品处理方法
  • linux的ps命令用法
  • 资产减值损失在哪个表
  • 2019年下半年中小学教师资格考试综合素质试题
  • PHP:mcrypt_enc_self_test()的用法_Mcrypt函数
  • 在缴纳企业所得税的情形
  • php 正则
  • 由浅入深英语怎么说
  • 特征提取原理
  • 128种chatGPT可以为人类做的事情
  • bg命令 将作业放到后台运行
  • 直接转销法能不能用
  • 所有者权益变动表怎么填 实例
  • 医院出的收据就是发票吗
  • 在ubuntu中安装win10
  • 购货方开工具红包怎么开
  • 营业成本的构成
  • sqlldr 函数
  • mysql索引之间的区别
  • mysql sql性能调优的方法
  • 报销发票哪些可以抵税
  • 影响债券投资收益率的因素有
  • 工资能否当月计提当月发放
  • 收到的进项发票在哪里认证
  • 转让古董收入
  • 注册资本认缴制度
  • 在建工程账务处理会计分录
  • 收到保险公司赔款
  • 收到投资款应该填制什么凭证
  • 账上的进项税额比申报多了怎么调账
  • 购买汽车时的保险是什么
  • 作废的发票税额扣税了怎么办
  • 年终建账于年初建账,在录入期初余额时有什么不一样?
  • sap批量导入
  • sql教程
  • 用Win7系统的Syskey命令来设置系统的启动密码
  • win8系统手机
  • xp系统怎么更改用户权限
  • win8错误代码0xc0000001开不了机
  • win7系统播放器在哪
  • win7语言栏不见了 各种方法都试过了
  • win7系统鼠标指针异常
  • linux服务器被尝试登录失败
  • linux012
  • ai控制器的简称是
  • jquery示例
  • 三消游戏规则
  • jquery分页插件的使用
  • 税务人员廉洁自律承诺书
  • 自来水征税
  • 成都市老年公交卡年审地点
  • 怎么找到税控系统发票作废怎么操作
  • 沭阳税务局举报电话
  • 在国税局工作属于什么职业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设