למדו על ספר השמעה מובהק לאוטומציה של המשימות

למדו על ספר ההשמעה Ansible לאוטומציה של המשימות.


בעבר דנו במבוא תשובה, במדריך ההתקנה, ובהמשך נדבר על Playbook ואבני הבניין שלו.

מהו ספר השמעה מובהק?

ספר ההשמעה הוא שפת אוטומציה מתאימה. זהו קובץ פשוט עם מערכת הוראות. זה בספרי השמעה שבהם אנו מגדירים את מה שאנחנו רוצים ש- Ansible יעשה. ספרי פלייב מכילים הצגות שמריצות משימות והמשימות הללו מריצות מודולים. המשימות שלהם מבצעות ברצף.

לדוגמה, זה יכול להיות פשוט כמו הפעלת סדרת פקודות בשרתים שונים ברצף והפעלה מחדש של אותם שרתים בסדר. לחלופין, זה יכול להיות מורכב כמו פריסה והקצאת מאות VMs בענן ציבורי ופרטי כולל איזון עומסים, ניטור, הגדרות רשת שלהם..

שפת פלייבוק

ספרי פליי הם קבצים פשוטים שנכתבים בקוד YAML.

ימל היא שפת הסדרת נתונים. זה קריא אנושי ומכונה. אינך זקוק למיומנות קידוד מיוחדת בכדי לכתוב קודי YAML. אתה יכול לחשוב על שפת סידורי נתונים כמתרגם לפירוק כל מבנה הנתונים שלך ולהמשכים אותם לפי סדר שניתן לשחזר אותם לשימוש מאוחר יותר. אתה יכול להשתמש במבנה נתונים משוחזר זה באותה סביבה או אפילו בסביבה אחרת.

להלן דוגמה של קובץ YAML להתקנת mysql:


– שם: התקן את MySQL
מארחים: geekflare-mysql-service
משימות:
– שם: התקן את MySQL
פעולה: $ ansible_pkg_mgr pkg = mysql-server state = מותקן
– שם: הוסף את Python MySQL DB
פעולה: $ ansible_pkg_mgr pkg = python-mysqldb state = מותקן

עקרונות בסיסיים על ספר פלייקים

חלק זה של המאמר מכסה את המושגים הבסיסיים של Ansible בכדי להבין יותר על ספר ה- Playable Ansible.

מארחים ומשתמשים

צרכים תשובה מכונות מכוונות בתשתית עליה יש לפרוס מחזות מתוך ספר ההשמעה Ansible. מארחים מתווספים למלאי Ansible דרך כתובות ה- IP שלהם. מארחים הם רשימה של קבוצה אחת או יותר או תבניות מארחים המופרדות על ידי מעי גס. המשתמש המרוחק מכיל את שם חשבון המשתמש.


– מארחים: ProdServers
משתמש מרחוק: geekflare

משתנים

משתנים מאפשרים לך לשנות את אופן פעולת ספר ההשמעה. ניתן להשתמש בהם כמעט בכל מקום בספר ההשמעה ויכולים לעבור בירושה ממלאי, שנקבע באופן מפורש בזמן ריצה, שהתגלה בתחילת הפעלת חוברת השמעה. באפשרותך להגדיר שם משתנה באמצעות אותיות, מספרים וקווים תחתונים, אך עליו להתחיל רק באות.

לדוגמה, port_01 הוא משתנה תקף, ואילו 01_post הוא משתנה לא חוקי. להלן דוגמא למשתנים בספר פלייבק עם תשובה:

vars:
http_port: 80
max_clients: 200

מלאי

כדי להפעיל ספר משחק, אתה זקוק לרשימת יעדים אליהם ברצונך שהאוטומציה תתרחש. זה מה שמלאי עושה. ניתן לבנות ולאחסן רשימות מלאי בכמה דרכים שונות, כולל קבצים סטטיים, כלומר מארחי Ansible. לחלופין, ניתן ליצור אותה באופן דינמי באמצעות סקריפט מלאי שימשוך רשימת מארחים למקור חיצוני.

אתה יכול גם לציין משתנה כחלק מרשימת המלאי. מלאי הוא בסופו של דבר רשימה של דברים שברצונך להפוך לאוטומציה.

[שרתי אינטרנט]
192.168.20.1
192.168.20.2
192.168.20.4
[dbservers]
172.17.1.56
172.17.1.57

משימות

מנגן במשימות הפעלה רשימות אחראיות. המשימה אחראית על הפעלת מודולים אחראיים. בכל פעם, רק משימה אחת יכולה לרוץ, ומשימות מבוצעות בסדר רצוף. המשימות שלהם כתובות ב- YAML, שהיא די דומה לאנגלית בשפה.

לדוגמאות: התקן את שם החבילה, עדכן את שם התוכנה וכו ‘. להלן דוגמה למשימה בספר ההשמעה Ansible להתקנת httpd:

משימות:
– שם: התקן את חבילת httpd
yum: name = httpd state = האחרונה

מטפלים

מטפלים הם סוג מיוחד של משימות.

