Använda verktyg för infrastrukturautomatisering med virtuella datorer i Azure
Gäller för: ✔️ Virtuella Linux-datorer:heavy_check_mark: Windows virtuella datorer:heavy_check_mark: Flexibla skalningsuppsättningar:heavy_check_mark: Enhetliga skalningsuppsättningar
Om du vill skapa och hantera virtuella Azure-datorer på ett konsekvent sätt i stor skala, är det vanligt att någon form av automatisering önskas. Det finns många verktyg och lösningar som gör att du kan automatisera hela livscykeln för distribution och hantering av Azure-infrastruktur. Den här artikeln beskriver några av de verktyg för infrastrukturautomatisering som du kan använda i Azure. De här verktygen passar ofta in på någon av följande metoder:
Automatisera konfigurationen av virtuella datorer
- Bland verktygen finns Ansible, Chef, Puppet Azure Resource Manager mall.
- Exempel på verktyg som är specifika för anpassning av virtuella datorer är cloud-init för virtuella Linux-datorer, PowerShell Desired State Configuration (DSC)och Azure-tillägget för anpassat skript för alla virtuella Azure-datorer.
Automatisera infrastrukturhantering
- Verktygen omfattar Packer för att automatisera anpassade VM-avbildningsbyggen och Terraform för att automatisera infrastrukturbyggprocessen.
- Azure Automation kan utföra åtgärder i azure-infrastrukturen och den lokala infrastrukturen.
Automatisera programdistribution och leverans
- Exempel är Azure DevOps Services och Jenkins.
Ansible
Ansible är en automatiseringsmotor för konfigurationshantering, skapande av virtuella datorer eller programdistribution. Ansible använder en agentfri modell, vanligtvis med SSH-nycklar, för att autentisera och hantera måldatorer. Konfigurationsuppgifter definieras i spelböcker, med ett antal Ansible-moduler tillgängliga för att utföra specifika uppgifter. Mer information finns i Så här fungerar Ansible.
Lär dig att:
- Installera och konfigurera Ansible på Linux för användning med Azure.
- Skapa en virtuell Linux-dator.
- Hantera en virtuell Linux-dator.
Chef
Chef är en automatiseringsplattform som hjälper dig att definiera hur din infrastruktur konfigureras, distribueras och hanteras. Ytterligare komponenter inkluderade Chef Habitat för automatisering av programlivscykeln i stället för infrastrukturen och Chef InSpec som hjälper till att automatisera efterlevnaden av säkerhets- och principkrav. Chef-klienter installeras på måldatorer med en eller flera centrala Chef-servrar som lagrar och hanterar konfigurationerna. Mer information finns i En översikt över Chef.
Lär dig att:
- Distribuera Chef Automate från Azure Marketplace.
- Installera Chef på Windows och skapa virtuella Azure-datorer.
Puppet
Puppet är en företagsklar automatiseringsplattform som hanterar processen för programleverans och -distribution. Agenter installeras på måldatorerna så att Puppet Master kan köra manifest som definierar önskad konfiguration av Azure-infrastrukturen och virtuella datorer. Puppet kan integreras med andra lösningar som Jenkins och GitHub för ett förbättrat DevOps-arbetsflöde. Mer information finns i Så här fungerar Puppet.
Lär dig att:
Cloud-init
Cloud-init är ett vanligt sätt att anpassa en virtuell Linux-dator när den startas för första gången. Du kan använda cloud-init till att installera paket och skriva filer eller för att konfigurera användare och säkerhet. Eftersom cloud-init anropas under den inledande startprocessen finns det inga ytterligare steg eller nödvändiga agenter för att tillämpa konfigurationen. Mer information om hur du formaterar filerna #cloud-config korrekt finns på dokumentationswebbplatsen för cloud-init. #cloud-config -filer är textfiler kodade i base64.
Cloud-init fungerar med olika distributioner. Du använder till exempel inte apt-get install eller yum install när du vill installera ett paket. I stället definierar du en lista med paket att installera. Cloud-init använder automatiskt rätt pakethanteringsverktyg för den distribution du valt.
Vi arbetar aktivt med våra godkända Linux-distributionpartner för att få cloud-init-aktiverade avbildningar tillgängliga i Azure Marketplace. Dessa avbildningar gör att dina cloud-init-distributioner och konfigurationer fungerar sömlöst med virtuella datorer och VM-skalningsuppsättningar. Läs mer om cloud-init på Azure:
- Cloud-init-stöd för virtuella Linux-datorer i Azure
- Prova en självstudie om automatisk VM-konfiguration med hjälp av cloud-init.
PowerShell DSC
PowerShell Desired State Configuration (DSC) är en hanteringsplattform för att definiera konfigurationen av måldatorer. DSC kan också användas på Linux via OMI-servern (Open Management Infrastructure).
DSC-konfigurationer definierar vad som ska installeras på en dator och hur värden ska konfigureras. En LCM Konfigurationshanteraren motor (Local Konfigurationshanteraren) körs på varje målnod som bearbetar begärda åtgärder baserat på push-konfigurationer. En pull-server är en webbtjänst som körs på en central värd för att lagra DSC-konfigurationerna och tillhörande resurser. Pull-servern kommunicerar med LCM-motorn på varje målvärd för att tillhandahålla nödvändiga konfigurationer och rapportera om kompatibilitet.
Lär dig att:
Anpassade Azure-skripttillägg
Tillägget för anpassat skript i Azure för Linux Windows hämtar och kör skript på virtuella Azure-datorer. Du kan använda tillägget när du skapar en virtuell dator eller när som helst efter att den virtuella datorn används.
Skript kan laddas ned från Azure Storage eller någon offentlig plats, till exempel en GitHub lagringsplats. Med tillägget för anpassat skript kan du skriva skript på alla språk som körs på den virtuella källdatorn. Dessa skript kan användas för att installera program eller konfigurera den virtuella datorn efter behov. För att skydda autentiseringsuppgifter kan känslig information, till exempel lösenord, lagras i en skyddad konfiguration. Dessa autentiseringsuppgifter dekrypteras bara i den virtuella datorn.
Lär dig att:
- Skapa en virtuell Linux-dator med Azure CLI och använd det anpassade skripttillägget.
- Skapa en Windows virtuell dator med Azure PowerShell och använd det anpassade skripttillägget.
Packer
Packer automatiserar byggprocessen när du skapar en anpassad virtuell datoravbildning i Azure. Du använder Packer för att definiera operativsystemet och köra skript efter konfigurationen som anpassar den virtuella datorn efter dina specifika behov. När den virtuella datorn har konfigurerats avbildas den som en hanterad diskavbildning. Packer automatiserar processen med att skapa den virtuella källdatorn, nätverket och lagringsresurserna, köra konfigurationsskript och sedan skapa VM-avbildningen.
Lär dig att:
- Använd Packer för att skapa en virtuell Linux-datoravbildning i Azure.
- Använd Packer för att skapa en Windows virtuell datoravbildning i Azure.
Terraform
Terraform är ett automatiseringsverktyg som gör att du kan definiera och skapa en hel Azure-infrastruktur med ett enda mallformatspråk – HashiCorp Configuration Language (HCL). Med Terraform definierar du mallar som automatiserar processen för att skapa nätverks-, lagrings- och VM-resurser för en viss programlösning. Du kan använda dina befintliga Terraform-mallar för andra plattformar med Azure för att säkerställa konsekvens och förenkla infrastrukturdistributionen utan att behöva konvertera till en Azure Resource Manager mall.
Lär dig att:
Azure Automation
Azure Automation använder runbooks för att bearbeta en uppsättning uppgifter på de virtuella datorer som du riktar in dig på. Azure Automation används för att hantera befintliga virtuella datorer i stället för att skapa en infrastruktur. Azure Automation kan köras på både Linux och Windows virtuella datorer, samt lokala virtuella eller fysiska datorer med en Hybrid Runbook Worker. Runbooks kan lagras på en lagringsplats för källkontroll, till exempel GitHub. Dessa runbooks kan sedan köras manuellt eller enligt ett definierat schema.
Azure Automation också en Desired State Configuration -tjänst (DSC) som gör att du kan skapa definitioner för hur en viss uppsättning virtuella datorer ska konfigureras. DSC ser sedan till att den nödvändiga konfigurationen tillämpas och att den virtuella datorn förblir konsekvent. Azure Automation DSC körs på både Windows- och Linux-datorer.
Lär dig att:
- Skapa en PowerShell-runbook.
- Använd Hybrid Runbook Worker för att hantera lokala resurser.
- Använd Azure Automation DSC.
Azure DevOps Services
Azure DevOps Services är en uppsättning verktyg som hjälper dig att dela och spåra kod, använda automatiserade byggen och skapa en fullständig CI/CD-pipeline (kontinuerlig integrering och utveckling). Azure DevOps Services integreras med Visual Studio och andra redigeringsprogram för att förenkla användningen. Azure DevOps Services kan också skapa och konfigurera virtuella Azure-datorer och sedan distribuera kod till dem.
Läs mer om:
Jenkins
Jenkins är en server för kontinuerlig integrering som hjälper till att distribuera och testa program och skapa automatiserade pipelines för kodleverans. Det finns hundratals plugin-program som utökar Jenkins-kärnplattformen, och du kan också integrera med många andra produkter och lösningar via webhooks. Du kan installera Jenkins manuellt på en virtuell Azure-dator, köra Jenkins inifrån en Docker-container eller använda en förbyggd Azure Marketplace avbildning.
Lär dig att:
- Skapa en utvecklingsinfrastruktur på en virtuell Linux-dator i Azure med Jenkins, GitHub och Docker.
Azure Resource Manager-mall
Azure Resource Manager är distributions- och hanteringstjänsten för Azure. Det tillhandahåller ett hanteringslager som gör att du kan skapa, uppdatera och ta bort resurser i din Azure-prenumeration. Du kan använda hanteringsfunktioner som åtkomstkontroll, lås och taggar till att skydda och organisera dina resurser efter distributionen.
Lär dig att:
- Distribuera virtuella spot-datorer med en Resource Manager mall.
- Skapa en Windows virtuell dator från en Resource Manager mall.
- Ladda ned mallen för en virtuell dator.
- Skapa en Azure Image Builder mall.
Nästa steg
Det finns många olika alternativ för att använda automatiseringsverktyg för infrastruktur i Azure. Du har friheten att använda den lösning som bäst passar dina behov och din miljö. Om du vill komma igång och prova några av verktygen som är inbyggda i Azure kan du se hur du automatiserar anpassningen av en Linux- eller Windows virtuell dator.