Použití nástrojů pro automatizaci infrastruktury s virtuálními počítači v Azure

Platí pro: ✔️ Virtuální počítače s Windows s Linuxem ✔️ ✔️ – Flexibilní škálovací sady Uniform Scale Sets ✔️

Pokud chcete vytvářet a spravovat virtuální počítače Azure konzistentním způsobem ve velkém, je obvykle požadovaná určitá forma automatizace. Existuje mnoho nástrojů a řešení, které umožňují automatizovat kompletní životní cyklus nasazení a správy infrastruktury Azure. Tento článek představuje některé nástroje pro automatizaci infrastruktury, které můžete použít v Azure. Tyto nástroje se běžně hodí k jednomu z následujících přístupů:

  • Automatizace konfigurace virtuálních počítačů

  • Automatizace správy infrastruktury

    • Mezi nástroje patří Packer pro automatizaci vlastních sestavení imagí virtuálních počítačů a Terraform pro automatizaci procesu sestavení infrastruktury.
    • Azure Automation může provádět akce napříč vaší infrastrukturou a místní infrastrukturou.
  • Automatizace nasazení a doručování aplikací

Terraform

Terraform je automatizační nástroj, který umožňuje definovat a vytvořit celou infrastrukturu Azure pomocí jednoho jazyka formátu šablony – HCL (HashiCorp Configuration Language). Pomocí Terraformu definujete šablony, které automatizují proces vytváření prostředků sítě, úložiště a virtuálních počítačů pro dané řešení aplikací. Pomocí existujících šablon Terraformu pro jiné platformy s Azure můžete zajistit konzistenci a zjednodušit nasazení infrastruktury, aniž byste museli převést na šablonu Azure Resource Manageru.

Naučte se:

Azure Automation

Azure Automation používá runbooky ke zpracování sady úloh na virtuálních počítačích, na které cílíte. Azure Automation se používá ke správě existujících virtuálních počítačů místo k vytvoření infrastruktury. Azure Automation může běžet na virtuálních počítačích s Linuxem a Windows i na místních virtuálních nebo fyzických počítačích s hybridním pracovním procesem runbooku. Runbooky je možné ukládat v úložišti správy zdrojového kódu, jako je GitHub. Tyto runbooky se pak můžou spouštět ručně nebo podle definovaného plánu.

Azure Automation také poskytuje službu DSC (Desired State Configuration), která umožňuje vytvářet definice pro způsob konfigurace dané sady virtuálních počítačů. DSC pak zajistí, že se použije požadovaná konfigurace a virtuální počítač zůstane konzistentní. Azure Automation DSC běží na počítačích s Windows i Linuxem.

Naučte se:

Služby Azure DevOps

Azure DevOps Services je sada nástrojů, které vám pomůžou sdílet a sledovat kód, používat automatizované buildy a vytvářet kompletní kanál kontinuální integrace a vývoje (CI/CD). Azure DevOps Services se integruje se sadou Visual Studio a dalšími editory, aby se zjednodušilo používání. Azure DevOps Services může také vytvářet a konfigurovat virtuální počítače Azure a pak do nich nasazovat kód.

Přečtěte si další informace:

Šablona Azure Resource Manageru

Azure Resource Manager je služba pro nasazení a správu Pro Azure. Poskytuje vrstvu správy, která umožňuje vytvářet, aktualizovat a odstraňovat prostředky ve vašem předplatném Azure. Pomocí funkcí správy, jako jsou řízení přístupu, zámky a značky, můžete zabezpečit a organizovat prostředky po nasazení.

Naučte se:

Bicep

Bicep je jazyk specifický pro doménu (DSL), který k nasazování prostředků Azure používá deklarativní syntaxi. V souboru Bicep definujete infrastrukturu, kterou chcete nasadit do Azure, a pak tento soubor použijete v průběhu životního cyklu vývoje k opakovanému nasazení infrastruktury. Vaše prostředky se nasazují konzistentním způsobem.

Začínáme s rychlým startem

Cloud-init

Cloud-init je široce využívaným přístupem k přizpůsobení virtuálního počítače s Linuxem při jeho prvním spuštění. Pomocí cloud-init můžete instalovat balíčky a zapisovat soubory nebo konfigurovat uživatele a zabezpečení. Vzhledem k tomu, že se cloud-init volá během počátečního procesu spouštění, nejsou k dispozici žádné další kroky ani požadované agenty pro použití vaší konfigurace. Další informace o správném formátování #cloud-config souborů najdete na webu dokumentace ke cloud-init. #cloud-config soubory jsou textové soubory kódované v base64.

Cloud-init navíc funguje v různých distribucích. K instalaci balíčku tak například nepoužijete apt-get install ani yum install. Místo toho můžete definovat seznam balíčků pro instalaci. Cloud-init automaticky použije nativní nástroj pro správu balíčků pro zvolenou distribuci.

