Co je Azure Automation State Configuration?

Dokončeno

Pomocí služby Azure Automation State Configuration můžete zajistit, aby virtuální počítače v oblasti clusteru byly v konzistentním stavu se stejným softwarem nainstalovaným a stejnými konfiguracemi.

V této lekci se seznámíte s funkcemi a možnostmi služby Azure Automation, projdete si deklarativní model DSC (PowerShell Desired State Configuration) a prozkoumáte jeho výhody.

Azure Automation State Configuration je služba Azure založená na PowerShellu. Umožňuje konzistentně nasazovat, spolehlivě monitorovat a automaticky aktualizovat požadovaný stav všech vašich prostředků. Azure Automation poskytuje nástroje pro definování konfigurací a jejich použití na skutečné a virtuální počítače.

Proč používat Azure Automation State Configuration?

Ruční údržba správné a konzistentní konfigurace pro servery, na kterých běží vaše služby, může být obtížné a náchylné k chybám. Azure Automation State Configuration využívá PowerShell DSC k řešení těchto problémů. Centrálně spravuje artefakty DSC a proces DSC.

Azure Automation State Configuration má vestavěný pull server. Uzly můžete cílit tak, aby automaticky přijímaly konfigurace z tohoto pull serveru, odpovídaly požadovanému stavu a hlásily svou shodu. Můžete cílit na virtuální nebo fyzické počítače s Windows nebo Linuxem v cloudu nebo místně.

Protokoly služby Azure Monitor můžete použít ke kontrole souladu uzlů tak, že nakonfigurujete službu Azure Automation State Configuration pro odesílání těchto dat.

Co je PowerShell DSC?

PowerShell DSC je deklarativní platforma pro správu, kterou Azure Automation State Configuration používá ke konfiguraci, nasazení a řízení systémů. Deklarativní programovací jazyk odděluje záměr (co chcete udělat) od provádění (jak to chcete udělat). Zadáte požadovaný stav a necháte DSC, aby se postarala o dosažení tohoto stavu. Když je prostředek DSC dostupný, nemusíte vědět, jak implementovat nebo nasadit funkci. Místo toho se můžete zaměřit na strukturu nasazení.

Pokud už používáte PowerShell, možná vás zajímá, proč potřebujete DSC. Podívejte se na následující příklad.

Pokud chcete vytvořit sdílenou složku na Windows Serveru, můžete použít tento příkaz PowerShellu:

# Create a file share
New-SmbShare -Name MyFileShare -Path C:\Shared -FullAccess User1 -ReadAccess User2

Tento skript je jednoduchý a snadno pochopitelný. Pokud ale tento skript použijete v produkčním prostředí, dojde k několika problémům. Zvažte, co se může stát, když se skript spustí několikrát nebo pokud User2 už má úplný přístup, a ne přístup jen pro čtení.

Tento přístup není idempotentní. Idempotence popisuje operaci, která má stejný účinek bez ohledu na to, jestli ji spustíte jednou nebo 10 001krát. Pokud chcete dosáhnout idempotenci v PowerShellu, musíte přidat logiku a zpracování chyb. Pokud sdílená složka neexistuje, vytvoříte ji. Pokud sdílená složka existuje, nemusíte ji vytvářet. Pokud User2 existuje, ale nemá přístup pro čtení, přidáte přístup pro čtení.

Skript PowerShellu by vypadal nějak takto:

$shareExists = $false
$smbShare = Get-SmbShare -Name $Name -ErrorAction SilentlyContinue
if($smbShare -ne $null)
{
    Write-Verbose -Message "Share with name $Name exists"
    $shareExists = $true
}

if ($shareExists -eq $false)
{
    Write-Verbose "Creating share $Name to ensure it is Present"
    New-SmbShare @psboundparameters
}
else
{
    # Need to call either Set-SmbShare or *ShareAccess cmdlets
    if ($psboundparameters.ContainsKey("ChangeAccess"))
    {
       #...etc., etc., etc
    }
}

Jiné zvláštní případy, na které jste nebrali v úvahu, mohou vyjít najevo pouze v případě, že dojde k problémům. DSC zpracovává neočekávané případy automaticky. Pomocí DSC popíšete výsledek, nikoli proces, abyste dosáhli výsledku.

Následující fragment kódu DSC ukazuje příklad:

Configuration Create_Share
{
   Import-DscResource -Module xSmbShare
   # A node describes the VM to be configured

   Node $NodeName
   {
      # A node definition contains one or more resource blocks
      # A resource block describes the resource to be configured on the node
      xSmbShare MySMBShare
      {
          Ensure      = "Present"
          Name        = "MyFileShare"
          Path        = "C:\Shared"
          ReadAccess  = "User1"
          FullAccess  = "User2"
          Description = "This is an updated description for this share"
      }
   }
}

Předchozí příklad používá modul xSmbShare, který DSC informuje, , jak zkontrolovat stav sdílené složky. DSC Resource Kit obsahuje více než 100 modulů, včetně jednoho pro instalaci webu na IIS. Odkaz na sadu nástrojů DSC najdete v souhrnné lekci na konci tohoto modulu.

