Usar a DSC para configurar o Windows Server
Um dos outros administradores de servidor da Contoso tem experiência com o Windows PowerShell e sugeriu fazer uma investigação com a DSC do PowerShell para configurar seus computadores Windows Server que foram implantados recentemente. Você aprendeu que é possível implementar o gerenciamento de configuração declarativa com a DSC por meio de uma combinação de scripts do PowerShell e de 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 é a DSC?
A DSC é uma plataforma de gerenciamento baseada no PowerShell que pode ser usada no gerenciamento de seus servidores e da infraestrutura de TI relacionada. Ela 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, a DSC aplica a configuração conforme definido. Isso garante que o recurso de destino, que é um servidor neste caso, esteja no estado definido. O LCM (Gerenciador de Configurações Local) é responsável por manter essas configurações. |
Recursos | Contêm o código que define e aplica o estado de configuração desejado do recurso. |
LCM | É o mecanismo que a DSC usa para aplicar as configurações. O LCM verifica periodicamente o estado do sistema e, quando necessário, chama o código nos recursos para reaplicar o estado desejado. |
Observação
Nenhuma instalação é necessária para usar a DSC, pois a DSC do PowerShell está incluída no Windows.
A DSC baseada em Windows depende amplamente do componente LCM. Esse componente atua 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 suportadas dos sistemas operacionais Windows.
Ele é responsável por:
- Coordenar a implementação de configurações definidas em scripts de DSC
- Monitorar o status contínuo dessas configurações
- Atualizar o estado de um computador para corresponder ao estado desejado
Sempre que o LCM é executado, ele realiza as seguintes etapas:
- Obter: ele recupera o estado atual do computador.
- Testar: ele compara o estado atual do computador com o desejado usando um script de DSC compilado (um arquivo .mof).
- Definir: ele atualiza a configuração do computador para corresponder ao estado desejado descrito no arquivo .mof.
Você pode implantar a configuração de DSC no modo de push ou no modo de pull, conforme descrito na tabela a seguir.
Mode | Descrição |
---|---|
Push | 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. |
Recepção | 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 seja possível configurar um Windows Server como um servidor de pull, você também pode usar a Desired State Configuration da Automação do Azure.
Requisitos de DSC com Windows
Seu ambiente deve atender a vários requisitos para usar a DSC com o Windows. Eles 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 WinRM (Gerenciamento Remoto do Windows) deve estar habilitado nos 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 a DSC. Depois de criar e compilar sua configuração, você a atribui aos computadores e eles a recebem.
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. Neste 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 a 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 cmdlet Start-DscConfiguration
.
Importante
Configure o Windows para a comunicação remota do PowerShell a fim de permitir que a DSC seja executada, mesmo se você estiver executando uma configuração de localhost.
Por exemplo, em um console do PowerShell, acesse a pasta em que a configuração foi salva e execute o seguinte comando do PowerShell:
Start-DscConfiguration .\IISInstall
Dica
Verifique se a configuração foi bem-sucedida executando o cmdlet Get-DscConfigurationStatus
.