הם יכולים להיות מופעלים על ידי משימה ומופעלים פעם אחת בסוף ההצגה. הוא משמש לשליחת התראות אם חל שינוי בקובץ התצורה, לדוגמה, הודע לשירות להתחיל אפאצ ‘י לאחר התקנתו. תחביר “התראות” משמש להתקשר למטפלים. להלן דוגמה למטפל להפעלה מחדש של אפאצ ‘י:


– מארחים: כולם
משימות:
– שם: ודא שאפצ’י נמצא בגירסה האחרונה
yum: name = httpd state = האחרונה
הודע:
– הפעל מחדש את אפאצ ‘י
– שם: ודא ש- apache פועל (והפעל אותו בעת האתחול)
שירות: שם = מצב httpd = מופעל מופעל = כן
מטפלים:
– שם: הפעל מחדש את אפאצ ‘י
שירות: שם = מצב httpd = הפעלה מחדש

צור והפעל את ספר ההשמעה הראשון שלך

אני אגיד לך איך לכתוב ספר משחק. כל ספר השמעה מתחיל בשלושה מקפים (-) בחלקו העליון.

הדבר הראשון שאתה מזכיר בספר פלייבק עם תשובה הוא המכונות המארחות עליהן תרצה להפעיל את ספר ההשמעה.

אז אתה יכול להזכיר משתנים על ידי איסוף עובדות; אז אתה יכול להזכיר את המשימות השונות שאתה רוצה לבצע. עכשיו, זכור שהמשימה מבוצעת באותו סדר שאתה כותב להם. לדוגמה, ברצונך להתקין תוכנה A ראשונה ואז תוכנה B, וודא שהמשימה הראשונה שנכתבה בספר ההשמעה היא להתקין תוכנה A והמשימה הבאה יכולה להתקין תוכנה B.

ואז יש לך מטפלים בתחתית. המטפלים הם גם משימות, אך ההבדל הוא לבצע מטפלים אתה זקוק למעין טריגרים ברשימת המשימות להפעלת מטפלים..

הרשה לי להראות לך כיצד ליצור ספר משחק אחראי להתקנה ולהפעלה של nginx במארח ולהפעלתו.

צור קובץ .yml שם תציב את קודי YAML שלך ליצירת ספר משחק אחראי.

gedit nginx.yml

הכנס את קוד YAML למטה בקובץ זה ושמור את הקובץ.


– מארחים: לקוח
sudo: כן
vars:
– server_port: 8080

משימות:
– שם: מתקין את שרת האינטרנט nginx
apt: pkg = nginx state = מותקן update_cache = true
הודע:
– התחל

מטפלים:
– שם: התחל nginx
שירות: שם = מצב nginx = התחיל

קובץ YAML לעיל מתחיל במארחים, אני רוצה להפעיל את ספר ההשמעה הזה במחשב הלקוח (לקוח). כתובת ה- IP של הלקוח נשמרה כבר בקובץ / etc / ansible / hosts.

השורה הבאה מאפשרת לבצע את המשימות עם הרשאות sudo.

ואז הגדרתי את server_port כמשתנה בספר ההשמעה הזה.

ואז מגיע המשימה הראשונה שלי בספר ההשמעות האחראי הזה להתקנת שרת אינטרנט Nginx. למשימה זו יש גם פרמטר להודיע, שפירושו לאחר משימה זו מטפל עם הפעלה.

לבסוף כתבתי מטפל שיפעל nginx במחשב הלקוח.

עכשיו כשאתה ברור עם קודי YAML בספר ההשמעה האחראי, בוא ננהל את ספר ההשמעה. להלן התחביר להפעלת ספר משחק אחראי:

ansible-playbook file_name.yml

כעת, אנהל את ספר ההשמעה האחראי, אותו אני יוצר להתקנה ולהפעלה של nginx.

[מוגן בדוא”ל]: / home / geekflare # ansible-playbook nginx.yml

הפעל [לקוח] *********************************************** ********************

משימה [איסוף עובדות] ********************************************** ************
בסדר: [node1]

משימה [התקנת שרת רשת nginx] ******************************************** ****

השתנה: [node1]

RUNNING HANDLER [start nginx] ********************************************* ******
בסדר: [node1]

PLAY RECAP ************************************************* *********************
node1: בסדר = 3 השתנה = 1 לא ניתן להגיע = 0 נכשל = 0 דילג = 0 חולץ = 0 התעלם = 0

הפעל את הפקודה למטה כדי לבדוק אם שרת nginx הותקן והופעל כראוי על ידי ספר ההשמעה האחראי.

[מוגן בדוא”ל]: / home / geekflare # ps waux | grep nginx
שורש 3021 0.0 0.0 77676 1516? Ss 15:27 0:00 nginx: תהליך אב / usr / sbin / nginx -g דמון מופעל; master_process ב-;

סיכום

זה היה בערך ספר ההשמעה Ansible. אני מקווה שמאמר זה עזר לך ללמוד כיצד אתה יכול ליצור ולהפעיל ספר משחק “Ansible”. בדוק את זה קורס, אם ברצונך ללמוד נושאים מתקדמים ב- Ansible, כולל תפקידים, Jinja2, Lookups, Filter, Modules Custom.

תגיות:

  • תשובה

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map