Hulpprogramma's voor infrastructuurautomatisering gebruiken met virtuele machines in Azure

Van toepassing op: ✔️ Virtuele Linux-machines voor Windows-VM's ✔️ ✔️ Flexibele schaalsets Uniform-schaalsets ✔️

Als u virtuele Azure-machines (VM's) op een consistente manier op schaal wilt maken en beheren, is een bepaalde vorm van automatisering doorgaans gewenst. Er zijn veel hulpprogramma's en oplossingen waarmee u de volledige levenscyclus van de Azure-infrastructuurimplementatie en -beheer kunt automatiseren. In dit artikel worden enkele van de hulpprogramma's voor infrastructuurautomatisering geïntroduceerd die u in Azure kunt gebruiken. Deze hulpprogramma's passen doorgaans op een van de volgende manieren:

Terraform

Terraform is een automatiseringsprogramma waarmee u een volledige Azure-infrastructuur kunt definiëren en maken met één sjabloonindelingstaal: de HashiCorp Configuration Language (HCL). Met Terraform definieert u sjablonen waarmee het proces voor het maken van netwerk-, opslag- en VM-resources voor een bepaalde toepassingsoplossing wordt geautomatiseerd. U kunt uw bestaande Terraform-sjablonen voor andere platforms met Azure gebruiken om consistentie te garanderen en de implementatie van de infrastructuur te vereenvoudigen zonder dat u hoeft te converteren naar een Azure Resource Manager-sjabloon.

Leer hoe u het volgende doet:

Azure Automation

Azure Automation maakt gebruik van runbooks voor het verwerken van een set taken op de vm's die u target. Azure Automation wordt gebruikt om bestaande VM's te beheren in plaats van een infrastructuur te maken. Azure Automation kan worden uitgevoerd op zowel Linux- als Windows-VM's, en on-premises virtuele of fysieke machines met een hybrid runbook worker. Runbooks kunnen worden opgeslagen in een opslagplaats voor broncodebeheer, zoals GitHub. Deze runbooks kunnen vervolgens handmatig of volgens een gedefinieerd schema worden uitgevoerd.

Azure Automation biedt ook een DSC-service (Desired State Configuration) waarmee u definities kunt maken voor de manier waarop een bepaalde set virtuele machines moet worden geconfigureerd. DSC zorgt er vervolgens voor dat de vereiste configuratie wordt toegepast en de VM consistent blijft. Azure Automation DSC wordt uitgevoerd op zowel Windows- als Linux-machines.

Leer hoe u het volgende doet:

Azure DevOps Services

Azure DevOps Services is een reeks hulpprogramma's waarmee u code kunt delen en bijhouden, geautomatiseerde builds kunt gebruiken en een volledige CI/CD-pijplijn (Continuous Integration and Development) kunt maken. Azure DevOps Services kan worden geïntegreerd met Visual Studio en andere editors om het gebruik te vereenvoudigen. Azure DevOps Services kan ook Virtuele Azure-machines maken en configureren en vervolgens code erop implementeren.

Meer informatie over:

Azure Resource Manager-sjabloon

Azure Resource Manager is de implementatie- en beheerservice voor Azure. Het biedt een beheerlaag waarmee u resources in uw Azure-abonnement kunt maken, bijwerken en verwijderen. U kunt beheerfuncties gebruiken, zoals toegangscontrole, vergrendelingen en tags, om uw resources te beveiligen en te organiseren na de implementatie.

Leer hoe u het volgende doet:

Bicep

Bicep is een domeinspecifieke taal (DSL) die declaratieve syntaxis gebruikt om Azure-resources te implementeren. In een Bicep-bestand definieert u de infrastructuur die u wilt implementeren in Azure en gebruikt u dat bestand vervolgens gedurende de ontwikkelingslevenscyclus om uw infrastructuur herhaaldelijk te implementeren. Uw resources worden op een consistente manier geïmplementeerd.

Aan de slag met de quickstart.

Cloud-init

Cloud-init is een veelgebruikte benadering voor het aanpassen van een Linux-VM als deze voor de eerste keer wordt opgestart. U kunt cloud-init gebruiken voor het installeren van pakketten en schrijven van bestanden, of om gebruikers en beveiliging te configureren. Omdat cloud-init wordt aangeroepen tijdens het eerste opstartproces, zijn er geen extra stappen of vereiste agents om uw configuratie toe te passen. Zie de cloud-init-documentatiesite voor meer informatie over het correct opmaken van uw #cloud-config bestanden. #cloud-config bestanden zijn tekstbestanden die zijn gecodeerd in base64.

Cloud-init werkt ook in distributies. U gebruikt bijvoorbeeld niet apt-get install of yum install om een pakket te installeren. In plaats daarvan kunt u een lijst definiëren met te installeren pakketten. Cloud-init maakt automatisch gebruik van het hulpprogramma voor systeemeigen pakketbeheer voor de distro die u selecteert.

We werken actief samen met onze goedgekeurde Linux-distributiepartners om cloud-init-installatiekopieën beschikbaar te maken in Azure Marketplace. Deze installatiekopieën zorgen ervoor dat uw cloud-init-implementaties en -configuraties naadloos werken met VM's en virtuele-machineschaalsets. Meer informatie over cloud-init in Azure:

PowerShell DSC

PowerShell Desired State Configuration (DSC) is een beheerplatform voor het definiëren van de configuratie van doelmachines. DSC kan ook worden gebruikt in Linux via de OMI-server (Open Management Infrastructure).

MET DSC-configuraties wordt gedefinieerd wat u op een computer moet installeren en hoe u de host configureert. Een LCM-engine (Local Configuration Manager) wordt uitgevoerd op elk doelknooppunt dat aangevraagde acties verwerkt op basis van gepushte configuraties. Een pull-server is een webservice die wordt uitgevoerd op een centrale host om de DSC-configuraties en bijbehorende resources op te slaan. De pull-server communiceert met de LCM-engine op elke doelhost om de vereiste configuraties te bieden en te rapporteren over naleving.

Leer hoe u het volgende doet:

Aangepaste scriptextensie voor Azure

De aangepaste Scriptextensie van Azure voor Linux of Windows downloadt en voert scripts uit op Azure-VM's. U kunt de extensie gebruiken wanneer u een virtuele machine maakt of wanneer de VIRTUELE machine in gebruik is.

Scripts kunnen worden gedownload vanuit Azure Storage of een openbare locatie, zoals een GitHub-opslagplaats. Met de aangepaste scriptextensie kunt u scripts schrijven in elke taal die wordt uitgevoerd op de bron-VM. Deze scripts kunnen worden gebruikt om toepassingen te installeren of de VM naar wens te configureren. Om referenties te beveiligen, kunnen gevoelige informatie, zoals wachtwoorden, worden opgeslagen in een beveiligde configuratie. Deze referenties worden alleen ontsleuteld binnen de VIRTUELE machine.

Leer hoe u het volgende doet:

Ansible

Ansible is een automatiseringsengine voor configuratiebeheer, vm-creatie of toepassingsimplementatie. Ansible maakt gebruik van een model zonder agent, meestal met SSH-sleutels, om doelmachines te verifiëren en te beheren. Configuratietaken worden gedefinieerd in playbooks, met verschillende Ansible-modules die beschikbaar zijn voor het uitvoeren van specifieke taken. Zie Hoe Ansible werkt voor meer informatie.

Leer hoe u het volgende doet:

Chef

Chef is een automatiseringsplatform waarmee u kunt definiëren hoe uw infrastructuur wordt geconfigureerd, geïmplementeerd en beheerd. Sommige onderdelen omvatten Chef Habitat voor automatisering van de levenscyclus van toepassingen in plaats van de infrastructuur en Chef InSpec waarmee u de naleving van beveiligings- en beleidsvereisten kunt automatiseren. Chef-clients worden geïnstalleerd op doelmachines, met een of meer centrale Chef-servers die de configuraties opslaan en beheren. Zie Een overzicht van Chef voor meer informatie.

Leer hoe u het volgende doet:

Puppet

Puppet is een automatiseringsplatform dat klaar is voor ondernemingen die het leverings- en implementatieproces van de toepassing afhandelt. Agents worden geïnstalleerd op doelcomputers om Puppet Master toe te staan manifesten uit te voeren waarmee de gewenste configuratie van de Azure-infrastructuur en VM's wordt gedefinieerd. Puppet kan worden geïntegreerd met andere oplossingen, zoals Jenkins en GitHub, voor een verbeterde devops-werkstroom. Zie Hoe Puppet werkt voor meer informatie.

Leer hoe u het volgende doet:

Packer

Packer automatiseert het buildproces wanneer u een aangepaste VM-installatiekopieën in Azure maakt. U gebruikt Packer om het besturingssysteem te definiëren en scripts na de configuratie uit te voeren die de VM aanpassen aan uw specifieke behoeften. Zodra de vm is geconfigureerd, wordt deze vastgelegd als een installatiekopieën van een beheerde schijf. Packer automatiseert het proces om de bron-VM, netwerk- en opslagresources te maken, configuratiescripts uit te voeren en vervolgens de VM-installatiekopieën te maken.

Leer hoe u het volgende doet:

Jenkins

Jenkins is een continue integratieserver waarmee u toepassingen kunt implementeren en testen en geautomatiseerde pijplijnen kunt maken voor het leveren van code. Er zijn honderden invoegtoepassingen om het Jenkins-kernplatform uit te breiden en u kunt ook integreren met veel andere producten en oplossingen via webhooks. U kunt Jenkins handmatig installeren op een Azure-VM, Jenkins uitvoeren vanuit een Docker-container of een vooraf gebouwde Azure Marketplace-installatiekopie gebruiken.

Leer hoe u het volgende doet:

Volgende stappen

Er zijn veel verschillende opties voor het gebruik van hulpprogramma's voor infrastructuurautomatisering in Azure. U hebt de vrijheid om de oplossing te gebruiken die het beste past bij uw behoeften en omgeving. Als u aan de slag wilt gaan en een aantal van de ingebouwde hulpprogramma's in Azure wilt uitproberen, raadpleegt u hoe u de aanpassing van een Linux - of Windows-VM automatiseert.