中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-07-05 12:51:35 來源:網絡 閱讀:664 作者:Aloneforyou 欄目:網絡安全

于2017.04.21 從新浪博客搬遷過來

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


其實我們已經連接了一個client就是在啟動客戶端的時候),在第一次連接的時候會agent會發起一個證 驗證的請求并使用一個私鑰來加密連接,puppet使用SSL證書來驗證masterclient之間的連接,clientmaster發起證書請求,然后等待master簽名并返回證書

為了完成連接,master需要對證書進行簽名:

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

puppet cert --sign client34.puppet.com      client34發起的證書進行簽名

puppet cert --sign --all               對所有等待簽名的證書進行簽名

 

可能遇到的問題:

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


雖然agent現在已經連接到了master,并且已經簽名也驗證了這個會話,但是對于agent來說master上并沒有可用的配置,因此收到這條錯誤提示,為節點添加上可用配置就可以了;

 

1.  創建第一個配置

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

資源:獨立的配置項

文件:能發送到agent的真實文件

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

節點:用于指定每一個agent的配置

類:資源的容器

定義:資源的組合容器

 

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

 

擴展site.pp文件

創建第一個agent配置的第一步是定義和擴展stie.pp文件

vim /etc/puppet/manifests/site.pp

import 'nodes.pp'

$puppetserver = 'master.puppet.com'

 

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

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

 

Agent的配置

首先需要添加一個節點定義

vim /etc/puppet/manifests/nodes.pp

node 'client34.puppet.com' {

    include sudo

    package { 'vim': ensure => present }         #也可以為一個節點指定單獨的資源

}

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

 

include 指令用于指定需要被應用到主機的配置集合,一個節點包含兩種配置集合:

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

可以使用多個include指令或者用逗號隔開

include sudo

include sshd

include vim, syslog-ng

 

創建第一個模塊

每一個模塊都需要一個特定的目錄結構和一個叫做init.pp的文件,這個目錄結構能夠幫助puppet自動載入模塊,模塊路徑可以有puppet.conf[main]modulepath配置項設置,默認路徑/etc/puppet/modules//var/lib/puppet/modules/

 

   這里我們創建一個sudo的模塊

   創建模塊結構

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

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

    

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

                  

 創建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 安裝和測試(二)

 

 

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

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

Puppet會檢查每一個連接客戶端的operatingsystem的值,如果$operatingsystemfact值是Ubuntupuppet就會安裝sudo-ldap包。

Sudo類中最后一個資源是一個文件資源 File["/etc/sudoers"]用來管理/etc/sudoers文件,前3個屬性指定這個文件的用戶和組、權限;下一個屬性source允許puppetpuppet文件服務器上獲取一個文件并將其發生到客戶端,這個屬性的值就是puppet文件服務器和所需文件的路徑;

Source的下一部分告訴puppet去那里尋找這個文件,等同于一個網絡共享文件,這文件第一部分是modules,表明文件是存放在一個模塊下的,接下來指定模塊,這里是sudo,最后指定模塊內的路徑。

Require是一個元參數,元參數require在資源Package["sudo-ldap"]Package["sudo"]之間創建了一個依賴關系,在這個例子中,給資源加上require元參數就是高速puppet  Package["sudo-ldap"]依賴于Package["sudo"],因此Package["sudo"]資源一定會首先被執行。

所有存放在模塊中的文件都位于files目錄下,這可以認為是模塊文件的共享根,在這個例子中我們將要在files中創建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所有人可讀權限

 

應用第一個配置

我們再次允許puppet  agent來觀察這一點

因為我這虛擬機中已經存在/etc/sudoers 這個文件,先將其刪除

Rm –rf /etc/soduers

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

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

 

 

可以看到在/etc/又有了sudoers這個文件,這就說明我們agentmaster應用成功了。

 

或者可以這樣來測試應用,讓在/tmp下創建一個文件

vim /etc/puppet/manifests/nodes.pp

node 'client34.puppet.com' {

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

        content => "The Is Puppet Test!!",              #這是文件內容

        }

}

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

 

 

在客戶端查看效果

 

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

 

 

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

略阳县| 土默特右旗| 英吉沙县| 金溪县| 高淳县| 亳州市| 齐河县| 汕头市| 松原市| 涿鹿县| 资源县| 永顺县| 金华市| 龙陵县| 霞浦县| 雅江县| 乌审旗| 临清市| 西昌市| 红原县| 深州市| 胶南市| 彭州市| 芷江| 阿勒泰市| 调兵山市| 霍林郭勒市| 宜城市| 志丹县| 海盐县| 怀来县| 夏津县| 高密市| 孟津县| 于田县| 井研县| 嘉善县| 神木县| 呼伦贝尔市| 奇台县| 扎兰屯市|