Další informace o struktuře kódu DSC PowerShellu najdete v další lekci.

Co je LCM?

Místní správce konfigurace (LCM) je součástí rozhraní WMF (Windows Management Framework) v operačním systému Windows. LCM zodpovídá za aktualizaci stavu uzlu, jako je virtuální počítač, aby odpovídal požadovanému stavu. Při každém spuštění LCM provede následující kroky:

  1. Získá: Získá aktuální stav uzlu.
  2. Testovací: Porovná aktuální stav uzlu s požadovaným stavem pomocí zkompilovaného skriptu DSC (soubor .mof).
  3. Nastavit: Aktualizuje uzel tak, aby odpovídal požadovanému stavu popsanému v souboru .mof.

LCM nakonfigurujete při registraci virtuálního počítače ve službě Azure Automation.

Architektury nabízení a vyžádání změn v DSC

LCM na každém uzlu může fungovat ve dvou režimech.

  • režim předávání: Správce ručně odesílá, nebo předává, konfigurace do jednoho nebo více uzlů. LCM zajišťuje, aby stav na každém uzlu odpovídal konfiguraci, kterou určuje.

    Diagram znázorňující push architekturu v DSC

  • režim vyžádání: Pull server obsahuje informace o konfiguraci. LCM na každém uzlu dotazuje server pro stahování v pravidelných intervalech (ve výchozím nastavení každých 15 minut), aby získal nejnovější podrobnosti o konfiguraci. Tyto žádosti jsou označené jako krok 1 v následujícím diagramu. Ve kroku 2 server pull odešle podrobnosti o všech změnách konfigurace zpět do každého uzlu.

    V režimu stahování musí být každý uzel zaregistrovaný ve službě stahování.

    Diagram znázorňující architekturu Pull v DSC

Oba režimy mají výhody:

  • Režim push je snadné nastavit. Nepotřebuje vlastní vyhrazenou infrastrukturu a může běžet na přenosném počítači. Push režim je užitečný pro testování funkčnosti DSC. Můžete také použít push režim k nasazení nově naobrazovaného počítače do požadovaného základního stavu.
  • Režim pull je užitečný v podnikovém nasazení, které zahrnuje velký počet počítačů. LCM pravidelně dotazuje pull server a zajišťuje, že uzly jsou v požadovaném stavu. Pokud externí nástroj nebo tým použije opravy hotfix, které vedou k posunu konfigurace na jednotlivých počítačích, tyto počítače se rychle vrátí zpět v souladu s konfigurací, kterou jste nastavili. Tento proces vám může pomoct dosáhnout stavu nepřetržitého dodržování předpisů pro vaše bezpečnostní a regulační povinnosti.

Podporované platformy a operační systémy

Azure Automation DSC podporuje Azure Cloud Services a další poskytovatelé cloudu, vaši místní infrastrukturu nebo hybridní prostředí.

Azure Automation DSC podporuje následující operační systémy:

  • Windows
    • Server 2022
    • Server 2019
    • Server 2016
    • Server 2012 R2
    • Server 2012
    • Server 2008 R2 SP1
    • 11
    • 10
    • 8.1
    • 7
  • Linux
    • Rozšíření DSC Linux podporuje všechny linuxové distribuce uvedené v dokumentaci PowerShell DSC.

PowerShell DSC je nainstalovaný na všech počítačích s Linuxem, které Azure Automation DSC podporuje.

Požadavky DSC pro Windows

Pro počítače s Windows rozšíření virtuálního počítače Azure Desired State Configuration (DSC) používá WMF ke správě verzí funkcí Windows, jako je Windows PowerShell DSC a Vzdálená správa Windows (WinRM). Azure DSC podporuje WMF 4.0 a novější, takže počítače s Windows musí používat Windows Server 2008 R2 SP1, Windows 7 nebo novější.

Při prvním zavolání rozšíření Azure DSC nainstaluje verzi WMF kompatibilní s operačním systémem na všechny verze Windows s výjimkou Windows Serveru 2016 a novějšího. Windows Server 2016 a novější verze už mají nainstalovanou nejnovější verzi WMF. Po instalaci WMF vyžaduje počítač restartování.

WinRM je povolené na uzlech počítače se systémem Windows Server 2012 nebo novějším a Windows 7 nebo novějším.

Podpora proxy serveru pro agenta DSC je dostupná v buildech Windows 1809 a novějších. Podpora proxy serveru není v DSC k dispozici pro předchozí verze Windows.

Další požadavky DSC

Pokud jsou uzly umístěné v privátní síti, potřebuje DSC pro komunikaci se službou Azure Automation následující port a adresy URL:

  • port: Pro odchozí přístup k internetu se vyžaduje pouze protokol TCP 443.
  • globální adresa URL: *.azure-automation.net
  • Globální URL US Gov Virginia: *.azure-automation.us
  • Agentní služba: https://<workspaceId>.agentsvc.azure-automation.net

Kontrola znalostí

1.

Co je Azure Automation State Configuration?

2.

Skript PowerShell DSC ______________.

3.

Proč byste pro DSC měli místo režimu push použít režim pull?