Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Serwer ściągania ( Windows Feature DSC-Service) jest obsługiwanym składnikiem systemu Windows Server, jednak nie ma planów oferowania nowych funkcji ani możliwości. Chcielibyśmy, aby wiedzieć, że nowsza wersja DSC jest teraz ogólnie dostępna, zarządzana przez funkcję Azure Policy o nazwie konfiguracja gościa. Usługa konfiguracji gościa łączy funkcje rozszerzenia DSC, Azure Automation State Configuration i najczęściej żądanych funkcji z opinii klientów. Konfiguracja gościa obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.
Local Configuration Manager (LCM) może być centralnie zarządzany przez rozwiązanie Pull Service. W przypadku korzystania z tego podejścia zarządzany węzeł jest rejestrowany w usłudze i przypisywana jest konfiguracja w ustawieniach LCM. Konfiguracja i wszystkie zasoby DSC potrzebne jako zależności konfiguracji są pobierane do maszyny i używane przez LCM do zarządzania konfiguracją. Informacje o stanie zarządzanej maszyny są przekazywane do usługi w celu raportowania. Koncepcja ta jest określana jako "pull service".
Aktualne opcje usługi ściągania obejmują:
- Usługa Azure Automation Desired State Configuration
- Usługa ściągania działająca w systemie Windows Server
- Rozwiązania open source utrzymywane przez społeczność
- Udział SMB
Zalecana skala dla każdego rozwiązania jest następująca:
Rozwiązanie | Węzły klienckie |
---|---|
Windows Pull Server przy użyciu bazy danych MDB/ESENT | Do 500 węzłów |
Windows Pull Server przy użyciu bazy danych SQL | Do 3500 węzłów |
Azure Automation DSC | Zarówno małe, jak i duże środowiska |
Zalecanym rozwiązaniem i opcją z największą liczbą dostępnych funkcji jest Azure Automation DSC. Nie określono górnego limitu liczby węzłów na konto usługi Automation.
Usługa platformy Azure może zarządzać węzłami lokalnie w prywatnych centrach danych lub w chmurach publicznych, takich jak Azure i AWS. W przypadku środowisk prywatnych, w których serwery nie mogą bezpośrednio łączyć się z Internetem, rozważ ograniczenie ruchu wychodzącego tylko do opublikowanego zakresu adresów IP platformy Azure (zobacz Zakresy adresów IP platformy Azure i tagi usług).
Funkcje usługi online, które nie są obecnie dostępne w usłudze ściągania w systemie Windows Server, obejmują:
- Wszystkie dane są szyfrowane podczas przesyłania i przechowywania
- Certyfikaty klienta są tworzone i zarządzane automatycznie
- Magazyn wpisów tajnych do centralnego zarządzania hasłami/poświadczeniami lub zmiennymi , takimi jak nazwy serwerów lub parametry połączenia
- Centralne zarządzanie konfiguracją LCM węzła
- Centralne przypisywanie konfiguracji do węzłów klienckich
- Zmiany konfiguracji wydania w "grupach kanaryjskich" na potrzeby testowania przed osiągnięciem środowiska produkcyjnego
- Raportowanie graficzne
- Szczegóły stanu na poziomie szczegółowości zasobu DSC
- Pełne komunikaty o błędach z komputerów klienckich w celu rozwiązywania problemów
- Integracja z usługą Azure Log Analytics na potrzeby alertów, zautomatyzowanych zadań, aplikacji dla systemu Android/iOS do raportowania i alertów
Usługa ściągania DSC w systemie Windows Server
Istnieje możliwość skonfigurowania usługi ściągania do uruchamiania w systemie Windows Server. Należy pamiętać, że rozwiązanie usługi ściągania zawarte w systemie Windows Server obejmuje tylko możliwości przechowywania konfiguracji i modułów do pobierania i przechwytywania danych raportu do bazy danych. Nie obejmuje wielu możliwości oferowanych przez usługę na platformie Azure, dlatego nie jest dobrym narzędziem do oceny, jak usługa będzie używana.
Usługa ściągania oferowana w systemie Windows Server to usługa sieci Web w usługach IIS, która używa interfejsu OData do udostępniania plików konfiguracji DSC węzłom docelowym, gdy te węzły o nie poproszą.
Wymagania dotyczące korzystania z serwera ściągania:
- Serwer z uruchomionym systemem:
- WMF/PowerShell 4.0 lub nowszy
- Rola serwera usług IIS
- Usługa DSC
- Najlepiej jest użyć sposobu generowania certyfikatu w celu zabezpieczenia poświadczeń przekazywanych do lokalnego Configuration Manager (LCM) w węzłach docelowych
Najlepszym sposobem skonfigurowania systemu Windows Server do hostowania usługi ściągania jest użycie konfiguracji DSC. Przykładowy skrypt znajduje się poniżej.
Obsługiwane systemy baz danych
Począwszy od wersji 17090 systemu Windows Server, program WMF 5.1 zawiera obsługę opcji SQL Server dla usługi Pull Service ( Windows Feature DSC-Service). Zapewnia to nową opcję skalowania dużych środowisk DSC, które nie zostały zmigrowane do Azure Automation DSC.
Aby skonfigurować serwer ściągania do korzystania z SQL Server, ustaw SqlProvider na $true
i SqlConnectionString na prawidłowe parametry połączenia SQL Server. Aby uzyskać więcej informacji, zobacz Parametry połączenia klienta SQL. Aby zapoznać się z przykładem konfiguracji SQL Server za pomocą xDscWebService, najpierw przeczytaj artykuł Korzystanie z zasobu xDscWebService , a następnie przejrzyj 2-xDscWebService_RegistrationUseSQLProvider_Config.ps1 w witrynie GitHub.
Korzystanie z zasobu xDscWebService
Najprostszym sposobem skonfigurowania serwera ściągania z sieci Web jest użycie zasobu xDscWebService zawartego w module xPSDesiredStateConfiguration . W poniższych krokach wyjaśniono, jak używać zasobu w Configuration
programie, który konfiguruje usługę internetową.
Wywołaj polecenie cmdlet Install-Module , aby zainstalować moduł xPSDesiredStateConfiguration .
Uzyskaj certyfikat SSL dla serwera ściągania DSC od zaufanego urzędu certyfikacji w organizacji lub w urzędzie publicznym. Certyfikat otrzymany od urzędu jest zwykle w formacie PFX.
Zainstaluj certyfikat w węźle, który stanie się serwerem ściągania DSC, w domyślnej lokalizacji, którą powinna być
CERT:\LocalMachine\My
. Zanotuj odcisk palca certyfikatu.Wybierz identyfikator GUID, który ma być używany jako klucz rejestracji. Aby wygenerować go za pomocą programu PowerShell, wprowadź następujące polecenie w wierszu polecenia PS i naciśnij Enter:
[guid]::newGuid()
lubNew-Guid
. Ten klucz będzie używany przez węzły klienta jako klucz udostępniony do uwierzytelniania podczas rejestracji. Aby uzyskać więcej informacji, zobacz sekcję Klucz rejestracji poniżej.W programie PowerShell ISE uruchom (F5) następujący skrypt konfiguracji (znajdujący się w folderze modułu xPSDesiredStateConfiguration jako
Sample_xDscWebServiceRegistration.ps1
.Ten skrypt konfiguruje serwer ściągania.
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 } } }
Uruchom konfigurację, przekazując odcisk palca certyfikatu SSL jako parametr certificateThumbPrint i klucz rejestracji identyfikatora 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
Klucz rejestracyjny
Aby umożliwić węzłom klienckim rejestrowanie się na serwerze w celu używania nazw konfiguracji zamiast identyfikatora konfiguracji, klucz rejestracji, który został utworzony przez powyższą konfigurację, jest zapisywany w pliku o nazwie RegistrationKeys.txt
.C:\Program Files\WindowsPowerShell\DscService
Klucz rejestracji funkcjonuje jako wspólny klucz tajny używany podczas początkowej rejestracji przez klienta na serwerze ściągania. Klient wygeneruje certyfikat z podpisem własnym, który jest używany do unikatowego uwierzytelniania na serwerze ściągania po pomyślnym zakończeniu rejestracji. Odcisk palca tego certyfikatu jest przechowywany lokalnie i skojarzony z adresem URL serwera ściągania.
Uwaga / Notatka
Klucze rejestracji nie są obsługiwane w programie PowerShell 4.0.
Aby skonfigurować węzeł do uwierzytelniania na serwerze ściągania, klucz rejestracji musi znajdować się w metakonfiguracji dla każdego węzła docelowego, który będzie rejestrowany na tym serwerze ściągania. Należy zauważyć, że RegistrationKey w poniższej metakonfiguracji jest usuwany po pomyślnym zarejestrowaniu maszyny docelowej i że wartość musi być zgodna z wartością przechowywaną w RegistrationKeys.txt
pliku na serwerze ściągania ('140a952b-b9d6-406b-b416-e0f759c9c0e4' w tym przykładzie). Zawsze traktuj wartość klucza rejestracji bezpiecznie, ponieważ jej znajomość umożliwia dowolnej maszynie docelowej zarejestrowanie się na serwerze ściągania.
[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
Uwaga / Notatka
Sekcja ReportServerWeb umożliwia wysyłanie danych raportowania do serwera ściągania.
Brak właściwości ConfigurationID w pliku metakonfiguracji niejawnie oznacza, że serwer ściągania obsługuje wersję V2 protokołu serwera ściągania, więc wymagana jest początkowa rejestracja. Z drugiej strony obecność identyfikatora konfiguracji oznacza, że używana jest wersja V1 protokołu serwera ściągania i nie ma przetwarzania rejestracji.
Uwaga / Notatka
W scenariuszu PUSH w bieżącej wersji występuje błąd, który powoduje konieczność zdefiniowania właściwości ConfigurationID w pliku metakonfiguracji dla węzłów, które nigdy nie zostały zarejestrowane na serwerze ściągania. Spowoduje to wymuszenie protokołu V1 Pull Server i uniknięcie komunikatów o niepowodzeniu rejestracji.
Umieszczanie konfiguracji i zasobów
Po zakończeniu instalacji serwera ściągania foldery zdefiniowane przez właściwości ConfigurationPath i ModulePath w konfiguracji serwera ściągania są miejscem, w którym zostaną umieszczone moduły i konfiguracje, które będą dostępne dla węzłów docelowych do ściągnięcia. Pliki te muszą być w określonym formacie, aby serwer ściągania mógł je poprawnie przetworzyć.
Format pakietu modułu zasobów DSC
Każdy moduł zasobów musi być spakowany i nazwany zgodnie z następującym wzorcem <Module Name>_<Module Version>.zip
.
Na przykład moduł o nazwie xWebAdminstration z modułem w wersji 3.1.2.0 będzie miał nazwę xWebAdministration_3.1.2.0.zip
. Każda wersja modułu musi być zawarta w jednym pliku zip.
Ponieważ w każdym pliku zip znajduje się tylko jedna wersja zasobu, format modułu dodany w programie WMF 5.0 z obsługą wielu wersji modułów w jednym katalogu nie jest obsługiwany. Oznacza to, że przed spakowaniem modułów zasobów DSC do użycia z serwerem ściągania należy wprowadzić niewielką zmianę w strukturze katalogów. Domyślnym formatem modułów zawierających zasób DSC w programie WMF 5.0 jest <Module Folder>\<Module Version>\DscResources\<DSC Resource Folder>\
. Przed spakowaniem dla serwera ściągania usuń <Module version>
folder, tak aby ścieżka stała się <Module Folder>\DscResources\<DSC Resource Folder>\
. Dzięki tej zmianie spakuj folder zgodnie z powyższym opisem i umieść te pliki zip w folderze ModulePath .
Użyj New-DscChecksum <module zip file>
, aby utworzyć plik sumy kontrolnej dla nowo dodanego modułu.
Konfiguracja formatu MOF
Plik MOF konfiguracji musi być sparowany z plikiem sumy kontrolnej, aby LCM w węźle docelowym mógł zweryfikować konfigurację. Aby utworzyć sumę kontrolną, wywołaj polecenie cmdlet New-DscChecksum . Polecenie cmdlet przyjmuje parametr Path określający folder, w którym znajduje się konfiguracja MOF. Polecenie cmdlet tworzy plik sumy kontrolnej o nazwie ConfigurationMOFName.mof.checksum
, gdzie ConfigurationMOFName
jest nazwą pliku konfiguracji mof. Jeśli w określonym folderze znajduje się więcej niż jeden konfiguracyjny plik MOF, dla każdej konfiguracji w folderze tworzona jest suma kontrolna. Umieść pliki MOF i skojarzone z nimi pliki sum kontrolnych w folderze ConfigurationPath .
Uwaga / Notatka
Jeśli w jakikolwiek sposób zmienisz plik konfiguracyjny MOF, musisz również ponownie utworzyć plik sumy kontrolnej.
Narzędzia
Aby skonfigurować serwer ściągania i zarządzać nim, użyj następujących narzędzi dołączonych jako przykłady w najnowszej wersji modułu xPSDesiredStateConfiguration:
Moduł, który pomoże w pakowaniu modułów zasobów DSC i plików konfiguracyjnych do użycia na serwerze ściągania. PublishModulesAndMofsToPullServer.psm1. Przykłady poniżej:
# 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 -Force
Skrypt, który weryfikuje serwer ściągania, jest skonfigurowany poprawnie. PullServerSetupTests.ps1.
Rozwiązania społecznościowe dla usługi ściągania
Społeczność DSC jest autorem wielu rozwiązań do implementacji protokołu usługi ściągania. W przypadku środowisk lokalnych oferują one możliwości usługi ściągania i możliwość wniesienia wkładu do społeczności dzięki przyrostowym ulepszeniom.
Ściąganie konfiguracji klienta
W poniższych tematach szczegółowo opisano konfigurowanie klientów ściągania:
- Konfigurowanie klienta ściągania DSC przy użyciu identyfikatora konfiguracji
- Konfigurowanie klienta ściągania DSC przy użyciu nazw konfiguracji
- Konfiguracje częściowe