中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

Perl集群配置管理系統(tǒng)Rex簡明手冊
來源:易賢網(wǎng) 閱讀:1342 次 日期:2014-09-25 11:58:23
溫馨提示:易賢網(wǎng)小編為您整理了“Perl集群配置管理系統(tǒng)Rex簡明手冊”,方便廣大網(wǎng)友查閱!

Rex 是 Perl 編寫的基于 SSH 鏈接的集群配置管理系統(tǒng),語法上類似 Puppet DSL。官網(wǎng)中文版見 。本文僅為本人在部門 Wiki 上編寫的簡介性文檔。

常用命令參數(shù)

rex 命令參數(shù)很多,不過因?yàn)槲覀兊沫h(huán)境是 krb 認(rèn)證的,所以有些參數(shù)只能寫在 Rexfile 里。所以一般固定在存放了 Rexfile 的 /etc/puppet/webui 下執(zhí)行命令,很多配置就自動加載了。那么還需要用到的命令參數(shù)基本就只有下面幾個(gè):

-Tv: 查看當(dāng)前 Rexfile 里定義了哪些 Task 任務(wù),以及服務(wù)器組。

-H: 指定 Task 將在哪些 Host 上執(zhí)行。這里比較方便的地方是支持 10.5.16.[95..110] 這樣的寫法。

-G: 指定 Task 將在哪些 Group 上執(zhí)行。Group 的定義方式很多,Rex 默認(rèn)支持的有直接在 Rexfile 里通過 group 指令指定,通過 ini 配置文件設(shè)定等等。目前我是實(shí)現(xiàn)了一個(gè) groups_db 指令,來從我們的 sqlite 里獲取。groups_db('cdnbj::nginx') 就會自動生成一個(gè)名叫 ‘cdnbj::nginx' 的服務(wù)器組,包括 cdnbj 里所有部署了 nginx 的服務(wù)器。

-e: 指定一個(gè)臨時(shí)任務(wù)。通常是'say run “ipconfig”‘這樣的簡單命令形式。如果需要復(fù)雜邏輯,還是在 Rexfile 里書寫 Task。

-q:指定運(yùn)行日志級別,有 -q 和 -qq。

-d:指定運(yùn)行日志級別,有 -d 和 -dd。

Rexfile 介紹

參數(shù)設(shè)置部分:

代碼如下:

set connection => "OpenSSH";

user "root";

krb5_auth;

parallelism 10;

這四行指定采用 kerberos 認(rèn)證,并發(fā) 10 個(gè)進(jìn)程執(zhí)行 ssh 命令。

代碼如下:

desc "install puppet agent";

task "puppet_install", sub {

}

before "puppet_install", sub {

}

after "puppet_install", sub {

}

這幾行就是 Rexfile 的任務(wù)定義主體格式。task 指令定義任務(wù),任務(wù)會在具體的 -H 或者 -G 服務(wù)器上執(zhí)行。其他都是可選項(xiàng),desc內(nèi)容會在 -Tv 的時(shí)候顯示;before 和 after 定義的任務(wù)會在執(zhí)行對應(yīng) task 之前或之后,在'''rex命令執(zhí)行處,即10.4.1.21本地'''執(zhí)行。

常用指令介紹

run

運(yùn)行命令。如果有回調(diào)函數(shù),那么會把 stdout 和 stderr 傳給回調(diào)函數(shù);如果沒有,直接把 stdout 作為返回值。

比如:

代碼如下:

say run "uptime";

run "nginx -v", sub { my ($out, $err) = @_; say $err };

file

分發(fā)文件。語法類似 Puppet 的 file。支持 source、template、ensure、on_change 等操作。注意:rex 是順序執(zhí)行 Rexfile 的,所以不用設(shè)置 Puppet 的 require 指令。

比如:

代碼如下:

file "/etc/yum.repos.d/xiaonei-private.repo",

source => "repos/xiaonei-private.repo";

file "/etc/nginx/nginx.conf",

content => template("templates/etc/nginx/nginx.conf.tpl"),

owner => "nginx",

group => "nginx",

