Σφάλμα αγνοίας απόλυτο

Sphalma Agnoias Apolyto



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

Σε αντίθεση με τη διόρθωση σφαλμάτων, η αποφυγή αστοχιών συνεπάγεται τη συνέχιση των εργασιών όσο η δραστηριότητα στο βιβλίο παιχνιδιού Ansible δεν επηρεάζεται. Το εργαλείο ansible εκδίδει ένα προειδοποιητικό μήνυμα όταν δεν μπορεί να ολοκληρώσει μια εργασία ή ένα βιβλίο κατά την εντοπισμό σφαλμάτων μιας εργασίας. Υπάρχουν πολλές αιτίες, αλλά είναι στο χέρι μας να τις εντοπίσουμε και να βρούμε μια λύση. Δυστυχώς, δεν μπορούν να διορθωθούν όλα τα σφάλματα. Μπορείτε να επιλέξετε να αρχίσετε να αγνοείτε τα σφάλματα εάν δεν θέλετε ή εάν δεν μπορείτε να επιλύσετε το πρόβλημα.







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



Τρόποι αγνοώντας τα λάθη στο Ansible

Στο Ansible, χρησιμοποιούνται διαφορετικοί τρόποι για την εκτέλεση των εργασιών του βιβλίου αναπαραγωγής, εάν δείχνει την αποτυχία της εργασίας. Οι παρακάτω είναι οι διαφορετικοί τρόποι που θα βοηθήσουν στην εκτέλεση της εργασίας ακόμα κι αν το Ansible εμφανίζει σφάλματα:



1. Χρησιμοποιώντας την εντολή Ignore_Errors=True Command





Παρόλο που η εργασία συνεχίζει να αποτυγχάνει, το βιβλίο αναπαραγωγής συνεχίζει να εκτελείται εάν καθορίσετε την εντολή ignore_errors=true στο κάτω μέρος της δραστηριότητας. Παρά το γεγονός ότι ενδιαφέρεται για την ολοκλήρωση της εργασίας ή τις αποτυχίες, εξακολουθεί να πραγματοποιεί την επόμενη δραστηριότητα. Εάν με κάποιο τρόπο η δραστηριότητα είναι ανεπιτυχής, προχωρά στην επόμενη. Εάν η δραστηριότητα είναι επιτυχής, ολοκληρώνει μια διαδικασία μετά από αυτό.

2. Χρησιμοποιώντας τη λειτουργία ελέγχου στο Ansible



Χρησιμοποιήστε τις ειδικές μεταβλητές Boolean, τη λειτουργία ελέγχου Ansible, η οποία ορίζεται σε True όταν η Ansible βρίσκεται στη μέθοδο ελέγχου για να παρακάμψετε μια εργασία ή να αγνοήσετε τις αστοχίες σε μια εργασία κάθε φορά που χρησιμοποιείται η έκδοση της μεθόδου ελέγχου του Ansible.

3. Χρήση της εντολής Failed=When στο Ansible Playbook

Στο Ansible, μπορούμε επίσης να χρησιμοποιήσουμε το falls_when υπό όρους για να καθορίσουμε οποιαδήποτε 'αποτυχία' υπονοείται για κάθε δραστηριότητα. Παρόμοια με όλες τις εντολές υπό όρους Ansible, οι λίστες πολλών κριτηρίων αποτυχίας_όταν συνδυάζονται με ένα σιωπηρό. Έτσι, η εργασία αποτυγχάνει μόνο εάν πληρούνται όλες οι προϋποθέσεις.

Προϋποθέσεις για να αγνοήσετε τα σφάλματα στο Ansible

