日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

puppet(2)-资源介绍

發(fā)布時間:2025/3/15 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 puppet(2)-资源介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

puppet- 資源介紹:

  • 類型、屬性與狀態(tài)同實現(xiàn)方式分離、僅指定目標狀態(tài)

    type {'title':attribute => value,...}
  • 查看支持的資源類型:

    puppet describe -lpuppet describe -s TYPEpuppet describe TYPE
  • 定義資源的要點:

    1、同一種類型中,資源名稱必須惟一;2、資源名稱是否區(qū)分大小與取決于OS;
  • 獨特屬性:

    package {'nginx':ensure => present,name => nginx,}命名變量:namevar,可省略,默認為title
  • 常用類型:package, user, group, file, service, exec, cron, notify
  • group的常用屬性:

    ensure: present, absentname: 組名gid: GIDsystem: 是否為系統(tǒng)組;true, yes; false, no
  • user的常用屬性:

    ensure: present, absentname: 用戶名uid: UIDsystem: 是否為系統(tǒng)用戶;gid: 基本組;groups: 附加組;home: 家目錄;password: 密碼;shell: 默認shell;comment: 注釋信息;expiry: 賬號過期期限 不常用
  • file的常用屬性:
    管理文件從屬關系、權限及其內(nèi)容。

    管理的類型有:

    普通文件目錄符號連接等(通過ensure屬性指定)

    如果管理普通文件,文件內(nèi)容可以:

    直接用content屬性直接給出,或者用source屬性根據(jù)遠程服務器下載生成

    如果是目錄:resource屬性+recurse屬性可以遞歸下載目錄
    核心屬性:

    resource: 可以遞歸下載目錄同時要配合另外一個recurse屬性定義是否遞歸下載構造目錄。recurse: 屬性是布爾型。因此recurse屬性 只有在ensure 屬性為directory時才有意義。content:直接生成的文件內(nèi)容;source: 通過指定的URL下載文件至目標位置;愿文件路徑,可以是本地文件路徑(單機模型),也可以使用puppet:///modules/module_name/file_name modules指的是模塊路徑,modele_name是模塊名稱ensure: file, directory, link, absent, presenttarget: 符號鏈接文件的鏈接目標;一般當ensure屬性為link時才需要指定此屬性,表示從哪里鏈接,一旦定義target,那么content和source就沒有用了,沒有任何意義。owner: 屬主group: 屬組mode: 權限,支持八進制個石泉縣,以及u,g,o的賦權方式path:目標路徑,指定文件放哪建議使用絕對路徑force: 強制刪除;僅用于ensure為absent時; 不是必須屬性purge: 清除指定目錄中存在的,但是在puppet中未定義的文件;replace:是否替換已經(jīng)存在的文件;
  • exec的常用屬性:
    運行一外部命令,命令應該具有“冪等性” (可以多次運行,不會損壞結果)

    冪等性:1. 命令本身具有 “冪等性”。 (yum update ,apt-get update)2. 資源有onlyif,unless,creates 等屬性以實現(xiàn)命令的條件式運行。onlyif 僅在什么時候執(zhí)行unless 除非什么條件下執(zhí)行creates 剛剛創(chuàng)建時執(zhí)行比如創(chuàng)建目錄/創(chuàng)建文件3. 資源有refreshonly 屬性,實現(xiàn)只有訂閱的資源發(fā)生變化時才執(zhí)行。只有在刷新時運行:只有這個資源依賴的其他資源改變了,這個命令才運行.用于執(zhí)行命令;但通常僅應該用于必須執(zhí)行命令才能完成操作時(puppet本身無法完成此功能);

    核心屬性

    command: 要執(zhí)行的命令,通常應該使用絕對路徑;creates:文件。 此屬性跟的文件不存在時才執(zhí)行命令。加入command 是創(chuàng)建 文件,那么執(zhí)行的條件是這個文件不存在onlyif:給定測試命令。僅在此命令執(zhí)行成功即執(zhí)行狀態(tài)碼返回為0,才執(zhí)行command命令unless:給定測試命令。 和onlyif相反,僅當測試命令執(zhí)行狀態(tài)碼不為0時,才執(zhí)行command命令cwd: 目錄, 在哪個目錄下運行命令path:為非絕對路徑的命令指定搜索路徑; 類似 環(huán)境變量 [path1,path2],如果不定義此屬性,則必須給出命令的絕對路徑。user:group:refresh: 跟命令,默認為收到依賴的資源的事件時會重新執(zhí)行此命令;但此屬性可以修改此默認行為;(定義命令接收到刷新通知時怎樣操作,跟的也是命令,默認命令在執(zhí)行一次,可以自定義,加入此命令為創(chuàng)建目錄,當接收到刷新通知時,你可以先刪除在創(chuàng)建。簡單點就時 刷新時執(zhí)行的命令。)refreshonly: 此資源不會自動被執(zhí)行,除非被依賴的資源發(fā)生了改變;(僅在收到refresh通知時,才運行此資源,布爾型值)returns: 指定狀態(tài)返回值;指定期望得到的返回值,當返回非此值時表示命令執(zhí)行失敗,默認為0, 一般不需要定義tries: 嘗試執(zhí)行次數(shù) ,默認一次 根據(jù)returns 判斷是否成功timeout: 超時時長
  • notify 最簡單的資源,就是顯示信息

    核心屬性message 要發(fā)送的消息的內(nèi)容,還是name/namevalue notify {'title':message => 'something here',}
  • cron的常用屬性: 定義任務計劃/管理任務計劃

    ensure: present, absentcommand: 周期性執(zhí)行的命令;environment: 定義PATH環(huán)境變量;hour:minute:month:monthday:weekday:
  • package的常用屬性:
    管理程序包: 卸載,安裝,升級

    ensure:installed, latest,version(2.3.1-2.el7) ,present, absentname: 程序包名稱source:包文件的路徑,可以是本地文件系統(tǒng)路徑,也可以是個url;puppet:///modules/MODULE_NAME/FILENAMEprovider 指定采用哪種方式安裝程序包,如在centos系統(tǒng)中默認采用yum進行安裝。現(xiàn)在想通過rpm進行安裝,安裝的源就是source屬性所指定的文件,那么就必須使用provider屬性 定義成rpm了。所以說 只有當provider 設置了 ,source屬性才有意義。那么又一個實際應用的問題,當你采用rpm進行安裝時,需要解決依賴關系,那么怎么解決依賴關系呢。這時候我們就需要使用exec資源了。yum install指定本地安裝文件,那么會使用本地的rpm包進行安裝,同時又能解決依賴關系。最后你會發(fā)現(xiàn)使用exec資源是萬能的。當編譯安裝的時候 還是要采用exec資源進行.其他屬性用的都不多了

    范例:

    package{'mysql':ensure => installed,provider => msi,source => "D:\mysql\mysql-5.5.45.msi",install_options => {'INSTALLDIR' => 'C:\mysql'},}
  • service 管理服務的

    service的常用屬性:binary: 指定執(zhí)行文件ensure:true, running 啟動false, stopped 停止enable: 是否開機自動啟動name:服務名稱path: 服務腳本路徑 我們知道,在linux系統(tǒng)下有兩種啟動方式, 一種是直接調(diào)用二進制執(zhí)行文件,另外一種就是用系統(tǒng)中的服務管理命令,比如centos6中的service。所以當你不指定binary文件時,這個path就是指centos系統(tǒng)中的service命令調(diào)用哪個執(zhí)行文件。我們知道一般service管理的服務命令都在/etc/init.d/目錄下。如 /etc/init.d/httpd 文件。另外還有當用service進行管理服務時會有restart,status,start ,stop等選項。但是 puppet 并不知道你有沒有這些命令所以才會有 hasrestart ,hasstop,hasstart, hasstatus屬性,都是布爾值型。當你把這些值設置為false時,服務又有需求接受refresh 刷新后進行restart,那你怎么辦呢。所以又需要我們自己在資源中定義start,stop, restart, status等屬性,屬性值為命令hasrestart: 是否支持restart參數(shù)hasstatus: 是否支持status參數(shù)pattern: 指明用于搜索此服務相關進程的模式,當腳本不支持restart/status時,用于確定服務是否處于運行狀態(tài)。如果你的服務不支持stop,那就需要kill掉進程,那kill 的時候我們知道有的服務啟動的進程有好幾個,就需要匹配需要kill 掉的每個進程的,這個應該也是用patternstart:stop:restart: reloadstatus:
    • 資源的特殊屬性:
      元參數(shù):以下四個參數(shù)都以其他定義過的的資源作為屬性值,但是寫法必須時Type['title'] 資源類型首字母要大寫

      用于定義資源間的依賴關系

      before => Type['title']require => Type['title']

      用于定義通知通知和訂閱的

      notifysubscribe

      before/require使用舉例

      before代表 當前資源要在某個資源執(zhí)行之前執(zhí)行require 當前資源執(zhí)行需要某一個資源已經(jīng)執(zhí)行了還有一種鏈式表示的方法,用 ->表示

      范例

      方法一 before:

      group{'linux':gid => 3000,ensure => present,before => User['suse'],}user{'suse':uid => 3000,gid => 3000,shell => '/bin/shell',home => '/home/suse',ensure => present,}

      方法二 require:

      group{'linux':gid => 3000,ensure => present,}user{'suse':uid => 3000,gid => 3000,shell => '/bin/shell',home => '/home/suse',ensure => present,require => Group['linux'],}

      方法三 -> :

      group{'linux':gid => 3000,ensure => present,} ->user{'suse':uid => 3000,gid => 3000,shell => '/bin/shell',home => '/home/suse',ensure => present,}

    notify/subscribe 通知/訂閱舉例

    這個用服務舉例,我們知道nginx服務,當配置文件發(fā)生變化時,服務經(jīng)常需要重新加載配置文件或者重啟。puppet agent每隔一段時間去獲取下catelog有無變化,有變化就會將file資源更新,這時service資源就需要執(zhí)行restart 操作,那么我們首先要知道 puppet 里service資源什么時間會調(diào)用restart ,當資源接收到refresh時就會調(diào)用restart,那么什么時候會觸發(fā)refresh呢?就是當前資源接收到通知 或者 當前資源訂閱的主題有新信息了。

    轉(zhuǎn)載于:https://www.cnblogs.com/zhming26/p/8629946.html

    總結

    以上是生活随笔為你收集整理的puppet(2)-资源介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产毛片网 | 麻豆免费视频网站 | 亚洲少妇网站 | 国产欧美熟妇另类久久久 | 日韩电影一区二区三区 | 亚洲咪咪 | 亚洲av中文无码乱人伦在线视色 | 日本wwww色 | a√在线观看 | 欧美大色一区 | 国产乱论 | 91原创国产| 日本xxxxxⅹxxxx69| 手机av免费在线 | 六月丁香在线视频 | 大尺度做爰床戏呻吟舒畅 | www中文在线| 我们俩电影网mp4动漫官网 | 日韩一级黄色录像 | 国产精品一二三四五 | 五月天欧美 | 欧美无吗 | 99久精品视频 | 欧美日韩国产一区二区三区 | 91激情视频在线 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 国产最新自拍 | 99久久99久久精品国产片 | 狼人综合视频 | 黄色a毛片 | 成人在线精品视频 | 国产精品呻吟久久 | 99久久99久久精品国产片桃花 | 免费a级黄色片 | 国产精品久久国产精品99 | 青娱乐国产盛宴 | 久久精品黄aa片一区二区三区 | 欧美中文字幕视频 | 午夜在线看 | 国产国产精品 | 精品国产精品三级精品av网址 | 欧美色图国产精品 | 国产精品免费av一区二区三区 | 国产精品自拍电影 | 久久伊人免费 | 欧美性受xxxx狂喷水 | 人妻精品一区二区在线 | 欧美极品在线观看 | 国产视频一二三四区 | 色就色欧美 | 免费观看视频在线观看 | 日本护士取精xxxxxhd | 五月天综合婷婷 | 欧美午夜三级 | 天天干夜夜爱 | 欧美日韩在线视频一区二区 | 一级淫片免费看 | 亚洲国产精品久久久久婷蜜芽 | 九九精品九九 | 欧美精品黑人猛交高潮 | 精品国产18久久久久久二百 | www.久久| 中国美女黄色一级片 | 亚洲在线不卡 | 在线www | 一本大道久久久久精品嫩草 | 国产 丝袜 欧美中文 另类 | 性生交大片免费看 | 无码人妻av一区二区三区波多野 | 免费人妻精品一区二区三区 | 日本123区| 亚洲一级二级三级 | 91n视频| 波多野结衣在线观看视频 | 蜜桃视频在线观看网站 | 999这里只有精品 | 色综合久久久久久 | 91精品导航 | www.日本精品 | 国产精品视频无码 | 日本一区免费视频 | 国产在线精品一区二区三区 | 69福利网 | 国产高潮国产高潮久久久91 | 亚洲视频天堂 | 亚洲+小说+欧美+激情+另类 | 美国免费高清电影在线观看 | 人人爽人人爽人人 | 国产永久视频 | 亚洲精品中文字幕在线 | 麻豆成人精品国产免费 | 亚洲综合影视 | 国产午夜在线视频 | 国产精品激情 | 国产69精品麻豆 | 一卡二卡三卡视频 | 国内成人av | 色女人天堂 | 中文字幕一二三区 |