Mi az Azure Automation állapotkonfigurációja?

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 egy 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 eszközöket biztosít a konfigurációk meghatározásához és valós és virtuális gépekre való alkalmazásához.

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ít a kihívások megoldásában. Központilag kezeli a DSC-összetevőket és a DSC-folyamatot.

Az Azure Automation State Configuration beépített lekéréses kiszolgálóval rendelkezik. Megcélzhatja a csomópontokat, hogy automatikusan fogadják a konfigurációkat erről a lekéréses kiszolgálóról, megfeleljenek a kívánt állapotnak, és jelentést készíthessenek a megfelelőségükről. Virtuális vagy fizikai Windows- vagy Linux-gépeket célozhat meg a felhőben vagy a helyszínen.

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 az a PowerShell DSC?

A PowerShell DSC egy deklaratív felügyeleti platform, amelyet az Azure Automation State Configuration használ a rendszerek konfigurálásához, üzembe helyezéséhez és vezérléséhez. 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). Adja meg a kívánt állapotot, és hagyja, hogy a DSC végezze el a munkát. Nem kell tudnia, hogyan implementálhat vagy helyezhet üzembe egy funkciót, ha elérhető egy DSC-erőforrás. Ehelyett az üzembehelyezési struktúrára összpontosíthat.

Ha már használja a PowerShellt, felmerülhet a kérdés, hogy miért van szüksége a DSC-re. Consider the following example.

Ha megosztást szeretne létrehozni egy Windows-kiszolgálón, használhatja ezt a 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. Az idempotencia olyan műveletet ír le, amelynek ugyanaz a hatása, akár egyszer, akár 10 001 alkalommal futtatja. Az idempotencia PowerShellben való eléréséhez logikát és hibakezelést kell hozzáadnia. Ha a fájlmegosztás nem létezik, akkor létre kell hoznia. Ha a megosztás létezik, nem kell létrehozni. Ha User2 létezik, de nem rendelkezik olvasási hozzáféréssel, olvasási hozzáférést adhat hozzá.

A PowerShell-szkript a következőképpen nézne ki:

$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 különleges esetek, amelyeket nem vett figyelembe, csak akkor merülhetnek fel, ha problémák merülnek fel. A DSC automatikusan kezeli a váratlan eseteket. A DSC-vel az eredményt kell leírnia, nem pedig az eredmény elérésének folyamatát.

A következő DSC-kódrészlet egy példát mutat be:

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 LCM?

A helyi konfigurációkezelő (LCM) a Windows operációs rendszeren futó Windows Management Framework (WMF) összetevője. Az LCM feladata, hogy a kívánt állapotnak megfelelően frissítse a csomópont állapotát, például egy virtuális gépet. Az LCM minden futtatásakor végrehajtja a következő 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.

Leküldéses és lekéréses architektúrák a DSC-ben

Az egyes csomópontok LCM-jének működése két módban lehet.

  • 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 gondoskodik arról, hogy az egyes csomópontok állapota megegyezik a konfiguráció által megadott értékekkel.

    Diagram showing a push architecture in DSC.

  • 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ópontot regisztrálni kell a lekéréses szolgáltatásban.

    Diagram showing a pull architecture in DSC.

Mindkét módnak vannak előnyei:

  • A leküldéses mód egyszerűen beállítható. Nincs szüksége saját dedikált infrastruktúrára, és laptopon is futtatható. A leküldéses mód hasznos a DSC funkcióinak teszteléséhez. Leküldéses móddal is lekérheti az újonnan rendszerképezett gépet az alapkonfiguráció kívánt állapotára.
  • A lekéréses mód nagy számú gépet felölelő vállalati üzemelő példányokban hasznos. Az LCM rendszeresen lekérdezi a lekéréses kiszolgálót, és gondoskodik arról, hogy a csomópontok a kívánt állapotban legyenek. Ha egy külső eszköz vagy csapat olyan gyorsjavításokat alkalmaz, amelyek konfigurációs eltérést okoznak az egyes gépeken, a rendszer gyorsan visszahozza ezeket a gépeket a beállított konfigurációnak megfelelően. Ez a folyamat segíthet a biztonsági és szabályozási kötelezettségek folyamatos betartásának elérésében.

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

Az Azure Automation DSC-t az Azure Cloud Services és más felhőszolgáltatók, a helyszíni infrastruktúra vagy az összes ilyen környezet hibridje támogatja.

Az Azure Automation DSC a következő operációs rendszereket támogatja:

  • Windows
    • 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 Windows DSC követelményei

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 első meghívásakor telepíti a WMF operációsrendszer-kompatibilis verzióját a Windows Server 2016 és újabb verziók kivételével minden Windows-verzióra. 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 proxytámogatása a Windows 1809-ben és újabb verzióiban érhető el. A proxytámogatás nem érhető el a DSC-ben a Windows korábbi verzióihoz.

Egyéb DSC-követelmények

Ha a csomópontok privát hálózaton találhatók, a DSC-nek a következő portokra és URL-címekre van szüksége az Azure Automationnel 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 USA 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 állapotkonfigurációja?

2.

PowerShell DSC-szkript ________________.

3.

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