mode => 644,

ensure => 'file',

on_change => sub { service nginx => "restart"; };

file "/etc/nginx/conf.d",

ensure => "directory",

pkg

安裝軟件包,在早期版本命令寫作 install package => "nginx" ,最近改成 pkg 了,更像 Puppet 語法了。

也支持傳遞數(shù)組作為 pkg 內(nèi)容。另外,rex 還 提供了一個(gè) update_package_db 指令,用于執(zhí)行 yum clean all 或者 apt-get update 操作。這點(diǎn)是 Puppet 欠缺的。

比如:

代碼如下:

update_package_db();

my $packages = case operating_system,

Debian => ["apache2", "libphp5-apache2"],

CentOS => ["httpd", "php5"],

pkg $packages,

ensure => "present";

ensure 也支持 present、absent、latest 等幾種含義。同 Puppet。

account

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

比如:

代碼如下:

create_group 'puppet';

account "puppet",

ensure => "present",

uid => 509,

home => '/home/puppet',

comment => 'Puppet Account',

expire => '2015-05-30',

groups => ['puppet'],

password => 'puppet',

system => 1,

no_create_home => TRUE,

ssh_key => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChUw...";

tail

用來同時(shí)觀測多臺主機(jī)的日志的最新追加情況。應(yīng)該是比較有用的一個(gè)小功能。代碼如下:

代碼如下:

tail "/var/log/syslog", sub {

my ($data) = @_;

my $server = Rex->get_current_connection()->{'server'};

print "$server>> $data\n";

};

遠(yuǎn)程主機(jī)詳情相關(guān)變量

Puppet 有專門的 Facts 變量來判定遠(yuǎn)程主機(jī)的詳情。Rex 因?yàn)樽?SSH 連接,不會在遠(yuǎn)程主機(jī)上跑一個(gè) agent 來收集這些信息,所以還是通過遠(yuǎn)程執(zhí)行命令的方式來提供相關(guān)內(nèi)容。目前常用的幾個(gè)函數(shù)(也可以認(rèn)為是變量)有:

is_redhat

這個(gè)用來判斷操作系統(tǒng)是否是 RedHat 系列。之前因?yàn)橛幸慌?Debian 的機(jī)器,所以 Rexfile 里一直有這么個(gè)操作邏輯:

代碼如下:

if ( is_debian ) {

} elsif ( is_redhat ) {

} else {

}

operating_system_version

這個(gè)用來判斷具體的操作系統(tǒng)版本號。比如 CentOS5 跟 CentOS6 應(yīng)該應(yīng)用的操作就不一樣,甚至 CentOS6.5 和 CentOS6.2 也有可能不一致。

比如 Rexfile 里的 1w10 任務(wù):

代碼如下:

if ( is_redhat and operating_system_version >= 64 )

}

route

rex 可以收集的信息比 puppet 要多很多,比如網(wǎng)絡(luò)相關(guān)、sysctl 相關(guān)等等。Rexfile 里的 1w10 任務(wù)用到了 route 信息來獲取默認(rèn)網(wǎng)關(guān)和網(wǎng)卡接口。

代碼如下:

my ($default_route) = grep {

$_->{"flags"} =~ m/UG/ && (

$_->{"destination"} eq "0.0.0.0" ||

$_->{"destination"} eq "default" )

} route;

if ($default_route) {

my $default_gw = $default_route->{"gateway"};

my $default_if = $default_route->{"iface"};

run "ip route change default via ${default_gw} dev ${default_if} initcwnd 10 initrwnd 10";

};

connection

在多臺主機(jī)執(zhí)行任務(wù)的時(shí)候,大多希望在輸出的時(shí)候看到某條結(jié)果是哪個(gè)主機(jī)返回的。前面 tail 任務(wù)就用到了,不過寫起來非常復(fù)雜的樣子。其實(shí) rex 提供給更簡潔一點(diǎn)的寫法。就是 connection->server。

代碼如下:

task 'tellmewhoyouare', sub {

say connection->server;

}

