Δημιουργία στιγμιότυπων με το Packer

Τι είναι το Packer;

Το Packer είναι ένα εργαλείο απεικόνισης διακομιστή που αναπτύχθηκε από τη HashiCorp. Απεικόνιση διακομιστή? ή εναλλακτικά, αμετάβλητη υποδομή. είναι μια δημοφιλής εναλλακτική λύση στα εργαλεία διαμόρφωσης χρόνου εκτέλεσης, όπως το Ansible ή το Puppet. Βασίζεται στην ιδέα ότι μόλις αναπτυχθεί ένας διακομιστής, δεν θα τον αλλάξετε ποτέ. Αντίθετα, αναπτύσσετε έναν νέο διακομιστή με τις αλλαγές σας και, στη συνέχεια, καταρρίπτετε τον παλιό. Αυτό διευκολύνει τη συντήρηση του διακομιστή και σας επιτρέπει να κλιμακώνεστε πιο αποτελεσματικά σε μεγάλο αριθμό μηχανημάτων.

Αν και το Packer δεν υποστηρίζει το Vultr out of the box, υπάρχει μια προσθήκη που προσθέτει αυτήν την υποστήριξη. Οδηγίες για την εγκατάσταση του Packer με υποστήριξη Vultr μπορείτε να βρείτε στο README της προσθήκης. Το υπόλοιπο αυτού του άρθρου προϋποθέτει ότι έχετε εγκαταστήσει το Packer, καθώς και την προσθήκη Vultr.

Πως δουλεύει

Ο σκοπός του Packer είναι να παράγει εικόνες διακομιστή ή τεχνουργήματα που μπορούν να χρησιμοποιηθούν για τη δημιουργία ενός νέου διακομιστή ακριβώς όπως ήταν την εποχή της απεικόνισης. Για το Vultr, αυτά τα τεχνουργήματα ονομάζονται Στιγμιότυπα. Το πρόσθετο λειτουργεί αναπτύσσοντας ένα νέο VPS, τρέχοντας τους καθορισμένους προμηθευτές σας σε αυτό, δημιουργώντας ένα στιγμιότυπο του και, στη συνέχεια, καταστρέφοντας το VPS. Όταν θέλετε να δημιουργήσετε έναν νέο διακομιστή από την εικόνα σας, απλώς καλέστε το API του Vultr για να αναπτύξετε ένα νέο VPS με το επιθυμητό Στιγμιότυπο ως λειτουργικό σύστημα.

Χρήση Packer

Ο Packer παίρνει ένα αρχείο JSON που ορίζει το build που πρέπει να εκτελείται ως είσοδος. Ακολουθεί ένα δείγμα αρχείου που ορίζει μια έκδοση Vultr:

{
  "variables": {
    "vultr_api_key": "{{env `VULTR_API_KEY`}}"
  },
  "builders": [
    {
      "type": "vultr",
      "api_key": "{{user `vultr_api_key`}}",
      "snapshot_description": "My Awesome App",
      "region_id": "2",
      "plan_id": "201",
      "os_id": "167",
      "ssh_username": "root"
    }
  ]
}

Αυτό το αρχείο έχει δύο κλειδιά ανώτατου επιπέδου variablesκαι builders. Το variablesκλειδί χρησιμοποιείται για τον ορισμό προσαρμοσμένων μεταβλητών και σε αυτήν την περίπτωση χρησιμοποιείται για την ενσωμάτωση της VULTR_API_KEYμεταβλητής περιβάλλοντος με τρόπο που μπορεί να χρησιμοποιηθεί αργότερα. Το buildersκλειδί περιέχει μια λίστα με εκδόσεις προς εκτέλεση, σε αυτήν την περίπτωση μόνο την έκδοση Vultr. Ας αναλύσουμε λίγο αυτή τη δομή:

  • type: Αυτό ορίζει το πρόγραμμα δημιουργίας που θα χρησιμοποιηθεί πραγματικά και για τις εκδόσεις Vultr αυτό θα πρέπει πάντα να είναι vultr.
  • api_key: Για να εκτελέσετε το build, χρειάζεστε ένα κλειδί API, το οποίο ορίζεται εδώ. Αυτό το παράδειγμα την ορίζει ως την τιμή της vultr_api_keyμεταβλητής χρήστη, η οποία πιο πάνω ορίζεται στην τιμή της VULTR_API_KEYμεταβλητής περιβάλλοντος.
  • snapshot_description: Η περιγραφή του στιγμιότυπου που προκύπτει.
  • region_id: Η περιοχή στην οποία θα αναπτυχθεί ένα VPS. Αυτό δεν επηρεάζει το τελικό στιγμιότυπο, μόνο τον διακομιστή από τον οποίο δημιουργείται το στιγμιότυπο.
  • plan_id: Το σχέδιο που θα χρησιμοποιηθεί για το VPS. Οι μελλοντικές χρήσεις αυτού του στιγμιότυπου πρέπει να καθορίσουν ένα σχέδιο που είναι τουλάχιστον τόσο μεγάλο.
  • os_id: Το λειτουργικό σύστημα στο οποίο βασίζεται το στιγμιότυπο.
  • ssh_username: Το όνομα χρήστη που θα χρησιμοποιηθεί κατά την εισαγωγή του SSH στον διακομιστή για παροχή. Για διακομιστές Linux, αυτό θα είναι συνήθως root.

