Rex 管理效率提升利器 Lekan 技术部 吴泽林(莫言) 2013/07/24.

Slides:



Advertisements
Similar presentations
Web Maple— 云端计 算 数学学院刘海洋 胡婷婷. 需求 什么是 Web Maple ? Maple : “ 数学家的软件 ” 符号和数值计算 动态编程语言 集成编辑环境与图形输出 Web Maple :网页上的数学家 完整的 Maple 功能 云端计算 网页独特的输入输出格式.
Advertisements

1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
健康吃‧快樂動 黃金比例 蔬果 Give Me Five! 董氏基金會食品營養中心 健康吃‧快樂動.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
地方政府配合內政部推動國土資訊系統 補助社經資料庫建置因應策略說明會
21世纪全国高职高专 计算机系列实用规划教材 计算机网络技术基础 主 编: 杨瑞良 李 平 副主编: 邱 涛 李明龙.
第1章 拒絕誘惑 <致命的吸引力>   全世界每十秒鐘,就有一人死於吸菸,大多數吸菸者是在青少年時期開始吸菸,在染上菸癮後就很難戒掉,有些人的菸齡會長達二十年以上。這些癮君子比不吸菸者平均約減少十年壽命。 「菸」是需強制標示有傷害身心警語的商品。
便利商店人員工作注意事項 成功工商建教組.
思想品德 七年级(下册) 广东教育出版社.
報告人:劉國安 總經理 單 位:寶碩財務科技股份有限公司 臺北國際金融資訊協會理事長
有效的讀書方法 蔡彥欣 博士 鄭建立 整理.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
新北市廠商聯合抗旱會議 104年3月23日.
年度校樹選拔秀 主辦單位:楊梅國小.
第八章 网络课程的设计与开发.
第九章日治時期的台灣(下).
台灣桃園國際機場 B 譚凱譽 B 呂祥辰 B 王靜柔 B 趙 儀
开源软件 OSS (Open Source Software)
操作系统结构.
第五课 小设计师.
程序设计思想与方法入门篇 庄天红.
互联网时代班主任的挑战 万玮 2014年9月20日.
Cacti 第三天課程 Cacti 到底是什麼? (上午 ) Cacti 的資料流 - Cacti 資料的取得 :
Application & Functions
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
Azure Event Hub Survey 周琦.
第07章 Web服务器的组建与 安全管理 本章将重点讲解如何通过IIS、Apache架设、设置Web服务器。
這樣做 便便天天順.
Certified OpenStack Administrator
Linux.
崔涛,高能所云计算组 高能所计算中心 十八届全国科学计算与信息化会议 Openstack培训及操作 崔涛,高能所云计算组 高能所计算中心.
第四章 網頁表單與資料傳遞.
建立/修改/刪除資料庫 資料庫組成檔案 建立資料庫: 資料(庫)檔案 交易記錄檔 使用Enterprise Manager工具 自助法:
第 3 章 熟悉 SQL Server 的工作平台.
软件调试 目录 页 软件调试的检查表 下装用户程序到 CPU 排除停机错误 系统功能测试的步骤 记录程序的修改 项目文件的归档
Linux 圖形操作介面 GUI -- X-window 與 Webmin
Warftp(ftp伺服器)架設與管理 高雄市教育局資訊推動小組 檔案下載 檔案安裝 啟動伺服器 帳號及權限管理.
第 2 章 FrontPage 2002 的基本操作.
鄉村尋根-農具篇.
第一組 指導教授:潘仁義老師 組 員:方明建 盧宗宏
CH.2 顧客關係管理之經營策略.
給地球一個美麗環境 P-Manage (mFP Charging ) 2011
Joomla 裝了,然後呢?.
第七章 客服管理中心之系統規劃與建構 -以AvecCRM為例
蔡哲民 信望愛聖經網站董事與技術組負責人 崑山科技大學資訊傳播系助理教授
GT4安装与开发 李长华.
邹佳恒 第十八届全国科学计算与信息化会议 • 威海,
作業二 : SIP User Mobility 實驗目的 實作部分
数据智能同步系统 操作指南.
第二章 防火墙基础技术.
2010電資院 「頂尖企業暑期實習」 經驗分享心得報告
Windows服务器操作系统:2003 市场占有率仍稳居第一
Python联合服务器的使用.
架站實做—AppServ
微软云计算 --Windows Azure platform
SOA模型设计 杨子 2009/09/30.
古佳怡 實驗流程.
講員:游文志 排程系統教育訓練 後台管理系統 講員:游文志
105學年度第二次 總務會議 106年03月28日(二) 下午14:00 第二教學研討室.
My life.
万方数据知识服务平台 论文相似性检测 培训师:何娟
中国农业科学院博士后学术论坛 博士后基金申请的经验及体会 中国农业科学院生物技术研究所 秦 华 博士
職業衛生學程推廣增能校外參訪 臺灣菸酒股份有限公司-花蓮廠
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
指導老師:王偉德 老師 學生:賴政揚 林怡君 戴明宏
學校/系所名稱:樹德科技大學/資訊工程系 參賽隊名:宇宙小超人 參賽同學:沈盈哲、候坤誠、康庭飴、蔡佩諭 指導老師:程毓明教授
第五章 系統實作與分析 選擇Subversion 的主要原因是它滿足使用者需求,即 對於版本的控管必須包含資料夾的控管不僅止於檔案 的管理,還有另外一個因素是Subversion 在處理資料 夾時有較好的效率。
大数据应用人才培养系列教材 数据清洗 刘 鹏 张 燕 总主编 李法平 主编 陈潇潇 副主编.
Usage Eclipse 敏捷方法工具介紹 實驗室網站:
「高級中等學校學生學習歷程資料庫」與學校自行建置 「校內學生學習歷程檔案紀錄模組」 資料串接全國說明會
Presentation transcript:

