Partilhar via


Introdução ao Desired State Configuration (DSC) para Linux

Este tópico explica como começar a utilizar o PowerShell Desired State Configuration (DSC) para Linux. Para obter informações gerais sobre o DSC, consulte Introdução ao Windows PowerShell Desired State Configuration.

Versões suportadas do sistema operativo Linux

As seguintes versões do sistema operativo Linux são suportadas pelo DSC para Linux.

  • CentOS 7 e 8 (x64)
  • Debian GNU/Linux 8, 9 e 10 (x64)
  • Oracle Linux 7 (x64)
  • Red Hat Enterprise Linux Server 7 e 8 (x64)
  • SUSE Linux Enterprise Server 12 e 15 (x64)
  • Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS e 20.04 LTS (x64)

Instalar o DSC para Linux

Tem de instalar a Infraestrutura de Gestão Aberta (OMI) antes de instalar o DSC para Linux.

Instalar o OMI

Desired State Configuration para Linux requer o servidor CIM da Infraestrutura de Gestão Aberta (OMI), versão 1.0.8.1 ou posterior. O OMI pode ser transferido a partir do Grupo Aberto: Infraestrutura de Gestão Aberta (OMI).

Para instalar o OMI, instale o pacote adequado para o seu sistema Linux (.rpm ou .deb) e a versão OpenSSL (ssl_098 ou ssl_100) e arquitetura (x64/x86). Os pacotes RPM são adequados para CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server e Oracle Linux. Os pacotes DEB são adequados para o Debian GNU/Linux e o Ubuntu Server. Os pacotes de ssl_098 são adequados para computadores com o OpenSSL 0.9.8 instalado, enquanto os pacotes de ssl_100 são adequados para computadores com o OpenSSL 1.0 instalado.

Nota

Para determinar a versão do OpenSSL instalada, execute o comando openssl version.

Execute o seguinte comando para instalar o OMI num sistema CentOS 7 x64.

# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm

Instalar o DSC

O DSC para Linux está disponível para transferência a partir do repositório PowerShell-DSC-for-Linux no repositório.

Para instalar o DSC, instale o pacote adequado para o seu sistema Linux (.rpm ou .deb), versão openSSL e arquitetura (x64/x86). Os pacotes RPM são adequados para CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server e Oracle Linux. Os pacotes DEB são adequados para o Debian GNU/Linux e o Ubuntu Server.

Nota

Suporte para o DSC Linux OpenSSL até à versão 1.1. Para determinar a versão do OpenSSL instalada, execute o comando openssl version.

Execute o seguinte comando para instalar o DSC num sistema CentOS 7 x64.

# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm

Utilizar o DSC para Linux

As secções seguintes explicam como criar e executar configurações de DSC em computadores Linux.

Criar um documento MOF de configuração

A palavra-chave configuração do Windows PowerShell é utilizada para criar uma configuração para computadores Linux, tal como para computadores Windows. Os passos seguintes descrevem a criação de um documento de configuração para um computador Linux com Windows PowerShell.

  1. Importe o módulo nx. O módulo nx Windows PowerShell contém o esquema para Built-In recursos para DSC para Linux e tem de ser instalado no seu computador local e importado na configuração.

    • Para instalar o módulo nx, copie o diretório do módulo nx para ou $PSHOME\Modules.$env:USERPROFILE\Documents\WindowsPowerShell\Modules\ O módulo nx está incluído no pacote de instalação do DSC para Linux. Para importar o módulo nx na configuração, utilize o Import-DSCResource comando:
    Configuration ExampleConfiguration{
    
     Import-DSCResource -ModuleName nx
    
    }
    
  2. Defina uma configuração e gere o documento de configuração:

    Configuration ExampleConfiguration
    {
         Import-DSCResource -ModuleName nx
    
         Node  "linuxhost.contoso.com"
         {
             nxFile ExampleFile
             {
                 DestinationPath = "/tmp/example"
                 Contents = "hello world `n"
                 Ensure = "Present"
                 Type = "File"
             }
         }
    }
    
    ExampleConfiguration -OutputPath:"C:\temp"
    

