日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 草草影院在线观看视频 | 无码少妇精品一区二区免费动态 | 亚洲欧美自拍另类 | 精品国产一区二区三区四区精华 | 久草精品视频 | 亚洲午夜精品久久久久久app | 特黄一区二区三区 | 五月天综合久久 | 一区二区自拍偷拍 | 久久久www免费人成人片 | 97色网| 欧美一级免费黄色片 | 婷婷色站 | 中文乱码人妻一区二区三区视频 | 99久久久久久久 | 国产美女网站视频 | 99久久久无码国产精品性波多 | 亚洲最大成人综合网 | japanese国产打屁股网站 | 久久久久久9 | 少妇超碰 | 国产情侣第一页 | 51成人精品网站 | 911亚洲精品 | 9l视频自拍九色9l视频 | 国产又粗又黄又爽 | 狠狠干婷婷 | 国产传媒视频在线观看 | 男生女生羞羞网站 | 免费看国产一级片 | 欧美激情精品久久久久久变态 | 女生毛片 | 亚洲中文字幕无码爆乳av | 国产成人午夜 | 操操操爽爽爽 | 影院色原网站 | 国产在线视频91 | 国产av成人一区二区三区高清 | 亚洲黄色小视频 | av在线看片 | 色天天综合网 | 国产精品无码久久久久久电影 | 涩涩视频在线免费看 | 成年人免费黄色片 | 91色吧| 色女人网| 男男巨肉啪啪动漫3d | 精国产品一区二区三区a片 国产精品第一 | 日韩免费av网站 | 少妇2做爰交换朴银狐 | 午夜精品无码一区二区三区 | 91蜜桃视频在线观看 | 亚洲中文字幕一区二区在线观看 | 亚洲区欧美 | 免费在线a | 国内av网| 夫妻自拍偷拍 | www.com亚洲 | 蜜臀av在线观看 | 久草视频在线免费播放 | 精品人伦一区二区 | av在线免费观看一区 | 久操视频在线 | 成人午夜视频在线 | 粉嫩av在线播放 | 最近高清中文在线字幕在线观看 | 亚洲色综合 | 一区三区视频 | 激情六月天 | 日本一区二区三区免费视频 | 久久久蜜桃一区二区 | 国产精品亚洲综合 | 欧美视频自拍偷拍 | 成人3d动漫在线观看 | 秋霞中文字幕 | 国产精品免 | 丰满少妇理论片 | 亚洲av片一区二区三区 | www.狠狠艹 | 欧美日韩中文字幕一区 | 最新三级网站 | 国产成人精品电影 | 国产香蕉精品视频 | 性久久久久久久久久 | 国产亚洲91 | 精品香蕉视频 | 久久九九色 | 天天射美女 | 永久免费黄色片 | 一区二区在线不卡 | 草啪啪 | av网站在线免费观看 | 无码国产精品一区二区色情男同 | 善良的少妇伦理bd中字 | 日韩综合av | 求一个黄色网址 | av一卡 | 91精品久久久久 | 黑名单上的人全集免费观看 |