Πώς να εγκαταστήσετε και να ρυθμίσετε το Ansible στο Ubuntu;

Ξεκινώντας με το Ansible στο Ubuntu για καλύτερη παροχή περιβάλλοντος και διαχείριση παραμέτρων.

Η Διαχείριση διαμόρφωσης είναι ένα κρίσιμο στάδιο στον κύκλο ζωής του DevOps. Βοηθά στον αυτοματισμό και την ενορχήστρωση της υποδομής πληροφορικής.

Υπάρχουν πολλά εργαλεία για τη διαχείριση των ρυθμίσεων, για παράδειγμα, Puppet, Ansible, Chef και SaltStack. Και, φυσικά, το Ansible είναι ένα από τα πιο δημοφιλή εργαλεία στο DevOps. Μπορεί να διαχειριστεί με ευκολία χιλιάδες διακομιστές και την πλήρη υποδομή πληροφορικής σας.

Θα καλύψουμε τα ακόλουθα σε αυτό το άρθρο.

  • Ανώμαλη εγκατάσταση
  • Ανταλλαγή κλειδιών SSH
  • Ανεξάρτητη ρύθμιση πελάτη
  • Ανώμαλη δοκιμή

Εγκατάσταση Ansible

Για να το διατηρήσουμε απλό, ας δοκιμάσουμε να χρησιμοποιήσουμε το Ansible σε δύο διακομιστές. Το ένα θα είναι ansible-server και άλλο ένα ansible-client με την ακόλουθη IP.

  • ansible-server – 10.0.0.1
  • ansible-client – ​​10.0.0.25

Η εγκατάσταση είναι απλή… τα ακόλουθα πρέπει να γίνουν σε όλους τους διακομιστές στους οποίους θέλετε να χρησιμοποιήσετε το Ansible. Σε αυτήν την περίπτωση, στους παραπάνω διακομιστές.

  • Εκτελέστε την παρακάτω εντολή για να εγκαταστήσετε το απαραίτητο λογισμικό που απαιτείται για την εγκατάσταση του ansible.
[email protected]:~# apt install software-properties-common
  • Εγκαταστήστε το αποθετήριο με το πακέτο ansible.
[email protected]:~# apt-add-repository --yes --update ppa:ansible/ansible
  • Ενημερώστε το προηγμένο εργαλείο συσκευασίας (apt)
[email protected]:~# apt update
  • Και, τέλος, εκτελέστε την παρακάτω εντολή για εγκατάσταση
[email protected]:~# apt install ansible

Θα χρειαστούν λίγα δευτερόλεπτα για να εγκαταστήσετε το απαραίτητο πακέτο.

  Τι είναι το Xbox Cloud Gaming (Project xCloud);

Πώς διασφαλίζετε την εγκατεστημένη και την έκδοσή του;

Λοιπόν, είναι εύκολο. Μπορείτε να χρησιμοποιήσετε τη σύνταξη –version με ansible για να μάθετε όπως παρακάτω.

[email protected]:~# ansible --version
ansible 2.8.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0]
[email protected]:~#

Όπως μπορείτε να δείτε, το Ansible 2.8.1 είναι εγκατεστημένο και παρέχει τις απαραίτητες πληροφορίες, όπως τοποθεσία αρχείου διαμόρφωσης, λειτουργική μονάδα python.

Στη συνέχεια, πρέπει να κάνουμε ανταλλαγή κλειδιών SSH, ώστε να εξυπηρετήσουμε και ένας πελάτης να μπορεί να μιλήσει μεταξύ τους.

Ανταλλαγή κλειδιών SSH

Το Ansible συνδέεται με τον πελάτη του μέσω SSH (Secure shell).

Θα δημιουργήσουμε πρώτα ένα δημόσιο κλειδί στον διακομιστή ansible, το οποίο πρέπει να αντιγραφεί στον υπολογιστή-πελάτη ansible.

