Mi az Azure Automation State Configuration?

Befejeződött

Az Azure Automation State Configuration használatával biztosíthatja, hogy a fürtterület virtuális gépei (virtuális gépei) konzisztens állapotban legyenek, ugyanazokkal a szoftverekkel és ugyanazokkal a konfigurációkkal.

Ebben a leckében megismerheti az Azure Automation funkcióit és képességeit, áttekintheti a PowerShell Desired State Configuration (DSC) deklaratív modelljét, és megismerheti annak előnyeit.

Az Azure Automation State Configuration a PowerShellre épülő Azure-szolgáltatás. Lehetővé teszi az erőforrások konzisztens üzembe helyezését, megbízható monitorozását és automatikus frissítését. Az Azure Automation biztosítja a konfigurációk definiálásához és azok valós vagy virtuális gépekre való alkalmazásához szükséges eszközöket.

Miért érdemes az Azure Automation State Configurationt használni?

A szolgáltatásokat futtató kiszolgálók helyes és konzisztens konfigurációjának manuális karbantartása nehéz és hibalehetőséget jelenthet. Az Azure Automation State Configuration a PowerShell DSC használatával segíti ezeknek a problémáknak a megoldását. Központilag kezeli a DSC-összetevőket és a DSC-folyamatot.

Az Azure Automation State Configuration beépített lekérési kiszolgálóval rendelkezik. Célként jelölheti ki a csomópontokat, hogy automatikusan megkapják a konfigurációkat erről a lekérési kiszolgálóról, elérjék a célállapotot, és visszajelezzenek a megfelelőségükről. Célként adhat meg virtuális vagy fizikai, Windows vagy Linux rendszerű virtuális gépeket a felhőben vagy a helyszínen is.

Az Azure Monitor-naplók használatával áttekintheti a csomópontok megfelelőségét, ha konfigurálja az Azure Automation State Configurationt az adatok elküldéséhez.

Mi a PowerShell DSC?

A PowerShell DSC egy deklaratív felügyeleti platform, amelyet az Azure Automation State Configuration a rendszerek konfigurálásához, üzembe helyezéséhez és szabályozásához használ. A deklaratív programozási nyelv elválasztja a szándékot (a kívánt műveletet) a végrehajtástól (a végrehajtás módjától). Önnek csak azt kell megadnia, hogy milyen legyen a célállapot, a többit pedig a DSC-re bízhatja. Nem kell tudnia, hogy hogyan valósítható meg vagy helyezhető üzembe egy funkció, ha elérhető egy DSC-erőforrás. Ehelyett az üzembehelyezési struktúrára összpontosíthat.

Ha már használja a PowerShellt, akkor felmerülhet a kérdés Önben, hogy miért van szüksége a DSC-re. Gondolja át a következő példát.

He megosztást szeretne létrehozni egy Windows-kiszolgálón, használhatja az alábbi PowerShell-parancsot:

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

Ez a szkript egyszerű és könnyen érthető. Ha azonban éles környezetben használja ezt a szkriptet, számos probléma merül fel. Gondolja át, mi történhet, ha a szkript többször fut, vagy ha User2 már rendelkezik teljes hozzáféréssel a csak olvasható hozzáférés helyett.

Ez a megközelítés nem idempotens. Idempotens műveletnek azt nevezzük, amely ugyanazzal a hatással jár egyszer futtatva, mintha 10 001-szer futtatnánk. Az Idempotenciát a PowerShellben logika és hibakezelés hozzáadásával érhetnénk el. Ha a fájlmegosztás nem létezik, akkor létre kell hoznia. Ha a megosztás létezik, nem kell létrehoznia. Ha a User2 létezik, de nem rendelkezik olvasási jogosultsággal, akkor olvasási jogosultságot kell adni neki.

A PowerShell-szkript az alábbihoz hasonló lehetne:

$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
    }
}

Más esetek, melyeket nem fontoltunk meg, csak problémák esetén jelentkeznek majd. A DSC automatikusan kezeli a váratlan eseteket is. A DSC-vel a végeredményt írhatja le, nem pedig azt a folyamatot, amellyel ez a végeredmény elérhető.

Erre mutat példát az alábbi DSC-kódrészlet:

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"
      }
   }
}

Az előző példa a modult xSmbShare használja, amely megmutatja a DSC-nek , hogyan ellenőrizheti egy fájlmegosztás állapotát. A DSC-erőforráskészlet több mint 100 erőforrásmodullal rendelkezik, köztük egy IIS-webhely telepítéséhez. A DSC-erőforráskészletre mutató hivatkozást a modul végén található Összegző egységben találja.

A következő leckében többet is megtudhat a PowerShell DSC-kódstruktúrájáról.

Mi az az LCM?

A helyi konfigurációkezelő (LCM) a Windows operációs rendszeren futó Windows Management Framework (WMF) összetevője. Az LCM felel azért, hogy a csomópontok, például virtuális gépek állapota a célállapottal egyezőre legyen frissítve. Az LCM minden futtatásakor végrehajtja az alábbi lépéseket:

  1. Lekérés: Lekéri a csomópont aktuális állapotát.
  2. Teszt: Egy csomópont aktuális állapotát hasonlítja össze a kívánt állapottal egy lefordított DSC-szkript (.mof fájl) használatával.
  3. Beállítás: Frissítések a csomópontot, hogy megfeleljen a .mof fájlban leírt kívánt állapotnak.

