中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

配置管理工具Puppet 安裝和測(cè)試(二)

于2017.04.21 從新浪博客搬遷過來

公司主營業(yè)務(wù):做網(wǎng)站、網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出保定免費(fèi)做網(wǎng)站回饋大家。

----------------------------------------------------------------

其實(shí)我們已經(jīng)連接了一個(gè)client就是在啟動(dòng)客戶端的時(shí)候),在第一次連接的時(shí)候會(huì)agent會(huì)發(fā)起一個(gè)證 驗(yàn)證的請(qǐng)求并使用一個(gè)私鑰來加密連接,puppet使用SSL證書來驗(yàn)證master和client之間的連接,client向master發(fā)起證書請(qǐng)求,然后等待master簽名并返回證書

為了完成連接,master需要對(duì)證書進(jìn)行簽名:

puppet cert --list                   顯示等待簽名的證書

puppet cert --sign client34.puppet.com      對(duì)client34發(fā)起的證書進(jìn)行簽名

puppet cert --sign --all               對(duì)所有等待簽名的證書進(jìn)行簽名

 

可能遇到的問題:

err: Could not retrieve catalog: Could not find default node or by name whit……..

雖然agent現(xiàn)在已經(jīng)連接到了master,并且已經(jīng)簽名也驗(yàn)證了這個(gè)會(huì)話,但是對(duì)于agent來說master上并沒有可用的配置,因此收到這條錯(cuò)誤提示,為節(jié)點(diǎn)添加上可用配置就可以了;

 

1.  創(chuàng)建第一個(gè)配置

Puppet將包含配置數(shù)據(jù)的文件稱為清單,puppet清單由許多組件組成:

資源:獨(dú)立的配置項(xiàng)

文件:能發(fā)送到agent的真實(shí)文件

模版:能夠填充文件的模版文件

節(jié)點(diǎn):用于指定每一個(gè)agent的配置

類:資源的容器

定義:資源的組合容器

 

這些組件由一個(gè)包含變量、條件、數(shù)組和其他特性的配置語言保證起來的;

 

擴(kuò)展site.pp文件

創(chuàng)建第一個(gè)agent配置的第一步是定義和擴(kuò)展stie.pp文件

vim /etc/puppet/manifests/site.pp

import 'nodes.pp'

$puppetserver = 'master.puppet.com'

 

#import指令告訴puppet載入一個(gè)nodes.pp的文件,也可以載入多個(gè)文件,import 'nodes/*' 這樣將會(huì)載入nodes目錄下所有以.pp擴(kuò)展名的文件

#$puppetserve 定義一個(gè)變量,在這里puppetserve被賦值指定puppet master,并且能夠在puppet配置中使用;

 

Agent的配置

首先需要添加一個(gè)節(jié)點(diǎn)定義

vim /etc/puppet/manifests/nodes.pp

node 'client34.puppet.com' {

    include sudo

    package { 'vim': ensure => present }         #也可以為一個(gè)節(jié)點(diǎn)指定單獨(dú)的資源

}

配置管理工具Puppet 安裝和測(cè)試(二)

 

include 指令用于指定需要被應(yīng)用到主機(jī)的配置集合,一個(gè)節(jié)點(diǎn)包含兩種配置集合:

類:資源的容器          模塊:一個(gè)高級(jí),可移植的資源容易,包含類、定義及其他一些puppet配置

可以使用多個(gè)include指令或者用逗號(hào)隔開

include sudo

include sshd

include vim, syslog-ng

 

創(chuàng)建第一個(gè)模塊

每一個(gè)模塊都需要一個(gè)特定的目錄結(jié)構(gòu)和一個(gè)叫做init.pp的文件,這個(gè)目錄結(jié)構(gòu)能夠幫助puppet自動(dòng)載入模塊,模塊路徑可以有puppet.conf中[main]段modulepath配置項(xiàng)設(shè)置,默認(rèn)路徑/etc/puppet/modules/和/var/lib/puppet/modules/

 

   這里我們創(chuàng)建一個(gè)sudo的模塊

   創(chuàng)建模塊結(jié)構(gòu)

   mkdir -p /etc/puppet/modules/sudo/{ files,manifests, templates}

   touch /etc/puppet/modules/sudo/manifests/init.pp

    

    manifests用于存放init.pp文件和其他配置,init.pp文件是模塊的核心,每個(gè)模塊必須存在;files目錄存放屬于模塊的一部分文件;     templates包含模塊可能會(huì)用到的任何模版;

                  

 創(chuàng)建sudo模塊的init.pp文件