當(dāng)前連接的服務(wù)器的整個(gè)信息,也可以通過 get_system_information 指令來獲取,這兩個(gè)指令其實(shí)是等同的。不過根據(jù)字面意思一般用來不同語境下。

這些信息如果要完整查看,可以通過 dump_system_information 指令來查看。這個(gè)命令跟 print Dumper get_system_information() 不一樣的是,會把每個(gè)鍵作為單獨(dú)變量。而這些變量就是可以直接用于 rex 的 template 里的內(nèi)嵌變量。比如:

代碼如下:

listen <%= $eth0_ip %>:80;

visible_hostname <%= $hostname %>

不在 dump_system_information 清單里的變量,也想在 template 里使用的,就必須顯式傳遞。這點(diǎn)和 Puppet 不一致,puppet 在 template 里可以通過 scope.lookupvar() 指令獲取任意pp類里設(shè)定的變量,這一點(diǎn)完全無視詞法作用域的存在==!

比如:

代碼如下:

file '/etc/elasticsearch/elasticsearch.yml',

content => template('files/es.yml.tmpl', conf => {

clustername => 'logstash'

});

對應(yīng)的 es.yml.tmpl 里寫作:

代碼如下:

clustername: <%= $conf->{'clustername'} %>

這樣才行。

更多信息請查看IT技術(shù)專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:Perl集群配置管理系統(tǒng)Rex簡明手冊
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點(diǎn)

版權(quán)所有:易賢網(wǎng)

