2017-05-30 53 views
1

這已經是asked before,但以Azure的速度發生變化,我再次詢問是否有前進的方向。我相信這是SO方式。Azure資源管理器模板:如何應用多個DSC配置?

與其使用嵌套在VM部署下的DSC VM擴展,我寧願在自動化帳戶中將DSC下的節點「註冊」到DSC。爲此,我正在關注快速啓動模板:VM-DSC-Extension-Azure-Automation-Pull-Server

在我的自動化帳戶中,我有幾種配置。是否可以從一個模板的資源中應用多個配置?

我相信我只能有在資源類型有一個NodeConfigurationName

"Microsoft.Compute/virtualMachines/extensions" > properties.settings.properties.name 

是其複製整個資源塊的每個DSC配置或者我應該考慮創建的「合併」配置的情況? (似乎不太便攜)。

回答

0

我不認爲這個改變,另外,如果你正在談論Azure自動化,這是不可能的,因爲ARM模板註冊虛擬機到配置,不等待它收斂,所以沒有辦法讓你跟蹤虛擬機是否從模板中收斂。

0

該問題的簡短答案是,不可以在PowerShell DSC中應用「多種配置」。它意味着每個節點都有一個配置。這就是說,您可以在Azure自動化中使用以下內容來幫助構建複合模板(IE:指向您創建的其他更多模塊化配置單元的配置)。

您可以在Azure自動化中使用composite resources。基本上,您會根據文章創建一個自定義模塊,然後將其上傳到您的自動化帳戶。

一旦出現,您可以在DSC節點配置中引用該配置。

Configuration AssertDefault{ 
     Import-DSCResource -ModuleName <name> -ModuleVersion <Version> 
     Node $AllNodes.Where($_.NodeName -eq "BaseServer"}.NodeName{ 
      <<your configuration>> BaseServer{ 
       // your parameters 
      } 
     } 
    } 
+0

我在DSC攝取上有點慢。抱歉。所以人們會寫一個「配置」來「描述」一個或多個服務器應該如何。這些將是相同的。使用@CtrlDot的例子,可以編寫一個DSC資源來執行X,另一個執行Y,然後在配置中,使用where過濾器調用這些資源,選擇性地應用它們。我想這不是最佳做法。恕我直言,無論哪種方式會導致各種服務器的大量長配置文件。也許,用於基本+用於配置的自定義腳本擴展的DSC例如SQL服務器。 – woter324

+0

我不認爲我同意。對自定義腳本擴展也有後果。 DSC是聲明性的,使用組合可以抽象模塊中的複雜性,並根據需要將其應用於服務器類。 – CtrlDot