Rex 管理效率提升利器 Lekan 技术部 吴泽林(莫言) 2013/07/24

Rex 是什么 Rex(http://rexify.org)是一个自动化工具,可用于远程执行、部署和配置管理。 使用 Perl 开发,开源软件。 采用 Apache 2.0 许可证。

简单的例子 Rexfile: user "rex"; key_auth; public_key "/data/rex/.ssh/id_rsa.pub"; private_key "/data/rex/.ssh/id_rsa"; desc "Get Disk Free"; task "disk_free", sub { my $output = run "df -h"; say $output; }; rex -H "192.168.0.[100..200]” disk_free

定义设备组 定义设备组 group webservers => qw( 192.168.0.100 192.168.0.101 ); rex -G webservers disk_free

在 Perl 中使用 use Rex::Task my $task = Rex::Task->new(name => "testtask"); $task->set_server("remoteserver"); $task->set_code(sub { say "Hello"; }); $task->modify("no_ssh", 1);

Rex 的功能介绍 远程执行 部署 配置管理 其它功能

远程执行 task run => sub { my $self = shift; my $cmd = $self->{cmd}; run $cmd, sub { my ($data) = @_; my $server = Rex->get_current_connection()->{server}; say "$server>>\n$data" }; rux -G allservers run --cmd="df -h" rux -G allservers run --cmd="test -d /usr/local/nginx && /usr/local/nginx/sbin/nginx -s reload"

部署 task prepare => sub { install "apache2"; service apache2 => ensure => "started"; };

配置管理 task "configure", group => "frontend", sub { prepare(); file "/etc/apache2/apache2.conf", source => "files/etc/apache2/apache2.conf", on_change => sub { service apache2 => "reload"; }; };

其它功能 Hardware - 收集硬件信息 Transaction - 事务支持 FS::File - 远程文件读写 Commands::Cron - Cron 管理 Commands::User - 用户管理 Commands::Iptables - 管理 Iptable Virtualization::VBox - 管理 Virtualbox

其它功能 完整的 API 列表请参考 http://rexify.org/api/index.html

与其它同类工具的对比 与调用 SSH 的对比 与 Expect 的对比 与 Puppet 的对比 与自主开发工具的对比

与其它同类工具的对比 循环调用 SSH 是不可接受的

与其它同类工具的对比 与 Expect 的对比 Expect 由一系列的 expect 和 send 命令组成;Rex 由一个个的 Task 组成。 Expect 关心的是字符串的匹配和捕获;Rex 关心的是更高层的对象,既一个任务的执行。 Expect 调试麻烦;Rex 方便调试。

与其它同类工具的对比 与 Puppet 的对比 Puppet 使用 Ruby 开发;Rex 使用 Perl 开发。 Puppet 提供一套自己的 DSL;Rex 直接采用 Perl 语言。 Puppet 完成度高,使用复杂;Rex 方便扩展,使用相对简单。 Puppet 用户更多;Rex 比较小众。

与其它同类工具的对比 与自主研发工具的对比 自主研发工具和 Rex 都能与现有环境无缝整合。

Rex 的优缺点 Rex 的优点 Rex 的缺点

Rex 的优缺点 Rex 的优点 不需要 agent。 使用简单,尤其对于 Perler 来说。 方便扩展,方便整合现有环境。 提供一系列方便好用的 API,避免重复开发。 开发活跃,更新速度快。

Rex 的优缺点 Rex 的缺点 依赖于 SSH。 完成性不高,缺少一些其它工具如 Puppet 提供的 Dashboard 等功能,需要自己开发。 不提供一套自己的 DSL,直接采用 Perl 语言,对其它语言用户不友好。

最佳应用 废弃原来直接使用 SSH 或者 Expect 脚本等做法,统一由 Rex 管理。 Rex 的 group 定义默认直接写在 Rexfile 里,可改为由设备管理数据库中读取。 基于 Rex 的 Web 界面,可使用 Rex::WebUI 或者自主开发 Web 界面。 基于 Rex 的操作日志追踪和审计。

Lekan Rex 应用例子

谢谢大家!