Για να το χρησιμοποιήσετε, αποθηκεύστε αυτό το αρχείο με ένα όνομα όπως server.jsonκαι, στη συνέχεια, εκτελέστε την εντολή packer build server.json. Θα δείτε κάποια έξοδο που υποδεικνύει την κατάσταση της κατασκευής, η οποία θα διαρκέσει μερικά λεπτά.

Όταν εκτελείτε αυτό το build, ένας νέος διακομιστής με το όνομα Snapshotting: My Awesome Appθα δημιουργηθεί, θα ληφθεί στιγμιότυπο και στη συνέχεια θα καταστραφεί. Χωρίς να έχουν καθοριστεί προμηθευτές, αυτό είναι το μόνο που συμβαίνει. Για περισσότερες πληροφορίες σχετικά με τον ορισμό παρόχων, ανατρέξτε στην τεκμηρίωση του Packer .

Μόλις ολοκληρωθεί η κατασκευή, ο Packer θα εμφανίσει το αναγνωριστικό του στιγμιότυπου που προκύπτει.

Καθορισμός περιοχής, σχεδίου και λειτουργικού συστήματος

Αυτές οι τρεις τιμές απαιτούνται για κάθε κατασκευή Vultr, αλλά μπορούν να οριστούν με έναν από τους διάφορους τρόπους. Για κάθε ένα, θα πρέπει να καθορίσετε ακριβώς μία από τις παραλλαγές του, προκειμένου να αποφευχθεί η ασάφεια:

Περιοχή

Μπορείτε να αναζητήσετε πληροφορίες για την περιοχή μέσω του API: https://www.vultr.com/api/#regions_region_list

  • region_id: Η ταυτότητα της περιοχής, π.χ 2
  • region_code: Ο κωδικός της περιοχής, π.χ ORD

Σχέδιο

Μπορείτε να αναζητήσετε πληροφορίες για το σχέδιο μέσω του API: https://www.vultr.com/api/#plans_plan_list

  • plan_id: Η ταυτότητα του σχεδίου, π.χ 201

OS

Μπορείτε να αναζητήσετε πληροφορίες για το λειτουργικό σύστημα μέσω του API: https://www.vultr.com/api/#os_os_list

  • os_id: Το αναγνωριστικό του ΛΣ, π.χ 167

Πώς να εγκαταστήσετε το Jenkins στο CentOS 7

Πώς να εγκαταστήσετε το Jenkins στο CentOS 7

Το Jenkins είναι ένα δημοφιλές εργαλείο ανοιχτού κώδικα CI (Continuous Integration) που χρησιμοποιείται ευρέως για την ανάπτυξη, την ανάπτυξη και την αυτοματοποίηση έργων. Αυτό το άρθρο θα

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο Ubuntu 16.04

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Η συνεχής ενοποίηση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο Debian 9 για χρήση με τον Windows Server

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο Debian 9 για χρήση με τον Windows Server

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Ansible είναι ένα εργαλείο ανοιχτού κώδικα για την αυτοματοποίηση εργασιών. Διαχειρίζεται τη διαμόρφωση των διακομιστών σας Linux και Windows. Λειτουργεί

Πώς να εγκαταστήσετε και να ρυθμίσετε το GoCD στο CentOS 7

Πώς να εγκαταστήσετε και να ρυθμίσετε το GoCD στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το GoCD είναι ένα σύστημα συνεχούς παράδοσης και αυτοματισμού ανοιχτού κώδικα. Σας επιτρέπει να μοντελοποιείτε σύνθετες ροές εργασίας χρησιμοποιώντας το παράλληλό του an

Χρήση του SaltStack With Pillars στο Ubuntu 17.04

Χρήση του SaltStack With Pillars στο Ubuntu 17.04