vim/etc/puppet/modules/sudo/manifests/init.pp

 class sudo {

    package { sudo:

        ensure => present,

    }

 

    if $operatingsystem == "Ubuntu" {

        package { "sudo-ldap":

            ensurce => present,

            require => Package["sudo"]

        }

    }

 

    file { "/etc/sudoers":

            owner => "root",

            group => "root",

            mode => 0440,

            source => "puppet://$puppetserver/modules/sudo/etc/sudoers",

            require => Package["sudo"],

        }

}

 

配置管理工具Puppet 安裝和測(cè)試(二)

 

 

Sudo模塊的init.pp文件包含了一個(gè)單獨(dú)的類,也叫做sudo;類中包含了3個(gè)資源:兩個(gè)軟件包和一個(gè)文件資源;

第一個(gè)軟件包資源使用ensure => present 來確保sudo包已經(jīng)安裝,第二個(gè)軟件包資源使用if/else語法作為安裝sudo-ldap包的條件判斷;還有另外兩種條件判斷語句:case和選擇器語法>

Puppet會(huì)檢查每一個(gè)連接客戶端的operatingsystem的值,如果$operatingsystem的fact值是Ubuntu,puppet就會(huì)安裝sudo-ldap包。

Sudo類中最后一個(gè)資源是一個(gè)文件資源 File["/etc/sudoers"]用來管理/etc/sudoers文件,前3個(gè)屬性指定這個(gè)文件的用戶和組、權(quán)限;下一個(gè)屬性source允許puppet從puppet文件

所有存放在模塊中的文件都位于files目錄下,這可以認(rèn)為是模塊文件的共享根,在這個(gè)例子中我們將要在files中創(chuàng)建etc目錄和sudoers文件

mkdir -p /etc/puppet/modules/sudo/files/etc/

cp /etc/sudoers /etc/puppet/modules/sudo/files/etc/sudoers

注意在這里好像得給/etc/puppet/modules/sudo/files/etc/sudoers所有人可讀權(quán)限

 

應(yīng)用第一個(gè)配置

我們?cè)俅卧试Spuppet  agent來觀察這一點(diǎn)

因?yàn)槲疫@虛擬機(jī)中已經(jīng)存在/etc/sudoers 這個(gè)文件,先將其刪除

Rm –rf /etc/soduers

puppet agent --server=master.puppet.com --no-daemonize --verbose –onetime

配置管理工具Puppet 安裝和測(cè)試(二)

 

 

可以看到在/etc/又有了sudoers這個(gè)文件,這就說明我們agent從master應(yīng)用成功了。

 

或者可以這樣來測(cè)試應(yīng)用,讓在/tmp下創(chuàng)建一個(gè)文件

vim /etc/puppet/manifests/nodes.pp

node 'client34.puppet.com' {

    file { "/tmp/agent_test.txt":                       #這是文件路徑

        content => "The Is Puppet Test!!",              #這是文件內(nèi)容

        }

}

配置管理工具Puppet 安裝和測(cè)試(二)

 

 

在客戶端查看效果

 

 配置管理工具Puppet 安裝和測(cè)試(二)

 

 

至此Puppet 就初步的安裝和測(cè)試連接完成了,我也是第一次接觸puppet,目前就安裝和測(cè)試成功了,其他功能還待探索,如果有什么不正確或者更好的方法請(qǐng)指點(diǎn)!

當(dāng)前題目:配置管理工具Puppet 安裝和測(cè)試(二)
文章位置:http://www.rwnh.cn/article10/psjcgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、ChatGPT營銷型網(wǎng)站建設(shè)、商城網(wǎng)站網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
汝州市| 临沧市| 奉化市| 康马县| 新竹县| 阳信县| 缙云县| 乌鲁木齐县| 阿瓦提县| 尤溪县| 玉树县| 马关县| 南和县| 绵阳市| 石台县| 河曲县| 革吉县| 临潭县| 冀州市| 城口县| 宁武县| 平度市| 洪洞县| 渝北区| 喀什市| 兴义市| 平武县| 象山县| 邹城市| 三亚市| 望江县| 海口市| 日土县| 塘沽区| 蓝山县| 保山市| 建德市| 正镶白旗| 天长市| 虹口区| 威信县|