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:

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:

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:

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:

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:

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:

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:

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:

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:

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.