Configurar una máquina virtual Linux con Desired State ConfigurationConfigure a Linux virtual machine with Desired State Configuration

Al habilitar Desired State Configuration (DSC), puede administrar y supervisar las configuraciones de los servidores Windows y Linux.By enabling Desired State Configuration (DSC), you can manage and monitor the configurations of your Windows and Linux servers. Las configuraciones que se desvían de la configuración deseada se pueden identificar o corregir automáticamente.Configurations that drift from the desired configuration can be identified or auto-corrected. Esta guía de inicio rápido le guía por la incorporación de una máquina virtual Linux y la implementación de una pila de LAMP con DSC.This quickstart steps through onboarding a Linux VM and deploying a LAMP stack with DSC.

Requisitos previosPrerequisites

Para completar este inicio rápido necesita instalar:To complete this quickstart, you need:

Inicio de sesión en AzureSign in to Azure

Inicie sesión en Azure en https://portal.azure.comSign in to Azure at https://portal.azure.com

Incorporar una máquina virtualOnboard a virtual machine

Hay muchos métodos diferentes para incorporar una máquina y habilitar Desired State Configuration.There are many different methods to onboard a machine and enable Desired State Configuration. Esta guía de inicio rápido trata la incorporación a través de una cuenta de Automation.This quickstart covers onboarding through an Automation account. Para obtener más información sobre los distintos métodos de incorporación de máquinas a Desired State Configuration, lea el artículo sobre la incorporación.You can learn more about different methods to onboard your machines to Desired State Configuration by reading the onboarding article.

  1. En el panel izquierdo de Azure Portal, seleccione Cuentas de Automation.In the left pane of the Azure portal, select Automation accounts. Si la opción no está visible en el panel izquierdo, haga clic en Todos los servicios y búsquela en la vista que se muestra.If it is not visible in the left pane, click All services and search for it in the resulting view.
  2. Seleccione una cuenta de Automation de la lista.In the list, select an Automation account.
  3. En el panel izquierdo de la cuenta de Automation, seleccione State Configuration (DSC) (Configuración de estado [DSC]).In the left pane of the Automation account, select State configuration (DSC).
  4. Haga clic en Agregar para abrir la página de selección de máquinas virtuales.Click Add to open the VM select page.
  5. Busque la máquina virtual para la que quiere habilitar DSC.Find the virtual machine you would like to enable DSC for. Puede usar el campo de búsqueda y las opciones de filtro para buscar una máquina virtual específica.You can use the search field and filter options to find a specific virtual machine.
  6. Haga clic en la máquina virtual y, a continuación, seleccione Conectar.Click on the virtual machine, and then select Connect
  7. Seleccione la configuración de DSC adecuada para la máquina virtual.Select the DSC settings appropriate for the virtual machine. Si ya tiene una configuración preparada, la puede especificar como Nombre de la configuración del nodo.If you have already prepared a configuration, you can specify it as Node Configuration Name. Puede establecer el modo de configuración para controlar el comportamiento de la configuración de la máquina.You can set the configuration mode to control the configuration behavior for the machine.
  8. Haga clic en AceptarClick OK

Incorporación de una máquina virtual de Azure a DSC

Mientras se implementa la extensión de Desired State Configuration en la máquina virtual, se muestra Conectando.While the Desired State Configuration extension is deployed to the virtual machine, it shows Connecting.

Importación de módulosImport modules

Los módulos contienen recursos de DSC y muchos de ellos se pueden encontrar en la Galería de PowerShell.Modules contain DSC Resources and many can be found on the PowerShell Gallery. Todos los recursos que se utilizan en las configuraciones se deben importar en la cuenta de Automation antes de la compilación.Any resources that are used in your configurations must be imported to the Automation Account before compiling. Para este tutorial, es necesario el módulo denominado nx.For this tutorial, the module named nx is required.

  1. En el panel izquierdo de la cuenta de Automation, seleccione Galería de módulos (en Recursos compartidos).In the left pane of the Automation account, select Modules Gallery (under Shared Resources).
  2. Para buscar el módulo que quiere importar, escriba parte de su nombre: nx.Search for the module that you would like to import by typing part of its name: nx
  3. Haga clic en el módulo que quiere importarClick on the module you would like to import
  4. Haga clic en ImportarClick Import

Importación de un módulo DSC

Importar la configuraciónImport the configuration

Esta guía de inicio rápido usa una configuración de DSC que configura el servidor HTTP Apache, MySQL y PHP en la máquina.This quickstart uses a DSC configuration that configures Apache HTTP Server, MySQL, and PHP on the machine.

Para más información sobre las configuraciones DSC, consulte Configuraciones DSC.For information about DSC configurations, see DSC configurations.

En un editor de texto, escriba lo siguiente y guárdelo localmente como LAMPServer.ps1.In a text editor, type the following and save it locally as LAMPServer.ps1.

configuration LAMPServer {
   Import-DSCResource -module "nx"

   Node localhost {

        $requiredPackages = @("httpd","mod_ssl","php","php-mysql","mariadb","mariadb-server")
        $enabledServices = @("httpd","mariadb")

        #Ensure packages are installed
        ForEach ($package in $requiredPackages){
            nxPackage $Package{
                Ensure = "Present"
                Name = $Package
                PackageManager = "yum"
            }
        }

        #Ensure daemons are enabled
        ForEach ($service in $enabledServices){
            nxService $service{
                Enabled = $true
                Name = $service
                Controller = "SystemD"
                State = "running"
            }
        }
   }
}

