הדרכת שף - הפיכת תשתיות לקוד



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

הדרכת שף

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

בהדרכת שף זו הנושאים הבאים יוסקרו:





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



הדרכת שף - אדריכלות שף

כפי שמוצג בתרשים להלן, ישנם שלושה מרכיבי שף עיקריים:

  • עמדת עבודה
  • שרת
  • צמתים

אדריכלות שף - הדרכת שף - אדוריקה

הדרכת שף - תחנת עבודה



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

תחנות העבודה אחראיות לביצוע הפונקציות הבאות:

  • כתיבת ספרי בישול ומתכונים שיועברו אחר כך לשרת השף המרכזי
  • ניהול צמתים בשרת השף המרכזי

עכשיו, הבה נבין את הנקודות הנ'ל בזה אחר זה.

כתיבת ספרי בישול ומתכונים שיועברו אחר כך לשרת השף המרכזי

מתכונים: מתכון הוא אוסף משאבים המתאר תצורה או מדיניות מסוימים. זה מתאר את כל מה שנדרש כדי להגדיר חלק מהמערכת. המשתמש כותב מתכונים המתארים כיצד שף מנהל יישומים ותוכניות שירות (כגון שרת HTTP של אפאצ'י, MySQL או Hadoop) וכיצד הם צריכים להיות מוגדרים.

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

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

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

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

ניהול צמתים בשרת השף המרכזי

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

עכשיו בואו נראה, אילו רכיבים של Workstation נדרשים לביצוע הפונקציות שלעיל.

לתחנות העבודה שני מרכיבים עיקריים:

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

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

הדרכת שף - שרת שף

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

צמתים משתמשים ב- Chef-Client כדי לבקש משרת ה- Chef לפרטי תצורה, כגון מתכונים, תבניות והפצות קבצים. לאחר מכן השף-לקוח מבצע ככל האפשר את עבודות התצורה על הצמתים עצמם (ולא על שרת השף). בכל צומת מותקנת תוכנת Chef Client, שתשלוף את התצורה משרת ה- Chef המרכזי הרלוונטי לאותו צומת. גישה מדרגית זו מפיצה את מאמץ התצורה ברחבי הארגון.

מדריך שף - צמחי שף

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

לקוח השף מבצע את הפונקציות הבאות:

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

לחץ כאן כדי ללמוד כיצד להתקין שף שרת, תחנת עבודה וצומת

מדריך שף - יתרונותיו של השף:

מדריך השף הזה לא יהיה שלם אם אני לא כולל את היתרונות העיקריים של השף:

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

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

הדרכת שף | תחילת העבודה עם שף | אדוריקה

הדרכת שף - מעשי

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

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

שלב 1: התקן את השף DK (ערכת פיתוח) בתחנת העבודה שלך בשף.

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

כאן בחר את מערכת ההפעלה שבה אתה משתמש. אני משתמש ב- CentOS 6.8. אז, אני אלחץ על Red Hat Enterprise Linux .

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

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

בצע זאת:

wget https://packages.chef.io/stable/el/6/chefdk-1.0.3-1.el6.x86_64.rpm

החבילה הורדה כעת. הגיע הזמן להתקין חבילה זו באמצעות סל'ד.

בצע זאת:

סל'ד -ivh chefdk-1.0.3-1.el6.x86_64.rpm

השף DK מותקן כעת בתחנת העבודה שלי.

שלב 2: צור מתכון בתחנת העבודה

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

בצע זאת:

מקדיר שף-רפו תקליטור שף-רפו

במדריך השף-רפו הזה אני אצור מתכון בשם edureka.rb. .rb הוא התוסף המשמש לרובי. אשתמש בעורך vim, אתה יכול להשתמש בכל עורך אחר שתרצה כמו gedit, emac, vi וכו '.

בצע זאת:

vim edureka.rb

כאן הוסף את הדברים הבאים:

file '/ etc / motd' content 'Welcome to Chef' end

זה Recipe הוא דוריקה .rb יוצר קובץ בשם / etc / motd עם התוכן 'ברוך הבא לשף'.

עכשיו אשתמש במתכון זה כדי לבדוק אם הוא עובד.

לבצע זֶה:

שף למרוח edureka.rb

אז יש קובץ שנוצר בשף-רפו המכיל תוכן ברוך הבא לשף.

שלב 3: Mמחסל קובץ מתכון להתקנת חבילת httpd

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

לבצע זֶה:

vim edureka.rb

כאן הוסף את הדברים הבאים:

החבילה 'httpd' שירות 'httpd' לעשות פעולה [: הפעל,: התחל] קובץ סוף '/var/www/html/index.html' תוכן 'ברוך הבא ל- Apache בשף' סוף

עכשיו אשתמש בתצורות אלה על ידי ביצוע הפקודה הבאה:

לבצע זֶה:

שף למרוח edureka.rb

ביצוע הפקודה מתאר בבירור כל מופע במתכון. הוא מתקין את חבילת אפאצ'י, מפעיל ומתחיל את שירות httpd בתחנת העבודה. וזה יוצר קובץ index.html בשורש המסמך המוגדר כברירת מחדל עם התוכן 'ברוכים הבאים לאפאצ'י בשף'.

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

שלב 4: כעת ניצור את ספר הבישול הראשון שלנו.

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

לבצע זֶה:

mkdir ספרי בישול CD ספרי בישול שף יוצר ספר בישול httpd_deploy

httpd_deploy הוא שם שניתן לספר הבישול. אתה יכול לתת כל שם שאתה רוצה.

בואו נעבור לספריה החדשה הזו httpd_deploy.

לבצע זֶה:

cd httpd_deploy

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

לבצע זֶה:

עֵץ

שלב 5: גתגובה מחדש של קובץ תבנית.

מוקדם יותר יצרתי קובץ עם תוכן כלשהו, ​​אבל זה לא יכול להתאים למתכונים ולמבני ספרי הבישול שלי. אז בואו נראה כיצד נוכל ליצור תבנית לדף index.html.

לבצע זֶה:

שף יוצר תבנית httpd_deploy index.html

כעת אם אתה רואה את מבנה קובץ ספרי הבישול שלי, יש תיקיה שנוצרה עם תבניות השם עם קובץ index.html.erb. אני אערוך את קובץ התבנית index.html.erb הזה ואוסיף לו את המתכון שלי. עיין בדוגמה שלהלן:

עבור לספריית ברירת המחדל

לבצע זֶה:

cd / root / chef-repo / book cook / httpd_deploy / templates / default

כאן, ערוך את תבנית index.html.erb באמצעות כל עורך שנוח לך. אשתמש בעורך ה- vim.

לבצע זֶה:

vim index.html.erb

כעת הוסף את הדברים הבאים:

ברוך הבא לפריסת השף אפאצ'י

שלב 6: גהשב מתכון עם תבנית זו.

עבור לספריית המתכונים.

בצע t שֶׁלוֹ:

cd / root / chef-repo / ספרי בישול / httpd_deploy / מתכונים

כעת ערוך את קובץ default.rb באמצעות עורך כלשהו שתרצה. אשתמש בעורך ה- vim.

לבצע זֶה:

vim default.rb

כאן הוסף את הדברים הבאים:

חבילה 'httpd' שירות 'httpd' פעולת פעולה [: הפעל,: התחל] תבנית סיום '/var/www/html/index.html' עשה מקור 'index.html.erb' סוף

עכשיו אחזור לתיקיית השף-רפו שלי ואפעיל / אבדוק את המתכון שלי בתחנת העבודה שלי.

לבצע זֶה:

cd / root / chef-repo chef-client --local-mode --runlist 'מתכון [httpd_deploy]'

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

עכשיו לאחר שבדקתי את תחנת העבודה שלי. הגיע הזמן להתקין את שרת השף.

שלב 7: הגדרת שרת שף

אשתמש בגרסה המתארחת של שף שרת בענן, אך ניתן להשתמש גם במכונה פיזית. שרת שף זה נמצא ב manage.chef.io

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

כך נראה שף שרת.

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

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

כשתלחץ שם תקבל אפשרות להוריד את ערכת המתנע. פשוט לחץ עליו כדי להוריד את קובץ ה- zip של Starter Kit.

העבר קובץ זה לספריית הבסיס שלך.כעת פתח את קובץ ה- zip הזה באמצעות פקודת ה- zip במסוף שלך. תוכלו להבחין שהוא כולל ספריה בשם Chef-repo.

לבצע זֶה:

unzip chef-starter.zip

כעת העבירו את ערכת המתנע הזו לספריית ספרי הבישול בספריית chef-repo.

לבצע זֶה:

mv starter / root / chef-repo / cook cookbook

ספרי בישול של השף זמינים בשוק סופר הבישול, נוכל ללכת לשף סופרמרקט. הורד את ספרי הבישול הנדרשים מ supermarket.chef.io . אני מוריד משם את אחד מספרי הבישול כדי להתקין את אפאצ'י.

מיזוג מיון מיון c ++

לבצע e t ח הוא:

CD שף-רפו סכין ספר בישול להורדת אתר Learn_chef_httpd

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

tar -xvf learn_chef_httpd-0.2.0.tar.gz

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

בצע t ח הוא :

cd / root / chef-repo / learn_chef_httpd / מתכונים cat default.rb

עכשיו, אני פשוט אעלה את ספר הבישול הזה לשרת השף שלי מכיוון שהוא נראה מושלם בעיניי.

שלב 8: העלה ספר בישול לשרת השף.

על מנת להעלות את ספר הבישול של אפאצ'י שהורדתי, העבר תחילה את קובץ ה- learning_chef_httpd לתיקיית ספרי הבישול בשף-רפו. ואז שנה את הספרייה שלך לספרי בישול.

בצע t ח הוא :

mv / root / chef-repo / learn_chef_httpd / root / chef-repo / ספרי בישול

כעת עבור לספריית ספרי בישול זו.

בצע זאת:

ספרי בישול לתקליטור

כעת בספריה זו, בצע את הפקודה שלהלן כדי להעלות את ה- Apache Cookbooל:

ביצוע ute t ח הוא:

העלאת ספר בישול סכין Learn_chef_httpd

אמת את ספר הבישול מקונסולת הניהול של שרת השף. בסעיף המדיניות, תמצא את ספר הבישול שהעלית. עיין בצילום המסך למטה:

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

שלב 9: הוספת צומת שף לשרת השף.

לצורך הדגמה אשתמש במכונת CentOS אחת כ- Node Node. יכולות להיות מאות צמתים המחוברים לשרת שף אחד. צבע המסוף של מכונת הצומת שלי שונה מתחנת העבודה כך שתוכלו להבדיל בין שניהם.

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

ביצוע u t הוא t ח הוא:

ifconfig

אוסיף את צומת השף שלי לשרת על ידי הפעלת הפקודה Knife Bootstrap בה אמנה את כתובת ה- IP של The Chef Node ושמה. בצע את הפקודה המוצגת beloב:

ביצוע ute t ח הוא:

bootstrap סכין 192.168.56.102 - שורש משתמש שורש - סיסמה סיסמה edureka - שם שם chefNode

פקודה זו תאותחל גם את ההתקנה של Chef-Client בצומת ה- Chef. אתה יכול לאמת את זה מה- CLI בתחנת העבודה באמצעות פקודת הסכין, כפי שמוצגב:

ביצוע ute t ח הוא:

רשימת צומת סכינים

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

שלב 10: נהל רשימת הפעלת צומת

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

במתכונים הזמינים, תוכלו לראות את המתכון שלנו Learn_chef_httpd, תוכלו לגרור את זה מהחבילות הזמינות לרשימת ההפעלה הנוכחית ולשמור את רשימת ההפעלה.

עכשיו התחבר לצומת שלך ופשוט הפעל שף-לקוח לביצוע ה- Run List.

ביצוע ute t ח הוא:

לקוח ראשי

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

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