Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Pull Server (Windows Feature DSC-Service) je podporovanou součástí systému Windows Server, ale neplánuje se nabízet nové funkce nebo možnosti. Rádi bychom, abyste věděli, že novější verze DSC je nyní obecně dostupná, spravovaná funkcí Azure Policy s názvem konfigurace hosta. Služba konfigurace hosta kombinuje funkce rozšíření DSC, konfigurace stavu Azure Automation a nejčastěji požadované funkce ze zpětné vazby od zákazníků. Konfigurace hosta zahrnuje také podporu hybridních počítačů prostřednictvím serverů s podporou Arc.
Místní nástroj Configuration Manager (LCM) je možné centrálně spravovat pomocí řešení Pull Service. Při použití tohoto přístupu je uzel, který je spravován, zaregistrován ve službě a je mu přiřazena konfigurace v nastavení LCM. Konfigurace a všechny prostředky DSC potřebné jako závislosti pro konfiguraci se stáhnou do stroje a LCM je použije ke správě konfigurace. Informace o stavu spravovaného stroje se nahrají do služby pro vykazování. Tento koncept se označuje jako "pull service".
Mezi aktuální možnosti služby pull patří:
- Služba konfigurace požadovaného stavu Azure Automation
- Služba vyžádané replikace spuštěná na Windows Serveru
- Komunitou udržovaná open-source řešení
- Sdílená složka pro malé a střední podniky
Doporučené měřítko pro každé řešení je následující:
| Řešení | Klientské uzly |
|---|---|
| Windows Pull Server pomocí databáze MDB/ESENT | Až 500 uzlů |
| Windows Pull Server pomocí SQL databáze | Až 3500 uzlů |
| Azure Automation DSC | Malá i velká prostředí |
Doporučeným řešením a možností s největším počtem dostupných funkcí je Azure Automation DSC. Nebyl identifikován horní limit počtu uzlů na účet Automation.
Služba Azure může spravovat uzly místně v privátních datových centrech nebo ve veřejných cloudech, jako jsou Azure a AWS. V privátních prostředích, kde se servery nemůžou přímo připojit k internetu, zvažte omezení odchozího provozu jenom na publikovaný rozsah IP adres Azure (viz Rozsahy IP adres Azure a značky služeb).
Mezi funkce online služby, které nejsou v současné době dostupné ve službě Pull na Windows Serveru, patří:
- Všechna data jsou šifrována při přenosu i v klidu
- Klientské certifikáty jsou vytvářeny a spravovány automaticky
- Úložiště tajných kódů pro centrální správu hesel a přihlašovacích údajů nebo proměnných , jako jsou názvy serverů nebo připojovací řetězce
- Centrálně spravovat konfiguraci LCM uzlu
- Centrálně přiřazujte konfigurace klientským uzlům
- Uvolnění změn konfigurace na "kanárkové skupiny" pro testování před dosažením produkčního prostředí
- Grafické protokoly
- Detail stavu na úrovni členitosti prostředků DSC
- Podrobné chybové zprávy z klientských počítačů pro řešení potíží
- Integrace s Azure Log Analytics pro upozorňování, automatizované úlohy, aplikace pro Android/iOS pro vytváření sestav a upozorňování
Služba vyžádání DSC v systému Windows Server
Službu vyžádané replikace je možné nakonfigurovat tak, aby běžela na Windows Serveru. Upozorňujeme, že řešení služby vyžádané replikace, které je součástí systému Windows Server, zahrnuje pouze funkce ukládání konfigurací a modulů pro stahování a zachytávání dat sestav do databáze. Neobsahuje mnoho funkcí, které služba nabízí v Azure, a proto není dobrým nástrojem pro vyhodnocení toho, jak by se služba používala.
Služba vyžádání replikace nabízená v systému Windows Server je webová služba ve službě IIS, která pomocí rozhraní OData zpřístupňuje konfigurační soubory DSC cílovým uzlům, když o ně tyto uzly požádají.
Požadavky na použití serveru vyžádané replikace:
- Server se spuštěním:
- WMF/PowerShell 4.0 nebo vyšší
- Role serveru služby IIS
- Služba DSC
- V ideálním případě nějaký způsob generování certifikátu pro zabezpečení přihlašovacích údajů předaných místnímu Configuration Manager (LCM) na cílových uzlech
Nejlepším způsobem, jak nakonfigurovat Windows Server tak, aby hostoval službu vyžádání replikace, je použít konfiguraci DSC. Příklad skriptu je uveden níže.
Podporované databázové systémy
Od verze 17090 systému Windows Server obsahuje WMF 5.1 podporu pro možnost SQL Server pro službu Pull Service (Windows Feature DSC-Service). To poskytuje novou možnost škálování velkých prostředí DSC, která se nemigrovala na Azure Automation DSC.
Chcete-li nakonfigurovat server vyžádané replikace tak, aby používal SQL Server, nastavte SqlProvider na $true a SqlConnectionString na platný připojovací řetězec SQL Server. Další informace naleznete v tématu Připojovací řetězce SqlClient. Příklad konfigurace SQL Server pomocí xDscWebService najdete nejprve v článku Použití prostředku xDscWebService a poté si projděte2-xDscWebService_RegistrationUseSQLProvider_Config.ps1 na GitHubu.
Použití prostředku xDscWebService
Nejjednodušším způsobem, jak nastavit server pro vyžádanou replikaci, je použít prostředek xDscWebService , který je součástí modulu xPSDesiredStateConfiguration . Následující kroky vysvětlují, jak použít prostředek v nastavení Configuration , který nastavuje webovou službu.
Voláním rutiny Install-Module nainstalujte modul xPSDesiredStateConfiguration .
Získejte certifikát SSL pro server vyžádané replikace DSC od důvěryhodné certifikační autority, a to buď v rámci vaší organizace, nebo od veřejné autority. Certifikát přijatý od autority je obvykle ve formátu PFX.
Nainstalujte certifikát do uzlu, který se stane serverem vyžádané replikace DSC ve výchozím umístění, které by mělo být
CERT:\LocalMachine\My. Poznamenejte si kryptografický otisk certifikátu.Vyberte identifikátor GUID, který se má použít jako registrační klíč. Chcete-li jej vygenerovat pomocí PowerShellu, zadejte na výzvu PS následující příkaz a stiskněte enter:
[guid]::newGuid()neboNew-Guid. Tento klíč budou klientské uzly používat jako sdílený klíč k ověření během registrace. Další informace naleznete v části Registrační klíč níže.V prostředí PowerShell ISE spusťte (F5) následující konfigurační skript (obsažený ve složce modulu xPSDesiredStateConfiguration jako
Sample_xDscWebServiceRegistration.ps1.Tento skript nastaví server vyžádané replikace.
configuration Sample_xDscWebServiceRegistration { param ( [string[]]$NodeName = 'localhost', [ValidateNotNullOrEmpty()] [string] $certificateThumbPrint, [Parameter(HelpMessage='This should be a string with enough entropy (randomness)' + ' to protect the registration of clients to the pull server. We will use new' + ' GUID by default.' )] [ValidateNotNullOrEmpty()] [string] $RegistrationKey # A guid that clients use to initiate conversation with pull server ) Import-DSCResource -ModuleName PSDesiredStateConfiguration Import-DSCResource -ModuleName xPSDesiredStateConfiguration Node $NodeName { WindowsFeature DSCServiceFeature { Ensure = "Present" Name = "DSC-Service" } xDscWebService PSDSCPullServer { Ensure = "Present" EndpointName = "PSDSCPullServer" Port = 8080 PhysicalPath = "$env:SystemDrive\inetpub\PSDSCPullServer" CertificateThumbPrint = $certificateThumbPrint ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules" ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration" State = "Started" DependsOn = "[WindowsFeature]DSCServiceFeature" RegistrationKeyPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService" AcceptSelfSignedCertificates = $true UseSecurityBestPractices = $true Enable32BitAppOnWin64 = $false } File RegistrationKeyFile { Ensure = 'Present' Type = 'File' DestinationPath = "$env:ProgramFiles\WindowsPowerShell\DscService\RegistrationKeys.txt" Contents = $RegistrationKey } } }Spusťte konfiguraci a předejte kryptografický otisk certifikátu SSL jako parametr certificateThumbPrint a registrační klíč GUID jako parametr RegistrationKey :
# To find the Thumbprint for an installed SSL certificate for use with the pull server list all # certificates in your local store and then copy the thumbprint for the appropriate certificate # by reviewing the certificate subjects dir Cert:\LocalMachine\my # Then include this thumbprint when running the configuration $sample_xDscWebServiceRegistrationSplat = @{ certificateThumbprint = 'A7000024B753FA6FFF88E966FD6E19301FAE9CCC' RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4' OutputPath = 'C:\Configs\PullServer' } Sample_xDscWebServiceRegistration @sample_xDscWebServiceRegistrationSplat # Run the compiled configuration to make the target node a DSC Pull Server Start-DscConfiguration -Path c:\Configs\PullServer -Wait -Verbose
Registrační klíč
Aby se klientské uzly mohly zaregistrovat na serveru, aby mohly místo ID konfigurace používat názvy konfigurací, je registrační klíč vytvořený výše uvedenou konfigurací uložen do souboru s názvem RegistrationKeys.txt .C:\Program Files\WindowsPowerShell\DscService Registrační klíč funguje jako sdílený tajný klíč používaný během počáteční registrace klientem na serveru vyžádané replikace. Klient po úspěšném dokončení registrace vygeneruje certifikát podepsaný svým držitelem, který se používá k jedinečnému ověření na serveru vyžádané replikace. Kryptografický otisk tohoto certifikátu je uložen místně a přidružen k adrese URL serveru vyžádané replikace.
Poznámka:
Registrační klíče nejsou v PowerShellu 4.0 podporovány.
Aby bylo možné nakonfigurovat uzel pro ověření pomocí serveru vyžádané replikace, musí být registrační klíč v metakonfiguraci pro všechny cílové uzly, které se budou registrovat na tomto serveru vyžádané replikace. Všimněte si, že klíč RegistrationKey v níže uvedené metakonfiguraci se po úspěšné registraci cílového počítače odebere a že hodnota se musí shodovat s hodnotou uloženou RegistrationKeys.txt v souboru na serveru vyžádané replikace (v tomto příkladu '140a952b-b9d6-406b-b416-e0f759c9c0e4'). S hodnotou registračního klíče vždy zacházejte bezpečně, protože její znalost umožňuje libovolnému cílovému počítači zaregistrovat se na serveru vyžádané replikace.
[DSCLocalConfigurationManager()]
configuration Sample_MetaConfigurationToRegisterWithLessSecurePullServer
{
param
(
[ValidateNotNullOrEmpty()]
[string] $NodeName = 'localhost',
# the key used to set up pull server in previous configuration
[ValidateNotNullOrEmpty()]
[string] $RegistrationKey,
# The name of the pull server, same as $NodeName used in previous configuration
[ValidateNotNullOrEmpty()]
[string] $ServerName = 'localhost'
)
Node $NodeName
{
Settings
{
RefreshMode = 'Pull'
}
ConfigurationRepositoryWeb CONTOSO-PullSrv
{
ServerURL = "https://$ServerName`:8080/PSDSCPullServer.svc"
RegistrationKey = $RegistrationKey
ConfigurationNames = @('ClientConfig')
}
ReportServerWeb CONTOSO-PullSrv
{
ServerURL = "https://$ServerName`:8080/PSDSCPullServer.svc"
RegistrationKey = $RegistrationKey
}
}
}
$MetaConfigurationSplat = @{
RegistrationKey = $RegistrationKey
OutputPath = 'c:\Configs\TargetNodes'
}
Sample_MetaConfigurationToRegisterWithLessSecurePullServer @MetaConfigurationSplat
Poznámka:
Oddíl ReportServerWeb umožňuje odesílání dat sestav na server vyžádané replikace.
Absence vlastnosti ConfigurationID v metakonfiguračním souboru implicitně znamená, že server vyžádané replikace podporuje verzi V2 protokolu serveru vyžádané replikace, takže je vyžadována počáteční registrace. Naopak přítomnost ID konfigurace znamená, že se používá verze V1 protokolu serveru vyžádané replikace a nedochází k žádnému zpracování registrace.
Poznámka:
Ve scénáři PUSH existuje v aktuální verzi chyba, kvůli které je nutné definovat vlastnost ConfigurationID v metakonfiguračním souboru pro uzly, které se nikdy nezaregistrovaly na serveru vyžádané replikace. Tím vynutíte protokol V1 Pull Server a vyhnete se zprávám o selhání registrace.
Umístění konfigurací a zdrojů
Po dokončení instalace serveru vyžádané replikace umístíte do složek definovaných vlastnostmi ConfigurationPath a ModulePath v konfiguraci serveru vyžádané replikace moduly a konfigurace, které budou k dispozici pro cílové uzly k vyžádání. Tyto soubory musí být v určitém formátu, aby je server vyžádané replikace mohl správně zpracovat.
Formát balíčku modulu prostředků DSC
Každý modul zdrojů musí být zazipován a pojmenován podle následujícího vzoru <Module Name>_<Module Version>.zip.
Například modul s názvem xWebAdminstration s verzí modulu 3.1.2.0 by byl pojmenován xWebAdministration_3.1.2.0.zip. Každá verze modulu musí být obsažena v jednom souboru ZIP.
Vzhledem k tomu, že v každém souboru ZIP je pouze jedna verze prostředku, formát modulu přidaný ve formátu WMF 5.0 s podporou více verzí modulů v jednom adresáři není podporován. To znamená, že před zabalením modulů prostředků DSC pro použití se serverem vyžádané replikace budete muset provést malou změnu v adresářové struktuře. Výchozí formát modulů obsahujících prostředek DSC ve WMF 5.0 je <Module Folder>\<Module Version>\DscResources\<DSC Resource Folder>\. Před zabalením pro server vyžádané replikace odeberte <Module version> složku tak, aby cesta byla <Module Folder>\DscResources\<DSC Resource Folder>\. S touto změnou zazipujte složku, jak je popsáno výše, a umístěte tyto soubory zip do složky ModulePath .
Slouží New-DscChecksum <module zip file> k vytvoření souboru s kontrolním součtem pro nově přidaný modul.
Konfigurace formátu MOF
Konfigurační soubor MOF musí být spárován se souborem kontrolního součtu, aby LCM na cílovém uzlu mohl ověřit konfiguraci. Pokud chcete vytvořit kontrolní součet, zavolejte rutinu New-DscChecksum . Rutina převezme parametr Path , který určuje složku, ve které se nachází konfigurační objekt MOF. Rutina vytvoří soubor kontrolního součtu s názvem ConfigurationMOFName.mof.checksum, kde ConfigurationMOFName je název konfiguračního souboru MOF. Pokud se v určené složce nachází více než jeden konfigurační soubor MOF, vytvoří se pro každou konfiguraci ve složce kontrolní součet. Umístěte soubory MOF a k nim přiřazené soubory kontrolního součtu do složky ConfigurationPath .
Poznámka:
Pokud jakýmkoli způsobem změníte konfigurační soubor MOF, musíte také znovu vytvořit soubor kontrolního součtu.
Nástrojové vybavení
Chcete-li nastavit, ověřit a spravovat server vyžádané replikace, použijte následující nástroje, které jsou součástí příkladů v nejnovější verzi modulu xPSDesiredStateConfiguration:
Modul, který vám pomůže s balením modulů prostředků DSC a konfiguračních souborů pro použití na serveru vyžádané replikace. PublikováníModulesAndMofsToPullServer.psm1. Příklady níže:
# Example 1 - Package all versions of given modules installed locally and # MOF files are in c:\LocalDepot $moduleList = @('xWebAdministration', 'xPhp') Publish-DSCModuleAndMof -Source C:\LocalDepot -ModuleNameList $moduleList # Example 2 - Package modules and mof documents from c:\LocalDepot Publish-DSCModuleAndMof -Source C:\LocalDepot -ForceSkript, který ověřuje server vyžádané replikace, je nakonfigurován správně. PullServerSetupTests.ps1.
Komunitní řešení pro službu Pull
Komunita DSC vytvořila několik řešení pro implementaci protokolu služby Pull. V místních prostředích nabízejí možnosti služby vyžádání změn a příležitost přispívat zpět do komunity pomocí postupných vylepšení.
Konfigurace klienta pro vyžádání obsahu
Následující témata podrobně popisují nastavení klientů vyžádané replikace:
- Nastavení klienta vyžádané replikace DSC pomocí ID konfigurace
- Nastavení klienta vyžádané replikace DSC pomocí konfiguračních názvů
- Částečné konfigurace