Βεβαιωθείτε ότι έχετε συνδεθεί ως χρήστης root.

  • Δημιουργήστε το κλειδί χρησιμοποιώντας την εντολή ssh-keygen όπως φαίνεται παρακάτω
[email protected]:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cDapZBESo+8XcbXupbtILkFrklUSpwa70Y1c7yH5K1A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    =.+oo .      |
|   . B.B.= .     |
|  . o @oE +      |
|   . *oO * .     |
|    o++.S + .    |
|   .o +o . +     |
|    .o..o +      |
|     ..o o .     |
|       .o o.     |
+----[SHA256]-----+
[email protected]:~#

Όπως θα έχετε παρατηρήσει, έχει δημιουργήσει ένα δημόσιο κλειδί στο φάκελο .ssh. Η πλήρης διαδρομή είναι /root/.ssh/id_rsa.pub

  Πώς να επαναφέρετε το Apple Watch χρησιμοποιώντας το iPhone σας

Σημείωση: βεβαιωθείτε ότι τα αρχεία του ιδιωτικού και του δημόσιου κλειδιού δεν είναι παγκοσμίως αναγνώσιμα. Μπορείτε να παραθέσετε τα αρχεία για να τα επαληθεύσετε.

cd /root/.ssh
[email protected]:~# ls -l 
-rw------- 1 root root 1679 Jun 19 00:37 id_rsa 
-rw------- 1 root root 404 Jun 19 00:37 id_rsa.pub

Εάν παρατηρήσετε ότι η άδεια είναι λανθασμένη, τότε μπορείτε να την αλλάξετε χρησιμοποιώντας την εντολή chmod

Πρώην:

chmod 400 id_rsa
chmod 400 id_rsa.pub

Ας αντιγράψουμε το δημόσιο κλειδί στον κεντρικό υπολογιστή Ansible που η διεύθυνση IP είναι 192.168.56.101

[email protected]:~/.ssh# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '10.0.0.25 (10.0.0.25)' can't be established.
ECDSA key fingerprint is SHA256:eXduPrfV0mhxUcpsZWg+0oXDim7bHb90caA/Rt79cIs.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

[email protected]:~/.ssh#

Μπορείτε να δείτε στην παραπάνω έξοδο, 1 κλειδί προστέθηκε με επιτυχία. Αυτό υποδηλώνει ότι ανταλλάσσεται το κλειδί SSH.

  Πώς να δημιουργήσετε ένα περίγραμμα σελίδας στο Microsoft Word

Στη συνέχεια, θα ρυθμίσουμε έναν πελάτη Ansible.

Ρύθμιση Ansible Client

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

Η εγκατάσταση πελάτη ή κεντρικού υπολογιστή δεν είναι παρά να ενημερώνει τον διακομιστή Ansible για τους πελάτες. Και για να γίνει αυτό:

  • Συνδεθείτε στον διακομιστή Ansible
  • Μεταβείτε στο /etc/ansible
  • Προσθέστε τα παρακάτω στο αρχείο hosts χρησιμοποιώντας τον αγαπημένο σας επεξεργαστή
[Client] 
node1 ansible_ssh_host=10.0.0.25

Ansible Test

Εάν έχετε ακολουθήσει όλα τα βήματα σωστά, θα λάβετε ένα μήνυμα SUCCESS όταν εκτελέσετε την παρακάτω εντολή στον διακομιστή ansible.

[email protected]:~/.ssh# ansible -m ping Client
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    }, 
    "changed": false, 
    "ping": "pong"
}
[email protected]:~/.ssh#

Ο Thea παραπάνω κάνει ping στον πελάτη για να δοκιμάσει τη συνδεσιμότητα και να επιβεβαιώσει αν είναι καλή ή όχι.

συμπέρασμα

Ελπίζω αυτό να σας δώσει μια ιδέα για να ξεκινήσετε με την εγκατάσταση και την αναπαραγωγή. Μείνετε συντονισμένοι για περισσότερα μαθήματα για το Ansible ή δείτε επίσης αυτό το μάθημα Udemy Mastering Ansible.