הדרכה הניתנת לתשומת לב - למדו לכתוב ספרי השמעה הנגישים



בבלוג זה של מדריך Ansible תלמד כיצד לכתוב חוברות פליי של Ansible, פקודות adhoc ולבצע מעשי כדי לפרוס את Nginx במחשב המארח שלך.

הדרכה רלוונטית

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

תן לי לתת לך סקירה כללית של 'הדרכה רגישת עין' זו:





הדרכה לפנקס ההפעלות הדרכת DevOps | אדוריקה

הדרכה אפשרית - כתיבת חוברות פליינסיב

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



עבור Ansible, כמעט כל קובץ YAML מתחיל ברשימה. כל פריט ברשימה הוא רשימה של זוגות מפתח / ערך, המכונים בדרך כלל 'hash' או 'מילון'. לכן עלינו לדעת לכתוב רשימות ומילונים ב- YAML.

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

לְמָשָׁל לרשימת מחלקות באדוריקה:



מחלקות: - שיווק - מכירות - פתרונות - כתיבת תוכן - תמיכה - מוצר

הרשו לי לתת לכם דוגמה למילון:

-ארה'ב - יבשת: צפון אמריקה - בירה: וושינגטון הבירה - אוכלוסייה: 319 מיליון

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

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

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

משתנים:

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

Ansible כבר מגדיר מערך עשיר של משתנים, אישיים לכל מערכת. בכל פעם ש- Ansible יפעל במערכת, כל העובדות והמידע אודות המערכת נאספים ומוגדרים כמשתנים.

אבל יש א כְּלָל לשם מתן שמות למשתנים. שמות משתנים צריכים להיות אותיות, מספרים וקווים תחתונים. משתנים צריכים להתחיל תמיד באות. לְמָשָׁל. wamp_21, port5 הוא שמות משתנים תקפים, ואילו 01_port, _ server אינם חוקיים.

משימות:

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

למשל: התקן, עדכן וכו '.

מטפלים:

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

הרשו לי לתת לכם דוגמה לחוברת הפעלה שתפעיל את תוכנית השרת Apd httpd:

----מארחים: שרתי אינטרנט של מי: http_port: 80 מקסימום לקוחות: 200 מרחוק_משתמש: שורש משימות: - שֵׁם: ודא שאפאצ'י הוא בגירסה העדכנית ביותר יאם: שם = httpd מצב = אחרון - שֵׁם: כתוב את קובץ התצורה של אפאצ'י תבנית: src = / srv / httpd.j2 dest = / etc / httpd.conf לְהוֹדִיעַ: - הפעל מחדש את אפאצ'י - שֵׁם: ודא שאפאצ'י פועל (והפעל אותו בעת האתחול) שֵׁרוּת: שם = httpd מצב = התחל מופעל = כן מטפלים: - שֵׁם: הפעל מחדש את אפאצ'י שֵׁרוּת: שם = httpd מצב = הופעל מחדש

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

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

מהו מרחב שמות ב- c ++

הדרכה רלוונטית - מודולים

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

ישנם סוגים שונים של מודולים ב- Ansible

  • מודולי ליבה
  • מודולי תוספות

מודולי ליבה

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

המקור למודולים אלה מתארח על ידי Ansible ב- GitHub בגרעין Ansible-modules.

תוספות מודולים

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

ניתן לקדם מודולים פופולריים של 'תוספות' למודולי ליבה לאורך זמן.

המקור למודולים אלה מתארח על ידי Ansible ב- GitHub ב- Ansible-modules-extras.

לדוגמא: אחד ממודולי התוספות במודולים לניהול מרחוק הוא ipmi_power module, המהווה מתח חשמלי למכונות המרוחקות. זה דורש פיתון 2.6 ואילך ופיגמי לרוץ.

אתה יכול להשתמש במודול זה על ידי כתיבת פקודה adhoc כמו זו שכתבתי להלן:

ipmi_power: name = 'test.domain.com' user = 'localhost' password = 'xyz' state = 'on'

הדרכה ראויה לתשובה - ערכי החזרה

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

כמה דוגמאות לערכי החזר הם:

  • שונה: חוזר עם ערך בוליאני בכל פעם שהמשימה מבצעת שינוי כלשהו.
  • נכשל: מחזיר ערך בוליאני אם המשימה נכשלה
  • msg: הוא מחזיר מחרוזת עם הודעה כללית המועברת למשתמש.