Ενώ το SaltStack είναι ένα εξαιρετικό εργαλείο για την εκτέλεση λειτουργιών σε πολλούς διακομιστές ταυτόχρονα, υποστηρίζει επίσης προκαθορισμένες ρυθμίσεις παραμέτρων ανά κεντρικό υπολογιστή που είναι αποθηκευμένες σε

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο CentOS 7 για χρήση με τον Windows Server

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο CentOS 7 για χρήση με τον Windows Server

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Ansible είναι ένα εργαλείο ανοιχτού κώδικα για την αυτοματοποίηση εργασιών. Διαχειρίζεται τη διαμόρφωση των διακομιστών σας Linux και Windows. Λειτουργεί

Πώς να εγκαταστήσετε το Drone CI στο Ubuntu 18.04

Πώς να εγκαταστήσετε το Drone CI στο Ubuntu 18.04

Εισαγωγή Το Drone είναι μια αυτοματοποιημένη, συνεχής πλατφόρμα δοκιμών και παράδοσης που λειτουργεί στη δική σας υποδομή. Το Drone υποστηρίζει οποιαδήποτε γλώσσα, υπηρεσία o

Vultr Load Balancers

Vultr Load Balancers

Τι είναι το Load Balancer Οι Load Balancer κάθονται μπροστά από την εφαρμογή σας και διανέμουν την εισερχόμενη κίνηση σε πολλές περιπτώσεις της εφαρμογής σας. Fo

Πώς να εγκαταστήσετε το Foreman στο CentOS 7

Πώς να εγκαταστήσετε το Foreman στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Foreman είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο που σας βοηθά με τη διαμόρφωση και τη διαχείριση φυσικών και εικονικών διακομιστών. Forema

Πώς να εγκαταστήσετε το SaltStack στο CentOS 7

Πώς να εγκαταστήσετε το SaltStack στο CentOS 7

Το SaltStack, ή Salt, είναι μια δημοφιλής λύση διαχείρισης διαμόρφωσης ανοιχτού κώδικα που μπορεί να χρησιμοποιηθεί για την υλοποίηση απομακρυσμένης εκτέλεσης, διαχείρισης παραμέτρων, κωδικού

Πώς να εγκαταστήσετε το Strider CD στο Ubuntu 18.04

Πώς να εγκαταστήσετε το Strider CD στο Ubuntu 18.04

Εισαγωγή Το Strider CD είναι μια πλατφόρμα συνεχούς ανάπτυξης ανοιχτού κώδικα. Η εφαρμογή είναι γραμμένη στο Node.js και χρησιμοποιεί το MongoDB ως backend αποθήκευσης. Δρασκελιά

Χρήση του Chocolatey Package Manager στα Windows

Χρήση του Chocolatey Package Manager στα Windows

Εισαγωγή Το Chocolatey φέρνει τη διαχείριση πακέτων που διευκολύνει τη διαχείριση λογισμικού και εξαρτήσεων στο Linux, στα Windows. Μπορείτε εύκολα και γρήγορα

Δημιουργία στιγμιότυπων με το Packer

Δημιουργία στιγμιότυπων με το Packer

Τι είναι το Packer; Το Packer είναι ένα εργαλείο απεικόνισης διακομιστή που αναπτύχθηκε από τη HashiCorp. Απεικόνιση διακομιστή? ή εναλλακτικά, αμετάβλητη υποδομή. είναι μια δημοφιλής εναλλακτική

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο CentOS 7

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Η συνεχής ενοποίηση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά

Χρήση του Chef-solo για τη διαμόρφωση μιας εφαρμογής Django στο Ubuntu

Χρήση του Chef-solo για τη διαμόρφωση μιας εφαρμογής Django στο Ubuntu

Υπάρχουν πολλοί τρόποι αυτοματοποίησης της διαδικασίας ρύθμισης και διαμόρφωσης ενός κουτιού. Για οποιονδήποτε λόγο, εάν ολόκληρο το σύστημά μας σε αυτό το σημείο αποτελείται από ακριβώς

Πώς να εγκαταστήσετε το Foreman στο Ubuntu 16.04 LTS

Πώς να εγκαταστήσετε το Foreman στο Ubuntu 16.04 LTS

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Foreman είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο που σας βοηθά με τη διαμόρφωση και τη διαχείριση φυσικών και εικονικών διακομιστών. Forema

Ξεκινώντας με το SaltStack στο Ubuntu 17.04

Ξεκινώντας με το SaltStack στο Ubuntu 17.04

Το SaltStack είναι ένα πρόγραμμα διαχείρισης ρυθμίσεων που βασίζεται σε python και είναι βελτιστοποιημένο για την αυτοματοποίηση αρχείων διαμόρφωσης, αναπτύξεις και οτιδήποτε άλλο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα