Linux için Desired State Configuration (DSC) kullanmaya başlama
Bu konuda, Linux için PowerShell Desired State Configuration (DSC) kullanmaya başlama adımları açıklanmaktadır. DSC hakkında genel bilgi için bkz. Windows PowerShell Desired State Configuration kullanmaya başlama.
Desteklenen Linux işlem sistemi sürümleri
Aşağıdaki Linux işletim sistemi sürümleri Linux için DSC tarafından desteklenir.
- CentOS 7 ve 8 (x64)
- Debian GNU/Linux 8, 9 ve 10 (x64)
- Oracle Linux 7 (x64)
- Red Hat Enterprise Linux Server 7 ve 8 (x64)
- SUSE Linux Enterprise Server 12 ve 15 (x64)
- Ubuntu Server 14.04 LTS, 16.04 LTS, 18.04 LTS ve 20.04 LTS (x64)
Linux için DSC'yi yükleme
Linux için DSC'yi yüklemeden önce Açık Yönetim Altyapısı'nı (OMI) yüklemeniz gerekir.
OMI'yi yükleme
Linux için Desired State Configuration Için Açık Yönetim Altyapısı (OMI) CIM sunucusu, sürüm 1.0.8.1 veya üzeri gerekir. OMI, Açık Grup: Açık Yönetim Altyapısı 'ndan (OMI) indirilebilir.
OMI'yi yüklemek için Linux sisteminiz (.rpm veya .deb) ve OpenSSL sürümünüz (ssl_098 veya ssl_100) için uygun paketi ve mimariyi (x64/x86) yükleyin. RPM paketleri CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server ve Oracle Linux için uygundur. DEB paketleri Debian GNU/Linux ve Ubuntu Server için uygundur. ssl_098 paketleri OpenSSL 0.9.8 yüklü bilgisayarlar için, ssl_100 paketleri ise OpenSSL 1.0 yüklü bilgisayarlar için uygundur.
Not
Yüklü OpenSSL sürümünü belirlemek için komutunu openssl version
çalıştırın.
Bir CentOS 7 x64 sistemine OMI yüklemek için aşağıdaki komutu çalıştırın.
# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm
DSC'yi yükleme
Linux için DSC, depodaki PowerShell-DSC-for-Linux deposundan indirilebilir.
DSC'yi yüklemek için Linux sisteminize (.rpm veya .deb), OpenSSL sürümüne ve mimarinize (x64/x86) uygun paketi yükleyin. RPM paketleri CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server ve Oracle Linux için uygundur. DEB paketleri Debian GNU/Linux ve Ubuntu Server için uygundur.
Not
Sürüm 1.1'e kadar DSC Linux OpenSSL desteği. Yüklü OpenSSL sürümünü belirlemek için komutunu openssl version
çalıştırın.
CentOS 7 x64 sistemine DSC yüklemek için aşağıdaki komutu çalıştırın.
# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm
Linux için DSC kullanma
Aşağıdaki bölümlerde Linux bilgisayarlarda DSC yapılandırmalarının nasıl oluşturulacağı ve çalıştıracağı açıklanmaktadır.
Yapılandırma MOF belgesi oluşturma
Windows PowerShell Configuration anahtar sözcüğü, Windows bilgisayarlar için olduğu gibi Linux bilgisayarlar için bir yapılandırma oluşturmak için kullanılır. Aşağıdaki adımlarda, Windows PowerShell kullanılarak bir Linux bilgisayar için yapılandırma belgesi oluşturma işlemi açıklanmaktadır.
nx modülünü içeri aktarın. nx Windows PowerShell modülü, Linux için DSC için Built-In kaynaklarının şemasını içerir ve yerel bilgisayarınıza yüklenip yapılandırmada içeri aktarılması gerekir.
- nx modülünü yüklemek için nx modülü dizinini veya
$PSHOME\Modules
öğesine$env:USERPROFILE\Documents\WindowsPowerShell\Modules\
kopyalayın. nx modülü Linux için DSC yükleme paketine dahildir. Yapılandırmanızda nx modülünü içeri aktarmak için komutunuImport-DSCResource
kullanın:
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- nx modülünü yüklemek için nx modülü dizinini veya
Bir yapılandırma tanımlayın ve yapılandırma belgesini oluşturun:
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"
Yapılandırmayı Linux bilgisayara gönderme
Yapılandırma belgeleri (MOF dosyaları) Start-DscConfiguration cmdlet'i kullanılarak Linux bilgisayara gönderilebilir. Bu cmdlet'i Get-DscConfiguration veya Test-DscConfiguration cmdlet'leriyle birlikte linux bilgisayara uzaktan kullanmak için CIMSession kullanmanız gerekir. New-CimSession cmdlet'i Linux bilgisayara cimsession oluşturmak için kullanılır.
Aşağıdaki kod, Linux için DSC için CIMSession oluşturmayı gösterir.
$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
Not
"Gönderme" modu için, kullanıcı kimlik bilgilerinin Linux bilgisayardaki kök kullanıcı olması gerekir. Linux için DSC için yalnızca SSL/TLS bağlantıları desteklenir; New-CimSession
–UseSSL parametresi $true olarak ayarlı olarak kullanılmalıdır. OMI (DSC için) tarafından kullanılan SSL sertifikası dosyada belirtilir: /etc/opt/omi/conf/omiserver.conf
pemfile ve keyfile özelliklerine sahiptir. Bu sertifikaya New-CimSession cmdlet'ini çalıştırdığınız Windows bilgisayarı güvenmezse CIMSession Seçenekleri ile sertifika doğrulamasını yoksaymayı seçebilirsiniz: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
DSC yapılandırmasını Linux düğümüne göndermek için aşağıdaki komutu çalıştırın.
Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose
Yapılandırmayı çekme sunucusuyla dağıtma
Yapılandırmalar, Windows bilgisayarlar için olduğu gibi çekme sunucusu olan bir Linux bilgisayara dağıtılabilir. Çekme sunucusu kullanma hakkında yönergeler için bkz. Çekme Sunucularını Windows PowerShell Desired State Configuration. Linux bilgisayarları çekme sunucusuyla kullanmayla ilgili ek bilgi ve sınırlamalar için bkz. Linux için Desired State Configuration Sürüm Notları.
Yapılandırmalarla yerel olarak çalışma
Linux için DSC, yerel Linux bilgisayarından yapılandırmayla çalışacak betikler içerir. Bu betikler içinde /opt/microsoft/dsc/Scripts
bulunur ve aşağıdakileri içerir:
GetDscConfiguration.py
Bilgisayara uygulanan geçerli yapılandırmayı döndürür. Windows PowerShell cmdlet cmdlet'ine
Get-DscConfiguration
benzer.# sudo ./GetDscConfiguration.py
GetDscLocalConfigurationManager.py
Bilgisayara uygulanan geçerli meta yapılandırmayı döndürür. Get-DSCLocalConfigurationManager cmdlet'ine benzer.
# sudo ./GetDscLocalConfigurationManager.py
InstallModule.py
Özel bir DSC kaynak modülü yükler. Modülün paylaşılan nesne kitaplığını ve şema MOF dosyalarını içeren bir .zip dosyasının yolunu gerektirir.
# sudo ./InstallModule.py /tmp/cnx_Resource.zip
RemoveModule.py
Özel bir DSC kaynak modülünü kaldırır. Kaldırılacak modülün adını gerektirir.
# sudo ./RemoveModule.py cnx_Resource
StartDscLocalConfigurationManager.py
Bilgisayara bir yapılandırma MOF dosyası uygular. Start-DscConfiguration cmdlet'ine benzer. Uygulanacak yapılandırma MOF'sinin yolunu gerektirir.
# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof
SetDscLocalConfigurationManager.py
Bilgisayara bir Meta Yapılandırma MOF dosyası uygular. Set-DSCLocalConfigurationManager cmdlet'ine benzer. Uygulanacak Meta Yapılandırma MOF yolunu gerektirir.
# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof
Linux Günlük Dosyaları için PowerShell Desired State Configuration
Linux iletileri için DSC için aşağıdaki günlük dosyaları oluşturulur.
Günlük dosyası | Directory | Description |
---|---|---|
omiserver.log | /var/opt/omi/log |
OMI CIM sunucusunun işlemiyle ilgili iletiler. |
dsc.log | /var/opt/omi/log |
Yerel Configuration Manager (LCM) ve DSC kaynak işlemlerinin işlemiyle ilgili iletiler. |