הדרכה רגישות - פקודות AdHoc

פקודות Adhoc הן פקודה פשוטה של ​​שורה אחת לביצוע פעולה כלשהי. הפעלת מודולים עם פקודות Ansible הן פקודות adhoc.

לְמָשָׁל:

מארח ansible -m netscaler -a 'nsc_host = nsc.example.com משתמש = סיסמת apiuser = apipass' 

הפקודה adhoc הנ'ל משתמשת במודול netscaler כדי להשבית את השרת. ישנם מאות מודולים זמינים ב- Ansible, מהם תוכלו להתייחס ולכתוב פקודות adhoc.

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

הדרכה רגישות - ידיים

אני הולך לכתוב חוברת השמעה להתקנת Nginx במכשיר הצומת / מארח שלי.

בואו נתחיל :)

שלב 1: התחבר למארחים שלך באמצעות SSH. לשם כך, עליך ליצור מפתח SSH ציבורי.

תנאים מוקדמים ללמוד למידת מכונה

השתמש בפקודה למטה:

ssh-keygen

צור מפתח Ssh - הדרכה רגילה - אדוריקה

כפי שניתן לראות בתצלום המצוין למעלה, הפקודה ssh-keygen יצר מפתח SSH ציבורי.

שלב 2: המשימה הבאה שלך היא להעתיק את מפתח ה- SSH הציבורי למארחים שלך. על מנת לעשות זאת, השתמש בפקודה למטה:

ssh-copy-id -i root @

תמונת המצב שלמעלה מציגה את המפתח SSH המועתק למארחים.

שלב 3: רשום את כתובות ה- IP של המארחים / הצמתים שלך במלאי שלך.

השתמש בפקודה הבאה:

vi / etc / ansible / hosts

זה יפתח עורך vi שבו תוכל לרשום את כתובות ה- IP של המארחים שלך. זה עכשיו המלאי שלך.

שלב 4: בואו נלך לוודא שנוצר חיבור.

תמונת המצב שלמעלה מאשרת כי נוצר חיבור בין מכונת הבקרה שלך למארח.

שלב 5: בואו נכתוב כעת חוברת השמעה להתקנת Nginx במחשב המארח. אתה יכול לכתוב את חוברת ההשמעה שלך בעורך vi. לשם כך, פשוט צור את חוברת ההפעלה שלך באמצעות הפקודה:

vi

תמונת המצב שלמטה מראה את חוברת ההשמעה שלי להתקנת Nginx שנכתבה בפורמט YAML.

יש vs זה ג'אווה

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

משתנה server_port מוגדר שמאזין ליציאת TCP 8080 לבקשות נכנסות.

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

המשימה הבאה היא קביעת תצורה של Nginx.ב- Nginx, ההקשרים מכילים פרטי תצורה.

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

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

כעת שמור את הקובץ וצא.

שלב 6: עכשיו בוא נפעיל את חוברת ההשמעה הזו באמצעות הפקודה למטה:

ansible-playbook .yml

אנו יכולים לראות בצילום המסך לעיל שהמשימה שלנו היא ביצוע ההתקנה של Nginx.

שלב 7: בואו נבדוק אם Nginx מותקן במחשב המארח שלי. השתמש בפקודה למטה:

ps waux | grep nginx

אתה יכול לראות בצילום המסך לעיל, שמזהי התהליך השונים 3555 ו- 103316 פועלים, מה שמבטיח ש- Nginx פועל במכונות המארח שלך.

מזל טוב! פרסמת בהצלחה את Nginx על המארח שלך באמצעות ספרי הפעלה Ansible. אני מקווה שנהניתם לקרוא את הבלוג הזה של Ansible Tutorial. אנא יידע אותי אם יש לך שאלות בקטע ההערות למטה.

אם מצאת את זה “ הדרכה רלוונטית 'רלוונטי, לבדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. קורס הכשרת ההסמכה של Edureka DevOps עוזר ללומדים לרכוש מומחיות בתהליכים וכלים שונים של DevOps כמו Puppet, Jenkins, Ansible, Nagios ו- Git לאוטומציה של שלבים מרובים ב- SDLC.