2017-05-30 7 views
1

Das war asked before, aber bei der Geschwindigkeit, in der sich die Dinge in Azure ändern, frage ich erneut, ob es einen Weg nach vorne gibt. Ich glaube, das ist die SO Art und Weise.Azure Resource Manager-Vorlagen: Wie werden mehrere DSC-Konfigurationen angewendet?

Anstatt die DSC-VM-Erweiterung zu verwenden, die unter der VM-Bereitstellung geschachtelt ist, möchte ich den Knoten unter DSC in einem Automatisierungskonto "registrieren". Dazu folge ich der Schnellstartvorlage: VM-DSC-Extension-Azure-Automation-Pull-Server

In meinem Automatisierungskonto habe ich mehrere Konfigurationen. Ist es möglich, mehrere Konfigurationen aus einer Vorlagenressource anzuwenden?

Ich glaube, ich nur eine NodeConfigurationName unter Ressourcentyp haben:

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

Ist es ein Fall des Kopierens des gesamten Ressourcenblock für jede DSC-Konfiguration oder sollte ich eine der Schaffung „verschmolzen“ config denken? (Scheint nicht sehr tragbar).

Antwort

0

Ich denke nicht, dass dies sich geändert hat, auch wenn Sie über Azure Automation sprechen, ist dies wirklich unmöglich, weil ARM Template die VM auf die Konfiguration registriert und nicht darauf wartet, dass sie konvergiert, also gibt es keine Möglichkeit Damit Sie verfolgen können, ob die VM aus der Vorlage konvergiert.

0

Die kurze Antwort auf die Frage ist, dass Sie nicht "mehrere Konfigurationen" in Powershell-DSC anwenden können. Es soll eine Konfiguration pro Knoten haben. Davon abgesehen können Sie in Azure Automation Folgendes verwenden, um die Erstellung von Composite Templates zu unterstützen (IE: Konfiguration, die auf andere modulare Einheiten der von Ihnen erstellten Konfiguration verweist).

Sie können composite resources in Azure Automation verwenden. Im Wesentlichen würden Sie basierend auf dem Artikel ein benutzerdefiniertes Modul erstellen und dieses dann auf Ihr Automatisierungskonto hochladen.

Sobald Sie dort sind, können Sie diese Konfiguration in Ihren DSC-Knotenkonfigurationen referenzieren.

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

Ich bin ein bisschen langsam auf die DSC-Aufnahme. Es tut uns leid. Man würde also eine "Konfiguration" schreiben, um zu "beschreiben", wie ein oder mehrere Server sein sollten. Diese werden identisch sein. Im Beispiel von @ CtrlDot kann man eine DSC-Ressource schreiben, um X zu tun, und eine andere, um Y zu machen. Rufen Sie dann in der Konfiguration diese Ressourcen auf und wenden Sie sie selektiv an, indem Sie den Where-Filter verwenden. Ich denke, das ist keine Best Practice. IMHO, so oder so, wird zu einer Fülle von langen Konfigurationsdateien für die verschiedenen Server führen. Vielleicht DSC für die Basis + Custom Script Extensions für die Konfiguration z.B. SQL Server. – woter324

+0

Ich glaube nicht, dass ich dem zustimme. Es gibt auch Konsequenzen für die benutzerdefinierte Skript-Erweiterung. DSC ist deklarativ und mit Composite können Sie die Komplexität in einem Modul abstrahieren und nach Bedarf auf Ihre Serverklassen anwenden. – CtrlDot

Verwandte Themen