Aracılığıyla paylaş


Makineleri istenen duruma yapılandırma

Not

Azure Otomasyonu State Configuration 30 Eylül 2027'de kullanımdan kaldırılacak, lütfen Bu tarihe kadar Azure Makine Yapılandırması. Daha fazla bilgi için blog gönderisi duyurusunu inceleyin. Azure Machine Configuration hizmeti DSC Uzantısı, Azure Otomasyonu Durum Yapılandırması özelliklerini ve müşteri geri bildirimlerinden en sık istenen özellikleri birleştirir. Azure Makine Yapılandırması, Arc özellikli sunucular aracılığıyla karma makine desteği de içerir.

Dikkat

Linux için Azure Otomasyonu DSC, 30 Eylül 2023'te kullanımdan kaldırılmıştır. Daha fazla bilgi için duyuruya bakın.

Azure Otomasyonu Durum Yapılandırması, sunucularınız için yapılandırmalar belirtmenize ve bu sunucuların zaman içinde belirtilen durumda olduğundan emin olmanıza olanak tanır.

  • Azure Otomasyonu DSC tarafından yönetilecek bir VM ekleme
  • Azure Otomasyonu'a yapılandırma yükleme
  • Bir yapılandırmayı düğüm yapılandırmasına derleme
  • Yönetilen düğüme düğüm yapılandırması atama
  • Yönetilen düğümün uyumluluk durumunu denetleme

Bu öğreticide, IIS'nin VM'ye yüklenmesini sağlayan basit bir DSC yapılandırması kullanırız.

Önkoşullar

Kısmi yapılandırma desteği

Azure Otomasyonu Durum Yapılandırması kısmi yapılandırmaların kullanımını destekler. Bu senaryoda, DSC birden çok yapılandırmayı bağımsız olarak yönetecek şekilde yapılandırılır ve her yapılandırma Azure Otomasyonu alınır. Ancak, otomasyon hesabı başına düğüme yalnızca bir yapılandırma atanabilir. Bu, bir düğüm için iki yapılandırma kullanıyorsanız iki Otomasyon hesabına ihtiyacınız olduğu anlamına gelir.

Çekme hizmetinden kısmi yapılandırma kaydetme hakkında ayrıntılı bilgi için kısmi yapılandırma belgelerine bakın.

Ekiplerin kod olarak yapılandırma kullanarak sunucuları işbirliğiyle yönetmek için birlikte nasıl çalışabileceği hakkında daha fazla bilgi için bkz . CI/CD İşlem Hattında DSC'nin rolünü anlama.

Azure'da oturum açma

Connect-AzAccount cmdlet'iyle Azure aboneliğinizde oturum açın ve ekrandaki yönergeleri izleyin.

Connect-AzAccount

Yapılandırma oluşturma ve Azure Otomasyonu yükleme

Bir metin düzenleyicisinde aşağıdakileri yazın ve yerel olarak TestConfig.ps1 olarak kaydedin.

configuration TestConfig {
   Node WebServer {
      WindowsFeature IIS {
         Ensure               = 'Present'
         Name                 = 'Web-Server'
         IncludeAllSubFeature = $true
      }
   }
}

Not

Azure Otomasyonu yapılandırma adları en fazla 100 karakterle sınırlandırılmalıdır.

DSC Kaynakları sağlayan birden çok modülün içeri aktarılmasını gerektiren daha gelişmiş senaryolarda, her modülün yapılandırmanızda benzersiz Import-DscResource bir satırı olduğundan emin olun.

Yapılandırmayı Otomasyon hesabınıza yüklemek için Import-AzAutomationDscConfiguration cmdlet'ini çağırın.

$importAzAutomationDscConfigurationSplat = @{
    SourcePath = 'C:\DscConfigs\TestConfig.ps1'
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    Published = $ture
}
Import-AzAutomationDscConfiguration @importAzAutomationDscConfigurationSplat

Bir yapılandırmayı düğüm yapılandırmasına derleme

DSC yapılandırmasının bir düğüme atanabilmesi için önce düğüm yapılandırmasında derlenmiş olması gerekir. Bkz. DSC yapılandırmaları.

Yapılandırmayı Otomasyon hesabınızda adlı TestConfig.WebServer bir düğüm yapılandırmasında derlemek TestConfig için Start-AzAutomationDscCompilationJob cmdlet'ini çağırın.

$startAzAutomationDscCompilationJobSplat = @{
    ConfigurationName = 'TestConfig'
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
}
Start-AzAutomationDscCompilationJob @startAzAutomationDscCompilationJobSplat

Durum Yapılandırması tarafından yönetilecek VM'yi kaydetme

Azure VM'lerini (hem Klasik hem de Resource Manager), şirket içi VM'leri, Linux makinelerini, AWS VM'lerini ve şirket içi fiziksel makineleri yönetmek için Azure Otomasyonu Durum Yapılandırmasını kullanabilirsiniz. Bu makalede, yalnızca Azure Resource Manager VM'lerini kaydetmeyi ele alacağız. Diğer makine türlerini kaydetme hakkında bilgi için bkz. Azure Otomasyonu Durum Yapılandırmasına göre yönetim için makineleri ekleme.

VM'nizi yönetilen düğüm olarak Azure Otomasyonu Durum Yapılandırması ile kaydetmek için Register-AzAutomationDscNode cmdlet'ini çağırın.

$registerAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    AzureVMName = 'DscVm'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat

Yapılandırma modu ayarlarını belirtme

Vm'yi yönetilen düğüm olarak kaydetmek ve yapılandırma özelliklerini belirtmek için Register-AzAutomationDscNode cmdlet'ini kullanın. Örneğin, özelliğin değeri ConfigurationMode olarak belirterek ApplyOnly makinenin durumunun yalnızca bir kez uygulanacağını belirtebilirsiniz. Durum Yapılandırması, ilk denetimden sonra yapılandırmayı uygulamayı denemez.

$registerAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    AzureVMName = 'DscVm'
    ConfigurationMode = 'ApplyOnly'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```

You can also specify how often DSC checks the configuration state by using the
`ConfigurationModeFrequencyMins` property. For more information about DSC configuration settings,
see [Configuring the Local Configuration Manager][05].

```powershell
# Run a DSC check every 60 minutes
$registerAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    AzureVMName = 'DscVm'
    ConfigurationModeFrequencyMins = 60
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```

## Assign a node configuration to a managed node

Now we can assign the compiled node configuration to the VM we want to configure.

```powershell
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat

# Assign the node configuration to the DSC node
$setAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    NodeConfigurationName = 'TestConfig.WebServer'
    NodeId = $node.Id
}
Set-AzAutomationDscNode @setAzAutomationDscNodeSplat

Bu, adlı TestConfig.WebServer düğüm yapılandırmasını kayıtlı DSC düğümüne DscVmatar. Varsayılan olarak, DSC düğümü her 30 dakikada bir düğüm yapılandırmasıyla uyumlu olup olmadığını denetler. Uyumluluk denetimi aralığını değiştirme hakkında bilgi için bkz . Local Configuration Manager'ı yapılandırma.

Yönetilen düğümün uyumluluk durumunu denetleme

Get-AzAutomationDscNodeReport cmdlet'ini kullanarak yönetilen düğümün uyumluluk durumuyla ilgili raporlar alabilirsiniz.

# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat

# Get an array of status reports for the DSC node
$getAzAutomationDscNodeReportSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    NodeId = $node.Id
}
$reports = Get-AzAutomationDscNodeReport @getAzAutomationDscNodeReportSplat

# Display the most recent report
$reports[0]

Sonraki adımlar