Aktivně spolupracujeme s našimi doporučenými partnery pro distribuce Linuxu, abychom měli k dispozici image s podporou cloudu na Azure Marketplace. Díky těmto imagím budou vaše nasazení a konfigurace cloud-init bez problémů fungovat s virtuálními počítači a škálovacími sadami virtuálních počítačů. Další informace o cloud-initu v Azure:

PowerShell DSC

PowerShell Desired State Configuration (DSC) je platforma pro správu, která definuje konfiguraci cílových počítačů. DSC lze také použít v Linuxu prostřednictvím serveru OMI (Open Management Infrastructure).

Konfigurace DSC definují, co se má nainstalovat na počítač a jak nakonfigurovat hostitele. Modul místního nástroje Configuration Manager (LCM) běží na každém cílovém uzlu, který zpracovává požadované akce na základě nabízených konfigurací. Server vyžádané replikace je webová služba, která běží na centrálním hostiteli pro ukládání konfigurací DSC a přidružených prostředků. Server vyžádané replikace komunikuje s modulem LCM na každém cílovém hostiteli, aby poskytoval požadované konfigurace a hlásil dodržování předpisů.

Naučte se:

Rozšíření Azure Custom Script

Rozšíření vlastních skriptů Azure pro Linux nebo Windows stáhne a spustí skripty na virtuálních počítačích Azure. Rozšíření můžete použít při vytváření virtuálního počítače nebo kdykoli po použití virtuálního počítače.

Skripty je možné stáhnout z úložiště Azure nebo z libovolného veřejného umístění, jako je úložiště GitHub. Pomocí rozšíření vlastních skriptů můžete psát skripty v libovolném jazyce, který běží na zdrojovém virtuálním počítači. Tyto skripty je možné použít k instalaci aplikací nebo konfiguraci virtuálního počítače podle potřeby. K zabezpečení přihlašovacích údajů je možné citlivé informace, jako jsou hesla, ukládat v chráněné konfiguraci. Tyto přihlašovací údaje se dešifrují jenom uvnitř virtuálního počítače.

Naučte se:

Ansible

Ansible je automatizační modul pro správu konfigurace, vytvoření virtuálního počítače nebo nasazení aplikace. Ansible používá model bez agenta, obvykle s klíči SSH, k ověřování a správě cílových počítačů. Úlohy konfigurace jsou definovány v playbookech s několika moduly Ansible, které jsou k dispozici pro provádění konkrétních úloh. Další informace naleznete v tématu Jak Ansible funguje.

Naučte se:

Chef

Chef je automatizační platforma, která pomáhá definovat, jak je vaše infrastruktura nakonfigurovaná, nasazená a spravovaná. Mezi některé komponenty patří Chef Habitat pro automatizaci životního cyklu aplikací místo infrastruktury a Chef InSpec, který pomáhá automatizovat dodržování požadavků na zabezpečení a zásady. Klienti Chefu se instalují na cílové počítače s jedním nebo několika centrálními servery Chef, které ukládají a spravují konfigurace. Další informace najdete v tématu Přehled Chefu.

Naučte se:

Puppet

Puppet je podniková automatizační platforma, která zpracovává proces doručování a nasazování aplikací. Agenti se instalují na cílové počítače, aby bylo možné spustit manifesty Puppet Master, které definují požadovanou konfiguraci infrastruktury Azure a virtuálních počítačů. Puppet se může integrovat s dalšími řešeními, jako je Jenkins a GitHub, a získat tak vylepšený pracovní postup DevOps. Další informace najdete v tématu Jak Puppet funguje.

Naučte se:

Packer

Packer automatizuje proces sestavení při vytváření vlastní image virtuálního počítače v Azure. Packer slouží k definování operačního systému a spouštění skriptů po konfiguraci, které přizpůsobí virtuální počítač vašim konkrétním potřebám. Po nakonfigurování se pak virtuální počítač zachytí jako image spravovaného disku. Packer automatizuje proces vytvoření zdrojového virtuálního počítače, prostředků sítě a úložiště, spuštění konfiguračních skriptů a následné vytvoření image virtuálního počítače.

Naučte se:

Jenkins

Jenkins je server kontinuální integrace, který pomáhá nasazovat a testovat aplikace a vytvářet automatizované kanály pro doručování kódu. Existují stovky modulů plug-in, které rozšiřují základní platformu Jenkinse a můžete se také integrovat s mnoha dalšími produkty a řešeními prostřednictvím webhooků. Jenkinse můžete ručně nainstalovat na virtuální počítač Azure, spustit Jenkinse z kontejneru Dockeru nebo použít předem vytvořenou image Azure Marketplace.

Naučte se:

Další kroky

Existuje mnoho různých možností použití nástrojů pro automatizaci infrastruktury v Azure. Máte svobodu používat řešení, které nejlépe vyhovuje vašim potřebám a prostředí. Pokud chcete začít a vyzkoušet některé integrované nástroje v Azure, podívejte se, jak automatizovat přizpůsobení virtuálního počítače s Linuxem nebo Windows.