Megosztás a következőn keresztül:


Kívánt állapotkonfigurációs bővítmény Azure Resource Manager-sablonokkal

Feljegyzés

A DSC-bővítmény engedélyezése előtt szeretnénk tudni, hogy a DSC egy újabb verziója általánosan elérhető, amelyet egy gépkonfiguráció nevű szolgáltatás kezel. A gépkonfigurációs funkció tartalmazza a Desired State Configuration (DSC) bővítménykezelő funkcióit és az ügyfelek visszajelzéseiből leggyakrabban kért funkciókat. A gépkonfiguráció az Arc-kompatibilis kiszolgálókon keresztüli hibrid géptámogatást is magában foglalja.

Ez a cikk a Desired State Configuration (DSC) bővítménykezelő Azure Resource Manager-sablonját ismerteti.

Feljegyzés

Előfordulhat, hogy kissé eltérő séma-példákat tapasztal. A séma módosítása a 2016. októberi kiadásban történt. További részletekért lásd : Frissítés egy korábbi formátumból.

Bicep-példa virtuális géphez

A DSC-bővítmény örökli az alapértelmezett bővítménytulajdonságokat. További információ: VirtualMachineExtension osztály.

@description('URI of the configuration package')
param configUri string

@description('first configuration parameter')
param arg1 string

@description('second configuration parameter')
@secure()
param arg2 string

var configName = split(split(configUri, '/')[4], '.')[0]

resource vm 'Microsoft.Compute/virtualMachines@2023-09-01' existing = {
  name: srvName
}

resource configuration_dscext 'Microsoft.Compute/virtualMachines/extensions@2024-07-01' = {
  name: 'configurationname_dscext'
  parent: vm
  location: location
  properties: {
    publisher: 'Microsoft.Powershell'
    type: 'DSC'
    typeHandlerVersion: '2.77'
    autoUpgradeMinorVersion: true
    settings: {
      wmfVersion: 'latest'
      configuration: {
        url: configUri
        script: 'configurationname_dscext.ps1'
        function: 'configurationname_dscext'
      }
      configurationArguments: {
        arg1: arg1
      }
      advancedOptions: {
        rebootNodeIfNeeded: true
      }
    }
    protectedSettings: {
      configurationArguements: {
        arg2: arg2
      }
    }
  }
}

Bicep-példa Windows rendszerű virtuálisgép-méretezési csoportokhoz

A virtuálisgép-méretezési csoport csomópontja rendelkezik egy extensionProfile attribútumot tartalmazó szakaszsal. A bővítmények alatt adja meg a DSC-bővítmény részleteit.

A virtuálisgép-méretezési csoportok bővítményeit üzembe helyező sablonok készítéséről a Microsoft.Compute virtualMachineScaleSets című dokumentumból tájékozódhat.

A DSC-bővítmény örökli az alapértelmezett bővítménytulajdonságokat. További információ: VirtualMachineScaleSetExtension osztály.

Beállítások és védett beállítások

A rendszer az összes beállítást a virtuális gépen lévő beállítások szövegfájljában menti. A beállítások között felsorolt tulajdonságok nyilvános tulajdonságok. A nyilvános tulajdonságok nincsenek titkosítva a beállítások szövegfájljában. A protectedSettings alatt felsorolt tulajdonságok tanúsítványsal vannak titkosítva, és nem jelennek meg egyszerű szövegben a virtuális gép beállításfájljában.

Ha a konfigurációhoz hitelesítő adatokra van szükség, a hitelesítő adatokat a protectedSettingsben is megadhatja:

"protectedSettings": {
    "configurationArguments": {
        "parameterOfTypePSCredential1": {
               "userName": "UsernameValue1",
               "password": "PasswordValue1"
        }
    }
}

Példa a konfigurációs szkript használatával az Azure Storage-ban

Az alábbi példa a DSC bővítménykezelő áttekintéséből származik. Ez a példa parancsmagok helyett Resource Manager-sablonokat használ a bővítmény üzembe helyezéséhez. Mentse az IisInstall.ps1 konfigurációt, helyezze egy .zip fájlba (például: iisinstall.zip), majd töltse fel a fájlt egy akadálymentes URL-címre. Ez a példa az Azure Blob Storage-t használja, de tetszőleges helyről letöltheti .zip fájlokat.

A Resource Manager-sablonban a következő kód arra utasítja a virtuális gépet, hogy töltse le a megfelelő fájlt, majd futtassa a megfelelő PowerShell-függvényt:

"settings": {
    "configuration": {
        "url": "https://demo.blob.core.windows.net/iisinstall.zip",
        "script": "IisInstall.ps1",
        "function": "IISInstall"
    }
},
"protectedSettings": {
    "configurationUrlSasToken": "odLPL/U1p9lvcnp..."
}

Frissítés egy korábbi formátumból

A bővítmény korábbi formátumában szereplő beállítások (és amelyek a ModulesUrl, a ModuleSource, a ModuleVersion, a ConfigurationFunction, a SasToken vagy a Properties nyilvános tulajdonságokkal rendelkeznek) automatikusan igazodnak a bővítmény aktuális formátumához. Ugyanúgy futnak, mint korábban.

