2013-09-24 101 views
0

我對Puppet相當陌生,至今我通過官方tutorial,至少介紹和第一部分。所以我想我應該對Puppet的工作原理和術語有一個基本的瞭解。爲什麼Puppet類叫做class?

無論如何,有一件事我不明白:在Puppet中你有類,它們基本上只是外包的清單。到現在爲止還挺好。

但是他們爲什麼叫class

我有一個OOP和CSS背景,我也可以想象一個類的一般概念,如容器有共同點的對象。但是這些定義都不符合Puppet中class的概念。至少我沒有得到類比。

任何人都可以爲此帶來一些啓示嗎?

PS:我知道,有沒有客觀的回答這個問題,但主要意見爲基礎的,但我不知道去哪裏問別的地方,所以我希望一些建議:-)

回答

1

我相信這是由Puppet推薦的,我確定它在文檔中說明了這一點,即您爲每個節點的角色製作類,每個角色都包含require s對於該角色所需的所有其他類,在多個角色類中需要相同的if需要(當您使用require命令而不是include時允許)。這樣,您可以擁有自包含的類,如'fileserver'或'webserver',它們只需包含在node資源中。

更多關於重疊的角色類:

http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#aside-history-the-future-and-best-practices

+0

注意你只需要50個聲望來評論其他答案(http://stackoverflow.com/help/privileges/comment)。儘量讓我們可以評論我的答案,而不是你通過像http://stackoverflow.com/review/suggested-edits/3279277 – fedorqui

1

您可以在相關的類傀儡師用或它的角色明顯的基地分離。

類被命名爲Puppet代碼塊,除非它們是按名稱調用的,否則不應用它們。

對於清單的模塊化和理解,建議清單代碼的不同角色應該存在於不同的文件中,這稱爲類。

而類的名稱應表示它的作用。例如用戶(創建用戶),參數(傳遞參數)。