Το εργαλείο διαμόρφωσης Ansible πρέπει να συμμορφώνεται με τα απαραίτητα κριτήρια για να συμπεριλάβει το συγκεκριμένο παράδειγμα:

  • Ένας κεντρικός διακομιστής Ansible ή μπορούμε να πούμε ότι ένας διακομιστής ελέγχου είναι απαραίτητος ώστε να μπορούμε να διαμορφώσουμε τις εντολές στη συσκευή προορισμού.
  • Πρέπει να έχουμε τους τοπικούς κεντρικούς υπολογιστές, ώστε να μπορούμε να επικοινωνήσουμε με τον καθένα από αυτούς για να χρησιμοποιήσουμε τους διαφορετικούς τρόπους αγνοώντας τα σφάλματα στο λογισμικό Ansible. Χρησιμοποιούμε τον τοπικό κεντρικό υπολογιστή σε αυτήν την περίπτωση ως απομακρυσμένο διακομιστή στόχο για τη διάρκεια της δραστηριότητας.
  • Γράφουμε τα βιβλία αναπαραγωγής, εκτελούμε τις εντολές σφαλμάτων Ansible ignore και χρησιμοποιούμε τη συσκευή ansible-controller για να παρακολουθούμε τα αποτελέσματα σε απομακρυσμένους κεντρικούς υπολογιστές.

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

Παράδειγμα: Χρήση της εντολής Ignore_Errors=True Command

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

[ ρίζα @ master ansible ] # nano ignore_errors.yml

Μετά τη δημιουργία και την εκκίνηση του βιβλίου αναπαραγωγής ignore_errors.yml, αρχίζουμε τώρα να εισάγουμε τις εντολές στο βιβλίο αναπαραγωγής. Αρχικά, χρησιμοποιούμε την επιλογή 'host', περνώντας τους παρεχόμενους κεντρικούς υπολογιστές ως 'localhost'. Εισαγάγουμε την τιμή 'false' στο όρισμα 'gather facts', ώστε να μην μπορούμε να λάβουμε πρόσθετες πληροφορίες σχετικά με τον τοπικό κεντρικό υπολογιστή κατά την εκτέλεση του playbook.

Μετά από αυτό, αρχίζουμε να παραθέτουμε κάθε εργασία που θέλουμε να ολοκληρώσουμε κάτω από την επιλογή 'εργασίες'. Στην πρώτη εργασία, εμφανίζουμε το έγγραφο που δεν υπάρχει στον κατάλογο Ansible. Αρχικά, περνάμε τον τίτλο της εργασίας που θέλουμε να υλοποιήσουμε. Στη συνέχεια, χρησιμοποιούμε την επιλογή εντολής και αποθηκεύουμε το ανύπαρκτο έγγραφο κειμένου και χρησιμοποιούμε «ls» για να μπορούμε να εκτελέσουμε την εντολή στην πρώτη εργασία. Μετά την πρώτη εργασία, χρησιμοποιούμε την εντολή ignore_errors=true, έτσι ώστε εάν η εργασία πάνω από την πρόταση ignore έχει αποτυχία, να αγνοήσει την εργασία και να μετακινηθεί στην επόμενη εργασία και να την εκτελέσει.

Παραθέτουμε μια άλλη εργασία που χρησιμοποιείται. Εάν η πρώτη εργασία αποτύχει, το εργαλείο Ansible πρέπει να εκτελέσει την επόμενη εργασία. Στη συνέχεια, χρησιμοποιούμε την παράμετρο εντοπισμού σφαλμάτων για να εκτελέσουμε την εργασία στο βιβλίο αναπαραγωγής.

- οικοδεσπότες: localhost
συλλογή_γεγονότων: ψευδής
καθήκοντα:
- όνομα: Καταγράψτε ένα ανύπαρκτο αρχείο
εντολή: ls ανύπαρκτος.txt
ignore_errors: αληθής

- όνομα: να συνεχίσει εργασία μετά την αποτυχία
εντοπισμός σφαλμάτων:
msg: 'Συνέχεια εργασίας μετά την αποτυχία'

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

[ ρίζα @ master ansible ] # ansible-playbook ignore_errors.yml

Αφού εκτελέσουμε την προαναφερθείσα εντολή, παίρνουμε την ακόλουθη έξοδο. Όπως βλέπετε, η πρώτη εργασία που παραθέτει ένα ανύπαρκτο αρχείο δείχνει μια αποτυχία. Αλλά η δεύτερη εργασία εκτελείται με επιτυχία επειδή αγνοήσαμε την πρώτη εργασία χρησιμοποιώντας το ignore_error=true στο βιβλίο αναπαραγωγής.

συμπέρασμα

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