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.
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 oImport-DSCResource
comando:
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- Para instalar o módulo nx, copie o diretório do módulo nx para ou
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. |