Vaak zijn er gevallen waarin u de levering en configuratie van uw Vultr-cloudinfrastructuur wilt automatiseren. Er is een overvloed aan tools beschikbaar, maar cloud-init is een industriestandaard die wordt gebruikt om VM-instanties te initialiseren en configureren met gebruikersgegevens Vaak zijn er gevallen waarin u de inrichting en configuratie van uw Vultr-cloudinfrastructuur wilt automatiseren. Er is een overvloed aan tools beschikbaar, maar cloud-init is een industriestandaard die wordt gebruikt om VM-instanties te initialiseren en configureren met gebruikersgegevens Vaak zijn er gevallen waarin u de inrichting en configuratie van uw Vultr-cloudinfrastructuur wilt automatiseren. Er is een overvloed aan tools beschikbaar, maar cloud-init is een industriestandaard die wordt gebruikt om VM-instanties te initialiseren en configureren met gebruikersgegevens Terraform is een Infrastructure-as-code-tool waarmee gebruikers uw infrastructuur veilig en efficiënt kunnen bouwen, wijzigen en versieren. Het gebruikt een syntaxis op hoog niveau om infrastructuur declaratief in te richten en te beheren, waardoor de configuratie in kleinere delen kan worden opgesplitst voor een betere organisatie, hergebruik en onderhoudbaarheid. Informatie over het installeren en uitvoeren van Terraform vindt u hier. Door de parameter user_data door te geven aan een Terraform.yaml-bestand, kunt u automatisering gebruiken om uw Vultr-instantie tijdens het opstarten te configureren. Hieronder meer daarover Terraform gebruiken om Cherryservers te configureren met cloud-init Als Terraform uw voorkeursmethode voor het inrichten van infrastructuur is, kunt u de Vultr Terraform Provider op de Github Repo hier vinden Voor elke infrastructuurprovider moet u bij het gebruik van Terraform als inrichtingstool altijd het providerblok specificeren zoals hier te zien is: Hier is een voorbeeldmodule die gebruikersgegevens gebruikt om een ​​Vultr-instantie tijdens het opstarten te configureren: Met deze module heb je een resource die vultr_server aanwijst als het type resource dat je wilt inrichten, en variabelen zoals project_id en user_data gebruikt om de provisioning af te handelen. Wanneer u de tekenreeks voor user_data opgeeft, duidt u een opstartscript aan dat de bare-metal-server zal uitvoeren bij het opstarten U kunt via de API nieuwe servers inrichten om gebruikersgegevens van uw Vultr op te halen via de cloud-init-service. Hierdoor kunt u verschillende serverconfiguratietaken automatiseren door richtlijnen voor gebruikersgegevens op te halen bij de implementatie van de server. De door u opgegeven taken worden uitgevoerd wanneer uw server voor de eerste keer opstart. Er zijn twee manieren om dit te doen: shell-scripts of cloud-init-richtlijnen. We gaan het hebben over cloud-init-richtlijnen Cloud-Init-richtlijnen worden uitgevoerd wanneer uw server voor de eerste keer opstart, maar de syntaxis is iets anders. Uw scenario moet beginnen met #cloud-config line, anders worden richtlijnen voor gebruikersgegevens afgewezen. Voor verdere referentie raad ik aan de officiële documentatie van cloud-init te raadplegen: httpscloudinit.readthedocs.io/en/latest/index.html Een eenvoudig voorbeeld van een cloud-init-script dat zou worden doorgegeven, is: Om deze gegevensscenario's door te geven aan Vultr API, moet deze worden geconverteerd naar base64-indeling. Op een Linux-systeem zou u het volgende doen voor uw test.yaml-bestand: Deze uitvoertekst moet dan worden opgehaald via de Vultr API user_data-parameter bij het bestellen van een nieuwe server Alles bij elkaar zetten Om dit in actie te zien, geeft u de resourceprovider op, zodat u Vultr kunt aanwijzen als het platform waarop u provisioning uitvoert. Je uiteindelijke script zou er zo uit moeten zien: Dat is alles wat er is! Terraform is echt een geweldige tool voor het automatiseren van infrastructuur als je eenmaal de syntaxis begrijpt en begrijpt hoe het werkt. Ik hoop dat je dit artikel leuk vond!