Implementering af Javascript Unikernels til Vultr
											
										
																			
											
												Forudsætninger
											
										
																			
											
												Installer Ops
											
										
																			
											
												Implementer din første Unikernel
											
										
																			
											
												Opret Unikernel-billedet
											
										
																	
												
Implementering af Javascript Unikernels til Vultr
Unikernels er operativsystemer med enkelt applikation. I modsætning til generelle operativsystemer som Linux, kan unikernels ikke køre flere programmer på den samme serverinstans. Unikernels er bygget ved at kompilere sprog på højt niveau til maskinbilleder, der kører direkte på en hypervisor eller bare metal. Denne vejledning implementerer en simpel "hej verden" JavaScript-webserver til Vultr.
Forudsætninger
- Et UNIX-lignende operativsystem, herunder: - MacOS
- Debian
- Ubuntu
- Fedora
- Centos
 
- En klargjort Vultr Object Storage- placering. - Noter dit Object Storage-værtsnavn. Den første del omtales som zonen i denne øvelse. For eksempel, hvis dit værtsnavn er ewr1.vultrobjects.com, er din zone ewr1 . Denne øvelse bruger eksempelzonen ewr1 .
 
- En aktiv konto API-nøgle . Sørg for, at din API-nøgle tillader adgang fra din IP-adresse. 
Installer Ops
Download og installer Ops:
curl https://ops.city/get.sh -sSfL | sh
Du kan også bygge den fra kilden, tilgængelig på
 https://github.com/nanovms/ops .
- Du skal muligvis genstarte efter installationen for at Ops fungerer korrekt.
Implementer din første Unikernel
Opret en arbejdsmappe.
$ mkdir opstest
$ cd opstest
Opret en Vultr Object Storage-spand. Brug et unikt navn.
Opret en fil med navnet, config.jsonder specificerer dit Vultr Object Storage Bucket-navn og zonen ewr1.  
{
  "CloudConfig" :{
    "Zone": "ewr1",
    "BucketName":"your_unique_bucket_name"
  }
}
Opret fil med navnet hi.js. Denne enkle applikation afføder en webserver til at lytte på port 8083 og svare "Hello World".
var http = require('http');
console.log("I'm running on Vultr");
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(8083, "0.0.0.0");
console.log('Server running!');
Eksporter følgende miljøvariabler.
export TOKEN=my_api_token 
export VULTR_ACCESS=my_vultr_object_storage_access_key 
export VULTR_SECRET=my_vultr_object_storage_secret_key 
Opret Unikernel-billedet
Næste skridt:
- Bundle node 13.6- pakken med hi.js JavaScript-applikationen til et unikernel-diskbillede.
- Upload .img- diskbilledet til Vultr Object Storage.
- Importer diskbilledet fra Vultr Object Storage til et Vultr Cloud-snapshot.
Kør følgende kommando for at udføre disse trin i én handling.
$ ops image create -t vultr -c config.json -z ewr1 -p node_v13.6.0 -a hi.js
List billedet for at finde billed-id'et for det nye snapshot.
$ ops image list -z ewr1 -t vultr
Brug billed-id'et i den anden kolonne til at oprette en instans fra snapshottet.
$ ops instance create -z ewr1 -t vultr -i my_id
Bekræft, at Vultr Cloud-forekomsten kører.
$ ops instance list -z ewr1 -t vultr
Naviger til din URL for eksempel IP-adresse.
$ curl -XGET http://192.0.2.1:8083/
Hello World
Du har implementeret "hej verden" unikernelen. Mere information om unikernels og Ops er tilgængelig på: https://nanovms.gitbook.io/ops/vultr og https://ops.city/