Desplegant Javascript Unikernels a Vultr
Requisits previs
Instal·leu Ops
Desplegueu el vostre primer Unikernel
Creeu la imatge Unikernel
Desplegant Javascript Unikernels a Vultr
Els unikernels són sistemes operatius d'una sola aplicació. A diferència dels sistemes operatius de propòsit general com Linux, els unikernels no poden executar diversos programes a la mateixa instància del servidor. Els unikernels es construeixen compilant llenguatges d'alt nivell en imatges de màquines que s'executen directament en un hipervisor o metall nu. Aquest tutorial desplega un simple servidor web JavaScript "hola món" a Vultr.
Requisits previs
Un sistema operatiu semblant a UNIX, que inclou:
- MacOS
- Debian
- Ubuntu
- Fedora
- Centos
Una ubicació d' emmagatzematge d'objectes de Vultr subministrada .
- Anoteu el vostre nom d'amfitrió Object Storage. La primera part s'anomena zona en aquest tutorial. Per exemple, si el vostre nom d'amfitrió és ewr1.vultrobjects.com, la vostra zona és ewr1 . Aquest tutorial utilitza la zona d'exemple ewr1 .
Una clau de l'API del compte activa . Assegureu-vos que la vostra clau API permeti l'accés des de la vostra adreça IP.
Instal·leu Ops
Baixeu i instal·leu Ops:
curl https://ops.city/get.sh -sSfL | sh
També podeu crear-lo des del codi font, disponible a
https://github.com/nanovms/ops .
- És possible que hàgiu de reiniciar després de la instal·lació perquè Ops funcioni correctament.
Desplegueu el vostre primer Unikernel
Creeu un directori de treball.
$ mkdir opstest
$ cd opstest
Creeu un cub d'emmagatzematge d'objectes Vultr. Utilitzeu un nom únic.
Creeu un fitxer amb el nom config.jsonque especifiqui el vostre nom de Vultr Object Storage Bucket i la zona ewr1.
{
"CloudConfig" :{
"Zone": "ewr1",
"BucketName":"your_unique_bucket_name"
}
}
Creeu un fitxer anomenat hi.js. Aquesta senzilla aplicació genera un servidor web per escoltar al port 8083 i respondre "Hola món".
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!');
Exporteu les variables d'entorn següents.
export TOKEN=my_api_token
export VULTR_ACCESS=my_vultr_object_storage_access_key
export VULTR_SECRET=my_vultr_object_storage_secret_key
Creeu la imatge Unikernel
Propers passos:
- Agrupeu el paquet node 13.6 amb l' aplicació JavaScript hi.js en una imatge de disc unikernel.
- Puja el .img imatge de disc per a emmagatzematge d'objectes Vultr.
- Importeu la imatge de disc de Vultr Object Storage a una instantània de Vultr Cloud.
Executeu l'ordre següent per realitzar aquests passos en una acció.
$ ops image create -t vultr -c config.json -z ewr1 -p node_v13.6.0 -a hi.js
Enumereu la imatge per trobar l'ID de la imatge de la nova instantània.
$ ops image list -z ewr1 -t vultr
Utilitzeu l'ID de la imatge a la segona columna per crear una instància a partir de la instantània.
$ ops instance create -z ewr1 -t vultr -i my_id
Verifiqueu que la instància Vultr Cloud s'està executant.
$ ops instance list -z ewr1 -t vultr
Navegueu fins a l'URL, per exemple, l'adreça IP.
$ curl -XGET http://192.0.2.1:8083/
Hello World
Heu desplegat l'unikernel "hello world". Hi ha més informació sobre unikernels i Ops disponible a: https://nanovms.gitbook.io/ops/vultr i https://ops.city/