Ανάπτυξη Javascript Unikernels στο Vultr
Προαπαιτούμενα
Εγκαταστήστε το Ops
Αναπτύξτε τον πρώτο σας Unikernel
Δημιουργήστε την εικόνα Unikernel
Ανάπτυξη Javascript Unikernels στο Vultr
Τα Unikernels είναι λειτουργικά συστήματα μίας εφαρμογής. Σε αντίθεση με τα λειτουργικά συστήματα γενικής χρήσης όπως το Linux, τα unikernels δεν μπορούν να εκτελέσουν πολλά προγράμματα στην ίδια παρουσία διακομιστή. Οι Unikernels δημιουργούνται με τη μεταγλώττιση γλωσσών υψηλού επιπέδου σε εικόνες μηχανής που τρέχουν απευθείας σε έναν hypervisor ή γυμνό μέταλλο. Αυτό το σεμινάριο αναπτύσσει έναν απλό διακομιστή web JavaScript "hello world" στο Vultr.
Προαπαιτούμενα
Ένα λειτουργικό σύστημα που μοιάζει με UNIX, που περιλαμβάνει:
- MacOS
- Debian
- Ubuntu
- Μαλακό καπέλλο
- Centos
Μια προβλεπόμενη θέση αποθήκευσης αντικειμένων Vultr .
- Σημειώστε το όνομα κεντρικού υπολογιστή του Object Storage. Το πρώτο τμήμα αναφέρεται ως η ζώνη σε αυτό το σεμινάριο. Για παράδειγμα, εάν το όνομα κεντρικού υπολογιστή σας είναι ewr1.vultrobjects.com, η ζώνη σας είναι ewr1 . Αυτό το σεμινάριο χρησιμοποιεί το παράδειγμα ζώνης ewr1 .
Ένα ενεργό κλειδί API λογαριασμού . Βεβαιωθείτε ότι το κλειδί API σας επιτρέπει την πρόσβαση από τη διεύθυνση IP σας.
Εγκαταστήστε το Ops
Λήψη και εγκατάσταση του Ops:
curl https://ops.city/get.sh -sSfL | sh
Μπορείτε επίσης να το δημιουργήσετε από την πηγή, διαθέσιμη στη
διεύθυνση https://github.com/nanovms/ops .
- Ίσως χρειαστεί να κάνετε επανεκκίνηση μετά την εγκατάσταση για να λειτουργήσει σωστά το Ops.
Αναπτύξτε τον πρώτο σας Unikernel
Δημιουργήστε έναν κατάλογο εργασίας.
$ mkdir opstest
$ cd opstest
Δημιουργήστε έναν κάδο αποθήκευσης αντικειμένων Vultr. Χρησιμοποιήστε ένα μοναδικό όνομα.
Δημιουργήστε ένα αρχείο με το όνομα config.jsonπου καθορίζει το όνομα του κάδου αποθήκευσης αντικειμένων Vultr και τη ζώνη ewr1.
{
"CloudConfig" :{
"Zone": "ewr1",
"BucketName":"your_unique_bucket_name"
}
}
Δημιουργία αρχείου με όνομα hi.js. Αυτή η απλή εφαρμογή δημιουργεί έναν διακομιστή web για ακρόαση στη θύρα 8083 και απάντηση "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!');
Εξαγάγετε τις ακόλουθες μεταβλητές περιβάλλοντος.
export TOKEN=my_api_token
export VULTR_ACCESS=my_vultr_object_storage_access_key
export VULTR_SECRET=my_vultr_object_storage_secret_key
Δημιουργήστε την εικόνα Unikernel
Επόμενα βήματα:
- Bundle το κόμβο 13,6 πακέτο με την hi.js εφαρμογή την Javascript σε μια εικόνα δίσκου unikernel.
- Ανεβάστε την εικόνα του δίσκου .img στο Vultr Object Storage.
- Εισαγάγετε την εικόνα του δίσκου από το Vultr Object Storage σε ένα στιγμιότυπο Vultr Cloud.
Εκτελέστε την ακόλουθη εντολή για να εκτελέσετε αυτά τα βήματα σε μία ενέργεια.
$ ops image create -t vultr -c config.json -z ewr1 -p node_v13.6.0 -a hi.js
Καταχωρίστε την εικόνα για να βρείτε το αναγνωριστικό εικόνας του νέου στιγμιότυπου.
$ ops image list -z ewr1 -t vultr
Χρησιμοποιήστε το αναγνωριστικό εικόνας στη δεύτερη στήλη για να δημιουργήσετε ένα στιγμιότυπο από το στιγμιότυπο.
$ ops instance create -z ewr1 -t vultr -i my_id
Βεβαιωθείτε ότι εκτελείται η παρουσία του Vultr Cloud.
$ ops instance list -z ewr1 -t vultr
Πλοηγηθείτε στη διεύθυνση URL, για παράδειγμα, στη διεύθυνση IP του.
$ curl -XGET http://192.0.2.1:8083/
Hello World
Έχετε αναπτύξει τον unikernel "hello world". Περισσότερες πληροφορίες σχετικά με unikernels και Ops είναι διαθέσιμες στις: https://nanovms.gitbook.io/ops/vultr και https://ops.city/