Az alábbi séma az előző beállításséma kinézetét mutatja:

"settings": {
    "WMFVersion": "latest",
    "ModulesUrl": "https://UrlToZipContainingConfigurationScript.ps1.zip",
    "SasToken": "SAS Token if ModulesUrl points to private Azure Blob Storage",
    "ConfigurationFunction": "ConfigurationScript.ps1\\ConfigurationFunction",
    "Properties": {
        "ParameterToConfigurationFunction1": "Value1",
        "ParameterToConfigurationFunction2": "Value2",
        "ParameterOfTypePSCredential1": {
            "UserName": "UsernameValue1",
            "Password": "PrivateSettingsRef:Key1"
        },
        "ParameterOfTypePSCredential2": {
            "UserName": "UsernameValue2",
            "Password": "PrivateSettingsRef:Key2"
        }
    }
},
"protectedSettings": {
    "Items": {
        "Key1": "PasswordValue1",
        "Key2": "PasswordValue2"
    },
    "DataBlobUri": "https://UrlToConfigurationDataWithOptionalSasToken.psd1"
}

Az előző formátum a következőképpen igazodik az aktuális formátumhoz:

Jelenlegi tulajdonságnév Korábbi sémaegyenérték
settings.wmfVersion Beállítások. WMFVersion
settings.configuration.url Beállítások. ModulesUrl
settings.configuration.script A beállítások első része. ConfigurationFunction (előtt \\)
settings.configuration.function A beállítások második része. ConfigurationFunction (a \\után)
settings.configuration.module.name Beállítások. ModuleSource
settings.configuration.module.version Beállítások. ModuleVersion
settings.configurationArguments Beállítások. Kellékek
settings.configurationData.url protectedSettings.DataBlobUri (SAS-jogkivonat nélkül)
settings.privacy.dataCollection Beállítások. Privacy.dataCollection
settings.advancedOptions.downloadMappings Beállítások. AdvancedOptions.DownloadMappings
protectedSettings.configurationArguments protectedSettings.Properties
protectedSettings.configurationUrlSasToken Beállítások. SasToken
protectedSettings.configurationDataUrlSasToken SAS-jogkivonat a protectedSettings.DataBlobUri szolgáltatásból

Hibaelhárítás

Íme néhány hiba, amelybe belefuthat, és hogyan háríthatja el őket.

Érvénytelen értékek

"Privacy.dataCollection is ''{0}. Az egyetlen lehetséges érték az "", az "Engedélyezés" és a "Letiltás". "A WmfVersion a ""{0}. Csak a lehetséges értékek ... és a "legújabb".

Probléma: A megadott érték nem engedélyezett.

Megoldás: Módosítsa az érvénytelen értéket érvényes értékre.

Érvénytelen URL-cím

"ConfigurationData.url is ''{0}. Ez nem érvényes URL-cím" "DataBlobUri is '"{0}. Ez nem érvényes URL-cím" "Configuration.url is '"{0}. Ez nem érvényes URL-cím"

Probléma: A megadott URL-cím érvénytelen.

Megoldás: Ellenőrizze az összes megadott URL-címet. Győződjön meg arról, hogy az összes URL-cím olyan érvényes helyre van feloldva, amelyhez a bővítmény hozzáfér a távoli gépen.

Érvénytelen ConfigurationArgument típus

"Érvénytelen configurationArguments típus {0}"

Probléma: A ConfigurationArguments tulajdonság nem oldható fel kivonattábla-objektumra.

Megoldás: A ConfigurationArguments tulajdonság kivonattáblává alakítása. Kövesse az előző példákban megadott formátumot. Nézze meg az idézőjeleket, a vesszőket és a zárójeleket.

Duplikált ConfigurationArguments

"Duplikált argumentumokat talált a{0} nyilvános és a védett configurationArgumentsben is"

Probléma: A nyilvános beállítások ConfigurationArguments és a ConfigurationArguments védett beállításokban ugyanazzal a névvel rendelkeznek.

Megoldás: Távolítsa el az egyik duplikált tulajdonságot.

Hiányzó tulajdonságok

"beállítások. A Configuration.function megköveteli, hogy a settings.configuration.url vagy a settings.configuration.module meg legyen adva"

"beállítások. A Configuration.url-címhez meg kell adni a settings.configuration.script parancsprogramot"

"beállítások. A Configuration.script megköveteli, hogy a settings.configuration.url meg legyen adva"

"beállítások. A Configuration.url használatához meg kell adni a settings.configuration.function függvényt"

"protectedSettings.ConfigurationUrlSasToken megköveteli, hogy a settings.configuration.url meg legyen adva"

"protectedSettings.ConfigurationDataUrlSasToken megköveteli, hogy a settings.configurationData.url meg legyen adva"

Probléma: Egy definiált tulajdonságnak szüksége van egy másik tulajdonságra, amely hiányzik.

Megoldások:

  • Adja meg a hiányzó tulajdonságot.
  • Távolítsa el a hiányzó tulajdonságot igénylő tulajdonságot.

Következő lépések