A virtuális gépek Azure Automationben való regisztrálásakor konfigurálja az LCM-et.

A DSC-n belüli leküldéses/lekéréses architektúrák

Az LCM minden csomóponton kétféle mód egyikében működhet.

  • Leküldéses mód: A rendszergazda manuálisan küldi vagy leküldi a konfigurációkat egy vagy több csomópontra. Az LCM biztosítja, hogy minden csomópont állapota megegyezzen a konfigurációban megadottal.

    Leküldéses architektúrát bemutató diagram a DSC-ben.

  • Lekéréses mód: A lekéréses kiszolgáló tárolja a konfigurációs adatokat. Az egyes csomópontokon található LCM rendszeres időközönként – alapértelmezés szerint 15 percenként – lekérdezi a lekéréses kiszolgálót a legújabb konfigurációs adatok lekéréséhez. Ezek a kérések az alábbi diagram 1. lépéseként vannak jelölve. A 2. lépésben a lekéréses kiszolgáló elküldi a konfigurációs módosítások részleteit az egyes csomópontok számára.

    Lekéréses módban minden csomópontnak regisztrálva kell lennie a lekérési szolgáltatásban.

    Egy lekéréses architektúrát bemutató diagram a DSC-ben.

Mindkét módnak vannak előnyei:

  • A leküldéses mód egyszerűen beállítható. Nem igényel saját dedikált infrastruktúrát, és egy laptopon is futtatható. A leküldéses mód segít a DSC működésének tesztelésében. A leküldéses mód arra is használható, hogy egy lemezképből készített új gépet a cél-alapállapotba hozzon.
  • A lekéréses mód akkor hasznos, ha egy sok gépből álló nagyvállalati rendszert üzemeltet. Az LCM rendszeresen lekérdezi a lekérési kiszolgálót, és ellenőrzi, hogy a csomópontok a célállapotban vannak-e. A külső eszközök vagy csapatok által alkalmazott gyorsjavítások, amelyek az egyes gépek konfigurációinak eltéréséhez vezethetnek, gyorsan egységesíthetők az Ön által beállított konfigurációval. Ez a folyamat segíthet a biztonsági és jogszabályi kötelezettségeknek való folyamatos megfelelőség elérésében.

Támogatott platformok és operációs rendszerek

Az Azure Automation DSC-t támogatja az Azure Cloud és más felhőszolgáltatók, a helyszíni infrastruktúra, vagy egy ezekre a környezetekre kiterjedő hibrid kombináció.

Az Azure Automation DSC az alábbi operációs rendszereket támogatja:

  • Windows
    • Server 2022
    • Server 2019
    • Server 2016
    • Server 2012 R2
    • Server 2012
    • Server 2008 R2 SP1
    • 11
    • 10
    • 8.1
    • 7
  • Linux
    • A DSC Linux-bővítmény támogatja a PowerShell DSC dokumentációjában felsorolt összes Linux-disztribúciót.

A PowerShell DSC minden Linux-gépen telepítve van, amelyet az Azure Automation DSC támogat.

A DSC követelményei Windows rendszeren

Windows rendszerű gépek esetén az Azure Desired State Configuration (DSC) virtuálisgép-bővítmény a WMF használatával kezeli a Windows olyan funkcióit, mint a Windows PowerShell DSC és a Windows Remote Management (WinRM). Az Azure DSC támogatja a WMF 4.0-s és újabb verzióit, így a Windows rendszerű gépeknek Windows Server 2008 R2 SP1, Windows 7 vagy újabb rendszert kell futtatniuk.

Az Azure DSC-bővítmény az első hívásakor telepíti a WMF-nek az operációs rendszerrel kompatibilis verzióját a Windows összes verziójára, kivéve a Windows Server 2016-os és az újabb verzióit. A Windows Server 2016-os és újabb verzióiban már telepítve van a WMF legújabb verziója. A WMF telepítése után a gép újraindítást igényel.

A WinRM engedélyezve van a Windows Server 2012 vagy újabb rendszert futtató gépcsomópontokon, valamint a Windows 7 vagy újabb rendszereken.

A DSC-ügynök proxy-támogatása a Windows 1809-es és újabb buildjeiben érhető el. A DSC-beli proxy-támogatás a Windows korábbi verzióihoz nem érhető el.

Egyéb DSC-követelmények

Ha a csomópontok privát hálózatban helyezkednek el, akkor DSC-nek az alábbi portra és URL-címekre van szüksége az Automation szolgáltatással való kommunikációhoz:

  • Port: Csak a TCP 443 szükséges a kimenő internet-hozzáféréshez
  • Globális URL-cím: *.azure-automation.net
  • Az US Gov Virginia globális URL-címe: *.azure-automation.us
  • Ügynökszolgáltatás: https://<workspaceId>.agentsvc.azure-automation.net

Tesztelje tudását

1.

Mi az Azure Automation State Configuration?

2.

A PowerShell DSC-szkript __________________.

3.

Miért érdemes lekéréses módot használni leküldéses mód helyett a DSC-vel?