中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲成av人片在线观看无码| 国产高清无密码一区二区三区| 另类的小说在线视频另类成人小视频在线 | 午夜精品久久久久久久久久| 成人av免费在线播放| 欧美日韩你懂得| 一区二区三区在线观看欧美 | 国产人伦精品一区二区| 日本美女一区二区三区视频| 91网站最新地址| 国产色综合一区| 国产一区二区精品久久99| 久久综合一区二区| 国产成人精品亚洲777人妖| 亚洲国产高清在线观看视频| 国产成人高清在线| 综合欧美亚洲日本| 99精品视频在线观看| 国产精品嫩草影院av蜜臀| 成人精品高清在线| 一区二区三区高清在线| 欧美亚洲综合另类| 免费观看91视频大全| www成人在线观看| 粉嫩一区二区三区在线看| 亚洲色大成网站www久久九九| 成人网页在线观看| 一区二区在线免费| 91精品国产欧美日韩| 国产激情一区二区三区四区| 国产精品久久久99| 91精品福利视频| 极品少妇xxxx精品少妇| 国产三级三级三级精品8ⅰ区| 成人高清视频免费观看| 婷婷亚洲久悠悠色悠在线播放 | 精品无人码麻豆乱码1区2区 | 日本一区二区免费在线观看视频| 91成人看片片| 成人免费观看视频| 日韩高清国产一区在线| 国产欧美日韩麻豆91| 正在播放亚洲一区| 成人激情午夜影院| 五月婷婷激情综合网| 樱花草国产18久久久久| 国产精品乱人伦一区二区| 日韩欧美色综合网站| 色狠狠综合天天综合综合| 国产91在线观看| 久久国产精品无码网站| 一区二区三区 在线观看视频| 久久综合九色综合97婷婷女人 | 国产成人免费在线视频| 蜜臀av一级做a爰片久久| 1000部国产精品成人观看| 亚洲国产精品成人综合色在线婷婷| 在线免费观看一区| 91精品1区2区| 欧美人牲a欧美精品| 欧美人与z0zoxxxx视频| 欧美日韩一区二区三区在线| 91成人在线观看喷潮| 日本道在线观看一区二区| 99视频一区二区| 精品视频一区二区三区免费| 欧美唯美清纯偷拍| 欧美妇女性影城| 日韩一区二区三区高清免费看看| 欧美日韩国产成人在线免费| 日本福利一区二区| 精品美女一区二区| 亚洲人成网站影音先锋播放| 一个色综合网站| 性做久久久久久免费观看| 人禽交欧美网站| 国产专区综合网| 91久久精品网| 国产女人18毛片水真多成人如厕 | 久久精品日产第一区二区三区高清版| 欧美丰满少妇xxxxx高潮对白| 亚洲成人av一区二区三区| 国产精品一区在线观看你懂的| 久久激情五月激情| 色综合久久综合中文综合网| 欧美体内she精视频| 久久婷婷综合激情| 日日嗨av一区二区三区四区| 蜜桃精品在线观看| 在线观看网站黄不卡| 欧美电影免费观看高清完整版在 | 欧美成人国产一区二区| 樱花草国产18久久久久| 国产在线观看一区二区| 欧美视频三区在线播放| 久久久久97国产精华液好用吗| 亚洲国产一区二区三区| 99久久综合国产精品| 日韩午夜激情av| 日韩精品高清不卡| 91成人在线免费观看| 一区二区三区鲁丝不卡| 在线中文字幕一区二区| 91国模大尺度私拍在线视频| 国产午夜亚洲精品羞羞网站| 蜜臀精品久久久久久蜜臀| 在线播放一区二区三区| 亚洲高清不卡在线观看| 91视频在线观看| 国产喂奶挤奶一区二区三区| 蜜臀久久99精品久久久画质超高清| 欧美亚洲一区二区在线| 18成人在线观看| 91在线国产观看| 国产精品欧美一区喷水| 成人av免费在线| 亚洲综合无码一区二区| 91精品国产福利| 免费观看成人av| 国产精品网站在线观看| av电影在线观看完整版一区二区| 久久综合色一综合色88| 大美女一区二区三区| 亚洲制服丝袜在线| 欧美日韩精品专区| 91丨porny丨在线| 日日嗨av一区二区三区四区| 2022国产精品视频| 成人高清免费观看| 亚洲欧美综合另类在线卡通| 欧美一区二区日韩| 91网址在线看| 日本不卡的三区四区五区| 国产精品午夜电影| 91麻豆精品国产91久久久久久| 成人高清视频在线| 免费日韩伦理电影| 亚洲精品欧美二区三区中文字幕| 日韩视频一区二区| 在线观看网站黄不卡| av亚洲产国偷v产偷v自拍| 欧美精品一区二区精品网| 一本久道久久综合中文字幕| 紧缚奴在线一区二区三区| 图片区小说区区亚洲影院| 久久精品一区二区三区不卡 | 国产女人18水真多18精品一级做| 6080yy午夜一二三区久久| 91黄视频在线| 欧日韩精品视频| 在线观看欧美日本| 成人综合婷婷国产精品久久| 国产福利91精品| 国产精品99久久久久久宅男| 久久成人麻豆午夜电影| 蜜臀av一区二区在线免费观看 | 中文av字幕一区| 色婷婷激情综合| 美腿丝袜亚洲一区| 久久精品国产澳门| 国产不卡视频在线观看| av一区二区久久| 欧美亚洲一区二区三区四区| 日韩视频中午一区| 国产女人aaa级久久久级| 亚洲免费资源在线播放| 亚洲一区二区影院| 奇米色777欧美一区二区| 国产精品一二三四| 国产成人精品免费在线| www.视频一区| 成人h版在线观看| 欧美区在线观看| 26uuu久久天堂性欧美| **网站欧美大片在线观看| 亚洲午夜在线观看视频在线| 国产一二精品视频| 国产精品18久久久久久久久久久久 | 国产剧情在线观看一区二区 | 一区二区三区波多野结衣在线观看| 美国十次了思思久久精品导航| av网站免费线看精品| 日韩一区二区三区三四区视频在线观看| 欧美激情一区在线观看| 麻豆freexxxx性91精品| 91啦中文在线观看| 久久婷婷国产综合国色天香| 亚洲一区av在线| 懂色av一区二区夜夜嗨| 欧美一区二区免费| 日韩激情一二三区| 91成人在线免费观看| 中文字幕在线一区| 成人污视频在线观看| 欧美r级在线观看| 韩国中文字幕2020精品| 欧美不卡一区二区三区| 五月婷婷综合在线| 7799精品视频| 免费xxxx性欧美18vr|