Powershell
Powershell DSC Konfigürasyonu
Powershell DSC Konfigürasyonu makalesinde Powershell üzerinde DSC deployment işlemi yapacağız. 2 sunucu üzerinde eş zamanlı olarak Web server ve IIS console featureslarını dağıtacağız. Powershell DSC Nedir bilmiyorsanız. Linke tıklayarak Powershell DSC nin ne olduğu hakkında bilgi edinebilirsiniz.
Bu makalede uzun uzadıya açıklama yapmadan Powershell DSC konfigürasyon komutlarını paylaşacağım.
Konfigürasyon dosyası aşağıdaki sıralama ile çalıştırılır. Deploy edilen konfigürasyon dosyaları C:\DSC folderı altına LCM ve Config olarak listelenecektir.
Sıralama
- LCM_Push.ps1 –> LCM Meta.mof dosyası oluşturur. Bu dosya sunucuların alacağı metadata configleri tutar.
- DSCSimgleConfig.ps1 –> Bu config mof dosyası sunuculara hangi features veya servislerin yükleneceğini tutar.
- DSC-Deploy.ps1 ile DSC konfigürasyonu deploy edilir.
Makale İçeriği
1- Powershell DSC LCM Push
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[DSCLocalConfigurationManager()] Configuration LCMPUSH { Node $Computername { SEttings { AllowModuleOverwrite = $True ConfigurationMode = 'ApplyAndAutoCorrect' RefreshMode = 'Push' } } } $Computername = 'srvnode1','srvnode2' # Create the Computer.Meta.Mof in folder LCMPush -OutputPath c:\DSC\LCM |
2- Powershell DSC Config
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
configuration WebInstallation { Node $ComputerName{ WindowsFeature WebServer { Name = "Web-Server" Ensure = "Present" } WindowsFeature ManagementTools { Name = "Web-Mgmt-Tools" Ensure = "Present" } } } $computername = 'Srvnode1','Srvnode2' WebInstallation -OutputPath c:\DSC\Config |
3- Powershell DSC Deploy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# (Opsiyon) 1. Sunucular üzerindeki config bu komut ile görünür. Get-DscLocalConfigurationManager -CimSession srvnode1 Get-DscLocalConfigurationManager -CimSession srvnode2 # (Opsiyon) 2. Sunucuların meta config dosyaları aşağıda istersek kontrol edebiliriz ise c:\DSC\LCM\srvnode1.meta.mof #View ise c:\DSC\LCM\srvnode2.meta.mof #View # 3. Uzak sunucular üzerinde (Srvnode1 Srvnode2 LCM set ediyoruz. Set-DSCLocalConfigurationManager -ComputerName $computername -Path c:\DSC\LCM –Verbose # (Opsiyon) 4. Setler alınmış mı görelim. Get-DscLocalConfigurationManager -CimSession srvnode1,srvnode2 #(Opsiyon) 5. Uzak sunucular üzerinde konfigürasyon dosyasını kontrol edelim. Explorer \\srvnode1\c$\windows\system32\Configuration Explorer \\srvnode2\c$\windows\system32\Configuration p #DEPLOYMENT BAŞLIYOR... # (Opsiyon) 6. Uzak sunucularda Web server çalışmadığını görelim. Start-Process -FilePath iexplore http://srvnode1 Start-Process -FilePath iexplore http://srvnode2 # DSC Konfigürasyonu Deploy Edelim. Start-DscConfiguration -Path C:\DSC\Config -ComputerName $computername -Wait -Verbose # (Opsiyon) Eğer çoklu deploy yerine sunucuların bir tanesine veya tek tek deploy etmek istersek. Start-DscConfiguration -Path C:\DSC\Config -ComputerName srvnode1 -Verbose -Wait Start-DscConfiguration -Path C:\DSC\Config -ComputerName srvnode1 -Verbose -Wait # srvnode1 and srvnode2 üzerinde webserverlar çalışıyor mu görel -- srvnode2 should fail - no config 'srvnode1','srvnode2' | Foreach-Object {Start-Process -FilePath iexplore http://$_} #srvnode1 üzerinde IIS servisini Remove edelim. Invoke-Command -ComputerName srvnode1 {Remove-WindowsFeature -name 'Web-Server','web-mgmt-console' -Restart} -Verbose #Sunucu açıldıktan sonra aşağıdaki komutla webservisin çalışmadığını göreceğiz. TaskManager Details tabında Tiworker servisinin çalıştığına dikkat edin. Bir kaç dakika sonra Web servisi çalışacak bu IIS web açılacak. Ayrıca IIS console da yüklenmiş olacak. Start-Process -FilePath iexplore http://srvnode1 #başta açılmayacak. sonrasında açılacak Test-DscConfiguration -ComputerName $computername # Eğer sunucular Desired State durumda ise True dönecekler. Get-DscConfiguration -CimSession $computername # Sunucular üzerindeki DSC konfigürasyonlarını check edebiliriz. |
2 thoughts on “Powershell DSC Konfigürasyonu”
Bir yanıt yazın
Yorum yapabilmek için oturum açmalısınız.
[…] https://aliortul.azurewebsites.net/powershell-dsc-konfigurasyonu.html Powershell dsc, dsc resource, get dscresource, powershell, powershell dsc, powershell dsc konfigürayonu, powershell dsc nedir […]
[…] bir configürasyon dosyasının nasıl yapılandırılabileceğini öğrenmek için buraya […]