Enviar a configuração para o computador Linux

Os documentos de configuração (ficheiros MOF) podem ser enviados para o computador Linux com o cmdlet Start-DscConfiguration . Para utilizar este cmdlet, juntamente com os cmdlets Get-DscConfiguration ou Test-DscConfiguration , remotamente para um computador Linux, tem de utilizar uma CIMSession. O cmdlet New-CimSession é utilizado para criar uma CIMSession para o computador Linux.

O código seguinte mostra como criar uma CIMSession para DSC para Linux.

$Node = "ostc-dsc-01"
$Credential = Get-Credential -UserName "root" -Message "Enter Password:"

#Ignore SSL certificate validation
# $opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck

#Options for a trusted SSL certificate
$opt = New-CimSessionOption -UseSsl

$sessParams = @{
    Credential = $credential
    ComputerName = $Node
    Port = 5986
    Authentication = 'basic'
    SessionOption = $opt
    OperationTimeoutSec = 90
}

$Sess = New-CimSession @sessParams

Nota

Para o modo "Push", a credencial do utilizador tem de ser o utilizador raiz no computador Linux. Apenas as ligações SSL/TLS são suportadas para o DSC para Linux, o New-CimSession tem de ser utilizado com o parâmetro –UseSSL definido como $true. O certificado SSL utilizado pela OMI (para DSC) é especificado no ficheiro: /etc/opt/omi/conf/omiserver.conf com as propriedades: pemfile e keyfile. Se este certificado não for considerado fidedigno pelo computador Windows no qual está a executar o cmdlet New-CimSession , pode optar por ignorar a validação do certificado com as Opções de CIMSession: -SkipCACheck -SkipCNCheck -SkipRevocationCheck

Execute o seguinte comando para emitir a configuração do DSC para o nó Linux.

Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose

Distribuir a configuração com um servidor Pull

As configurações podem ser distribuídas para um computador Linux com um servidor Pull, tal como nos computadores Windows. Para obter orientações sobre como utilizar um servidor Pull, consulte Windows PowerShell Desired State Configuration Servidores Pull. Para obter informações e limitações adicionais relacionadas com a utilização de computadores Linux com um servidor Pull, consulte As Notas de Versão para Desired State Configuration para Linux.

Trabalhar com configurações localmente

O DSC para Linux inclui scripts para trabalhar com a configuração do computador Linux local. Estes scripts estão localizados e /opt/microsoft/dsc/Scripts incluem o seguinte:

  • GetDscConfiguration.py

    Devolve a configuração atual aplicada ao computador. Semelhante ao cmdlet do cmdlet Get-DscConfiguration Windows PowerShell.

    # sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.py

    Devolve a meta-configuração atual aplicada ao computador. Semelhante ao cmdlet Get-DSCLocalConfigurationManager cmdlet.

    # sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.py

    Instala um módulo de recurso DSC personalizado. Requer o caminho para um ficheiro .zip que contém a biblioteca de objetos partilhados do módulo e os ficheiros MOF de esquema.

    # sudo ./InstallModule.py /tmp/cnx_Resource.zip

  • RemoveModule.py

    Remove um módulo de recurso DSC personalizado. Requer o nome do módulo a remover.

    # sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.py

    Aplica um ficheiro MOF de configuração ao computador. Semelhante ao cmdlet Start-DscConfiguration . Requer o caminho para a aplicação do MOF de configuração.

    # sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof

  • SetDscLocalConfigurationManager.py

    Aplica um ficheiro MOF de Meta Configuration ao computador. Semelhante ao cmdlet Set-DSCLocalConfigurationManager . Requer o caminho para aplicar o MOF da Meta Configuração.

    # sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof

PowerShell Desired State Configuration para Ficheiros de Registo do Linux

Os seguintes ficheiros de registo são gerados para mensagens DSC para Linux.

Ficheiro de registo Diretório Description
omiserver.log /var/opt/omi/log Mensagens relacionadas com a operação do servidor CIM do OMI.
dsc.log /var/opt/omi/log Mensagens relacionadas com o funcionamento das operações de recursos Configuration Manager Local (LCM) e DSC.