Para importar la configuración:To import the configuration:

  1. En el panel izquierdo de la cuenta de Automation, seleccione State Configuration (DSC) (Configuración de estado [DSC]) y, luego, haga clic en la pestaña Configuraciones.In the left pane of the Automation account, select State configuration (DSC) and then click the Configurations tab.
  2. Haga clic en +Agregar.Click + Add
  3. Seleccione el archivo de configuración que guardó en el paso anterior.Select the Configuration file that you saved in the prior step
  4. Haga clic en AceptarClick OK

Compilar una configuraciónCompile a configuration

Las configuraciones DSC se deben compilar en una configuración de nodo (documento MOF) antes de asignarse a un nodo.DSC Configurations must be compiled to a Node Configuration (MOF document) before being assigned to a node. La compilación valida la configuración y permite la entrada de valores de parámetro.Compilation validates the configuration and allows for the input of parameter values. Para más información sobre cómo compilar una configuración, consulte: Compilación de configuraciones en DSC de Azure AutomationTo learn more about compiling a configuration, see: Compiling Configurations in Azure Automation DSC

Para compilar la configuración:To compile the configuration:

  1. En el panel izquierdo de la cuenta de Automation, seleccione State Configuration (DSC) (Configuración de estado [DSC]) y, luego, haga clic en la pestaña Configuraciones.In the left pane of the Automation account, select State Configuration (DSC) and then click the Configurations tab.
  2. Seleccione la configuración importada en un paso anterior, "LAMPServer".Select the configuration you imported in a prior step, "LAMPServer"
  3. En las opciones del menú, haga clic en Compilar y, a continuación, en .From the menu options, click Compile and then Yes
  4. En la vista Configuración, verá un nuevo trabajo de compilación en cola.In the Configuration view, you see a new Compilation job queued. Cuando el trabajo se complete correctamente, podrá avanzar al paso siguiente.When the job has completed successfully, you are ready to move on to the next step. Si se produce algún error, puede hacer clic en el trabajo de compilación para obtener más información.If there are any failures, you can click on the Compilation job for details.

Asignación de una configuración de nodoAssign a node configuration

Una configuración de nodo compilada se puede asignar a nodos DSC.A compiled Node Configuration can be assigned to DSC Nodes. La asignación aplica la configuración a la máquina y supervisa (o corrige automáticamente) cualquier desvío de esa configuración.Assignment applies the configuration to the machine and monitors (or auto-corrects) for any drift from that configuration.

  1. En el panel izquierdo de la cuenta de Automation, seleccione State Configuration (DSC) (Configuración de estado [DSC]) y, luego, haga clic en la pestaña Nodos.In the left pane of the Automation account, select **State Configuration (DSC) and then click the Nodes tab.
  2. Seleccione el nodo al que quiere asignar una configuraciónSelect the node you would like to assign a configuration to
  3. Haga clic en Asignar configuración de nodo.Click Assign Node Configuration
  4. Seleccione Configuración del nodo - LAMPServer.localhost para realizar la asignación y haga clic en Aceptar.Select the Node Configuration - LAMPServer.localhost - to assign and click OK
  5. La configuración compilada está asignada ahora al nodo y el estado del nodo cambia a Pendiente.The compiled configuration is now be assigned to the node, and the node status changes to Pending. En la siguiente comprobación periódica, el nodo recupera la configuración, la aplica y presenta un informe de estado.On the next periodic check, the node retrieves the configuration, apply it, and report status back. El nodo puede tardar hasta 30 minutos en recuperar la configuración en función de la configuración del nodo.It can take up to 30 minutes for the node to retrieve the configuration, depending on the node's settings. Para forzar una comprobación inmediata, puede ejecutar el comando siguiente localmente en la máquina virtual Linux: sudo /opt/microsoft/dsc/Scripts/PerformRequiredConfigurationChecks.pyTo force an immediate check, you can run the following command locally on the Linux virtual machine: sudo /opt/microsoft/dsc/Scripts/PerformRequiredConfigurationChecks.py

Asignación de una configuración de nodo

Visualización del estado del nodoViewing node status

El estado de todos los nodos administrados puede encontrarse en State Configuration (DSC) (Configuración de estado [DSC]) y, luego, en la pestaña Nodos de la cuenta de Automation.The status of all managed nodes can be found in the State Configuration (DSC) and then under the Nodes tab in the Automation Account. Puede filtrar la visualización por el estado, la configuración del nodo o la búsqueda de nombre.You can filter the display by status, node configuration, or name search.

Estado del nodo DSC

Pasos siguientesNext steps

En esta guía de inicio rápido, incorporó una máquina virtual Linux a DSC, creó una configuración para una pila de LAMP y la implementó en la máquina virtual.In this quickstart, you onboarded a Linux VM to DSC, created a configuration for a LAMP stack, and deployed it to the VM. Para obtener información sobre cómo usar DSC de Automatización para habilitar la implementación continua, consulte el artículo:To learn how you can use Automation DSC to enable continuous deployment, continue to the article: