Usar a DSC para configurar o Windows Server
Um dos outros administradores de servidores da Contoso é experiente com o Windows PowerShell e sugeriu que você investigue usando o DSC do PowerShell para configurar seus computadores Windows Server recém-implantados. Você aprenderá que, com o DSC, você pode implementar o gerenciamento de configuração declarativa por meio de uma combinação de scripts do PowerShell e recursos do sistema operacional. Você decide investigar mais.
Observação
Uma linguagem de programação declarativa separa a intenção (o que você deseja fazer) da execução (como deseja fazer isso).
O que é DSC?
O DSC é uma plataforma de gerenciamento baseada no PowerShell que você pode usar para gerenciar seus servidores e a infraestrutura de TI relacionada. O DSC consiste em três componentes, descritos na tabela a seguir.
Componente | Descrição |
---|---|
Configurações | Scripts declarativos do PowerShell que configuram e definem seus recursos. Quando a configuração é executada, o DSC aplica a configuração conforme definido. Isso garante que o recurso de destino, nesse caso, um servidor, esteja no estado definido. É o LCM (Gerenciador de Configurações Local) que aplica e mantém essas configurações. |
Recursos | Contenha o código que define e aplica o estado de configuração desejado do recurso. |
LCM | É o mecanismo que o DSC usa para aplicar as configurações. Periodicamente, o LCM verifica o estado do sistema e, quando necessário, chama o código nos recursos do sistema para reaplicar o estado desejado. |
Observação
Você não precisa instalar nada para usar o DSC; O DSC do PowerShell está incluído no Windows.
O DSC baseado no Windows depende extensivamente do componente LCM. Esse componente serve como o mecanismo de execução dos scripts de DSC do Windows PowerShell.
Observação
O LCM é parte integrante de todas as versões atualmente compatíveis com sistemas operacionais Windows.
O LCM é responsável por:
- Coordenando a implementação de configurações definidas em scripts DSC
- Monitorando o status contínuo dessas configurações
- Atualizando o estado de um computador para corresponder a um estado desejado
Sempre que o LCM é executado, ele realiza as seguintes etapas:
- Obter: recupera o estado atual do computador.
- Teste: compara o estado atual do computador com o estado desejado usando um script DSC compilado ( um arquivo .mof).
- Set: atualiza a configuração do computador para corresponder ao estado desejado descrito no arquivo .mof.
Você pode implantar a configuração da DSC no modo de push ou no modo de pull, conforme descrito na tabela a seguir.
Modo | Descrição |
---|---|
Pressionar | Neste modo, você envia manualmente ou por pushas configurações desejadas para um ou mais computadores gerenciados. O componente LCM garante que o estado em cada computador gerenciado corresponda ao especificado pela configuração. |
Puxar | Neste modo, um servidor de pull contém as informações de configuração. O componente LCM em cada computador gerenciado pesquisa esse servidor periodicamente (o padrão são intervalos de 15 minutos) para obter os detalhes de configuração mais recentes. O servidor de pull envia os detalhes sobre alterações na configuração como resposta a cada computador gerenciado. |
Dica
Embora você possa configurar um Windows Server como um servidor pull, você também pode usar a Configuração de Estado Desejado da Automação do Azure.
Requisitos para DSC com Windows
Há vários requisitos que seu ambiente deve atender para usar a DSC com o Windows. Estes são:
- Sistema Operacional. Os computadores gerenciados devem estar executando o Windows 8.1 ou mais recente ou o Windows Server 2012 R2 ou mais recente.
- Gerenciamento Remoto do Windows. O Gerenciamento Remoto do Windows (WinRM) deve ser habilitado em computadores gerenciados.
Com a DSC, você pode definir o estado desejado de:
- Um sistema operacional
- Um aplicativo
Trabalhando com scripts
Você pode usar um script para definir seu DSC. Depois de criar e compilar sua configuração, você pode atribuí-la a computadores, que recebem essa configuração.
Criar um script
A implementação de DSC geralmente começa com a criação de um script de configuração (.ps1) que descreve o estado desejado. O exemplo a seguir descreve uma configuração simples. Neste caso, o script verifica a presença do IIS (serviço de informações da Internet) e o instala, se necessário.
configuration IISInstall
{
# Import the required module.
Import-DscResource -ModuleName PsDesiredStateConfiguration
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Depois de criar o script, salve-o. Nesse caso, salve-o como IISInstall.ps1.
Compilar a configuração
Depois de criar um script de configuração, você deve compilá-lo. A compilação gera um ou mais arquivos .mof que contêm configurações aplicáveis aos nós de destino. Para compilar um script, em um console do PowerShell, localize a pasta em que você salvou sua configuração (arquivo de script) e execute os seguintes comandos para compilar a configuração em um arquivo MOF:
.\IISInstall.ps1
IISInstall
Aplicar a configuração
A próxima etapa é aplicar a configuração. Faça isso executando o Start-DscConfiguration
cmdlet.
Importante
Para que o DSC possa ser executado, você deve configurar o Windows para comunicação remota do PowerShell, mesmo quando estiver executando uma configuração de localhost.
Por exemplo, em um console do PowerShell, navegue até a pasta em que a configuração é salva e execute o seguinte comando do PowerShell:
Start-DscConfiguration .\IISInstall
Dica
Você pode verificar o êxito da configuração executando o Get-DscConfigurationStatus
cmdlet.