נחיל דוקר לתזמור מיכל

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


מה זה דוקר נחיל?

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

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

למה להשתמש בזה? – תזמור מכולות

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

להלן כמה מהתכונות שלה:

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

מיכלים לתזמור תזמור

עכשיו כשאתה יודע את היסודות של Docker Swarm, הבה נבחן דוגמא ליישוםו.

בדוגמה זו יש לי שלוש מכונות שרצות באשכול עם הפרטים שלהלן:

מנהל 1: 192.168.56.104

עובד 1: 192.168.56.105

עובד 2: 192.168.56.102

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

[מוגן בדוא”ל]: ~ $ נחושת דאקר init – advertise-addr 192.168.56.104

נחיל לאתחל: צומת נוכחי (lssbyfzuiuh3sye1on63eyixf) הוא כעת מנהל.

כדי להוסיף עובד לנחיל זה, הפעל את הפקודה הבאה:

דאמר נחיל הצטרף – סימן SWMTKN-1-3h3d8qgvdlxi8tl1oqpfho9khx7i1t5nq7562s9gzojbcm9kr6-azy4rffrzou0nem9hxq4ro5am 192.168.56.104:2377

כדי להוסיף מנהל לנחיל זה, הפעל את ‘מנהל הדואר נחיל לחיבור token’ ופעל לפי ההוראות.

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

הפעלת האסימון בצומת העובד 1.

[מוגן בדוא”ל]: ~ $ נחיל דוקר הצטרף – סימן SWMTKN-1-3h3d8qgvdlxi8tl1oqpfho9khx7i1t5nq7562s9gzojbcm9kr6-azy4rffrzou0nem9hxq4ro5am 192.168.56.104:2377

הצומת הזה הצטרף לנחיל כעובד.

הפעלת האסימון בצומת של עובד 2.

[מוגן בדוא”ל]: ~ $ נחיל דוקר הצטרף – סימן SWMTKN-1-3h3d8qgvdlxi8tl1oqpfho9khx7i1t5nq7562s9gzojbcm9kr6-azy4rffrzou0nem9hxq4ro5am 192.168.56.104:2377

הצומת הזה הצטרף לנחיל כעובד.

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

[מוגן בדוא”ל]: ~ $ צומת docker ls

מזהה HOSTNAME סטטוס נגישות מנהל סטטוס מנועי סטטוס

lssbyfzuiuh3sye1on63eyixf * manager1 מנהיג פעיל מוכן 18.09.6

utdr3dnngqf1oy1spupy1qlhu עובד 1 מוכן פעיל 18.09.6

xs6jqp95lw4cml1i1npygt3cg עובד 2 מוכן פעיל 18.09.6

בואו נבנה את תמונת הדוקר של geekflare_mongodb בה השתמשנו בהדרכת Dockerfile.

docker לבנות – geekflare_mongodb .

הרץ מכולה של תמונת הדוקר של MongoDB על ידי יצירת שירות נחיל. 27017 הוא מספר הנמל עליו נחשף MongoDB.

[מוגן בדוא”ל]: ~ $ שירות הדוקר ליצור שם "מונגו-מיכל" -עמ ‘27017: 27017 geekflare_mongodb

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

kok58xa4zi05psh3uy6s5x9e6

התקדמות כוללת: 1 מתוך 1 משימות

1/1: ריצה

אמת: השירות התכנס

בדוק אם שירות נחילי הדוקר החל. משוכפל MODE פירושו שהמכולה שוכפלה בכל הצמתים באשכול ו- REPLICAS 1/1 פירושו שרק נחיל אחד פועל כרגע.

[מוגן בדוא”ל]: שירות שירות $ $

תווי זיהוי שם מזהה פורטרטים על תמונות

kok58xa4zi05 מונגו-מיכל משכפל 1/1 geekflare_mongodb: האחרונה *: 27017->27017 / tcp

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

[מוגן בדוא”ל]: ~ $ שירות docker ps מונגו-מיכל

תעודת זהות שם תמונה NODE רצוי סטטיסטיקות שוטפות שגיאת מצב

jgqjo92rbq23 Mongo-Container.1 geekflare_mongodb: מנהל אחרון 1 ריצה ריצה לפני כדקה

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

[מוגן בדוא”ל]: ~ $ docker ps

מזהה מיכל תמונות פיקוד שמות יציאות על שם הפקודה

05d77e7b4850 geekflare_mongodb: אחרון   "/ bin / sh -c usr / bin / …"   לפני 2 דקות למעלה 2 דקות 27017 / tcp Mongo-Container.1.jgqjo92rbq23sv01hrufdigtx

אתה יכול להפעיל את שירות הנחיל ב “גלובלי” מצב גם במקום ברירת מחדל “משוכפלת”. מצב גלובלי מריץ משימה אחת של שירות הנחיל על כל הצמתים באשכול.

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

[מוגן בדוא”ל]: ~ $ שירות הדוקר rm מונגו-מיכל

מונגו-מיכל

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

[מוגן בדוא”ל]: ~ $ שירות הדוקר ליצור שם "מונגו-מיכל" -עמ ‘27017: 27017 – מצב geekflare_mongodb גלובלי

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

mfw8dp0zylffppkllkcjl8391

התקדמות כוללת: 3 מתוך 3 משימות

utdr3dnngqf1: רץ

lssbyfzuiuh3: רץ

xs6jqp95lw4c: פועל

אמת: השירות התכנס

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

[מוגן בדוא”ל]: שירות שירות $ $

תווי זיהוי שם מזהה פורטרטים על תמונות

mfw8dp0zylff Mongo-Container Global 3/3 geekflare_mongodb: אחרון *: 27017->27017 / tcp

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

[מוגן בדוא”ל]: ~ $ שירות docker ps מונגו-מיכל

תעודת זהות שם תמונה NODE רצוי סטטיסטיקות שוטפות שגיאת מצב

zj2blvptkvj6 Mongo-Container.xs6jqp95lw4cml1i1npygt3cg geekflare_mongodb: עובד אחרון 2 רץ רץ לפני כדקה

3eaweijbbutf Mongo-Container.utdr3dnngqf1oy1spupy1qlhu geekflare_mongodb: עובד אחרון 1 ריצה ריצה לפני כדקה

yejg1o2oyab7 Mongo-Container.lssbyfzuiuh3sye1on63eyixf geekflare_mongodb: manager last1 ריצה ריצה לפני כדקה

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

[מוגן בדוא”ל]: ~ $ שירות הדוקר rm מונגו-מיכל

מונגו-מיכל

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

[מוגן בדוא”ל]: ~ $ שירות הדוקר ליצור שם "מונגו-מיכל" -p 27017: 27017 – replicas = 2 geekflare_mongodb

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

4yfl41n7sfak65p6zqwwjq82c

התקדמות כוללת: 2 מתוך 2 משימות

1/2: ריצה

2/2: ריצה

אמת: השירות התכנס

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

[מוגן בדוא”ל]: ~ $ שירות docker ps מונגו-מיכל

תעודת זהות שם תמונה NODE רצוי סטטיסטיקות שוטפות שגיאת מצב

xukodj69h79q Mongo-Container.1 geekflare_mongodb: עובד אחרון 1 ריצה ריצה לפני 9 שניות

e66zllm0foc8 Mongo-Container.2 geekflare_mongodb: המנהל האחרון1 ריצה ריצה לפני 9 שניות

עבור לצומת העובד 1 ובדוק אם מיכל הדוקר מריץ את שירות הנחיל.

[מוגן בדוא”ל]: ~ $ docker ps

מזהה מיכל תמונות פיקוד שמות יציאות על שם הפקודה

5042b7f161cb geekflare_mongodb: אחרון   "/ bin / sh -c usr / bin / …"   לפני כדקה למעלה בערך דקה 27017 / tcp Mongo-Container.1.xukodj69h79q3xf0pouwm7bwv

כדי לעצור מיכל זה, הפעל את הפקודה למטה.

[מוגן בדוא”ל]: ~ $ docker stop 5042b7f161cb

5042b7f161cb

כעת מצומת manager1 אם תבדוק אילו הצמתים מריצים את השירות, תראה שהוא פועל בצומת manager1 ובצומת העובד2. המצב הנוכחי של הצומת של עובד 1 הוא כיבוי (כשהפסקנו את המכולה שמריצה את השירות). אך מכיוון ששתי העתקות חייבות להפעיל שירות זה, הוחל בשירות אחר של עובד 2.

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

[מוגן בדוא”ל]: ~ $ שירות docker ps מונגו-מיכל

תעודת זהות שם תמונה NODE רצוי סטטיסטיקות שוטפות שגיאת מצב

cd2rlv90umej Mongo-Container.1 geekflare_mongodb: עובד האחרון 2 ריצה ריצה לפני 30 שניות

xukodj69h79q \ _ Mongo-Container.1 geekflare_mongodb: כיבוי האחרון של עובד 1 נכשל לפני 38 שניות    "משימה: יציאה ללא אפס (137)"

e66zllm0foc8 Mongo-Container.2 geekflare_mongodb: manager האחרונה1 ריצה ריצה לפני 3 דקות

קל מאוד לגדול או למטה מכולות עגינה. הפקודה שלמטה תגדיל את מיכל המונגו ל -5.

[מוגן בדוא”ל]: ~ $ בקנה מידה של שירות docker Mongo-Container = 5

מונגו-מיכל קנה מידה ל -5

התקדמות כוללת: 5 מתוך 5 משימות

1/5: ריצה

2/5: ריצה

3/5: ריצה

4/5: ריצה

5/5: ריצה

אמת: השירות התכנס

בדוק כמה העתקים של מיכל מונגו פועלים כעת, זה חייב להיות 5.

[מוגן בדוא”ל]: שירות שירות $ $

תווי זיהוי שם מזהה פורטרטים על תמונות

4yfl41n7sfak Mongo-Container משכפל 5/5 geekflare_mongodb: האחרונה *: 27017->27017 / tcp

בדוק היכן חמש העותקים המשוכפלים פועלים באשכול. העתק אחד פועל בצומת manager1 ו -2 העתקים בשני צמתי העובדים כל אחד.

[מוגן בדוא”ל]: ~ $ שירות docker ps מונגו-מיכל

תעודת זהות שם תמונה NODE רצוי סטטיסטיקות שוטפות שגיאת מצב

cd2rlv90umej Mongo-Container.1 geekflare_mongodb: העובד האחרון 2 Running Running לפני 2 דקות

xukodj69h79q \ _ Mongo-Container.1 geekflare_mongodb: כיבוי האחרון של עובד 1 נכשל לפני 2 דקות     "משימה: יציאה ללא אפס (137)"

e66zllm0foc8 Mongo-Container.2 geekflare_mongodb: manager האחרונה1 ריצה ריצה לפני 5 דקות

qmp0gqr6ilxi Mongo-Container.3 geekflare_mongodb: עובד האחרון 2 ריצה ריצה לפני 47 שניות

9ddrf4tsvnu2 Mongo-Container.4 geekflare_mongodb: עובד אחרון 1 ריצה ריצה לפני 46 שניות

e9dhoud30nlk Mongo-Container.5 geekflare_mongodb: עובד אחרון 1 ריצה ריצה לפני 44 שניות

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

[מוגן בדוא”ל]: ~ $ עדכון צומת docker – מנהל ניקוז זמינות 1

מנהל 1

בדוק את הזמינות של צומת המנהל.

[מוגן בדוא”ל]: ~ $ צומת docker ls

מזהה HOSTNAME סטטוס נגישות מנהל סטטוס מנועי סטטוס

lssbyfzuiuh3sye1on63eyixf * manager1 מנהיג ניקוז מוכן 18.09.6

utdr3dnngqf1oy1spupy1qlhu עובד 1 מוכן פעיל 18.09.6

xs6jqp95lw4cml1i1npygt3cg עובד 2 מוכן פעיל 18.09.6

תראה שהשירותים כבר לא פועלים בצומת הניהול; הם מפוזרים על צומת העובדים באשכול.

[מוגן בדוא”ל]: ~ $ שירות docker ps מונגו-מיכל

תעודת זהות שם תמונה NODE רצוי סטטיסטיקות שוטפות שגיאת מצב

cd2rlv90umej Mongo-Container.1 geekflare_mongodb: העובד האחרון 2 Running Running 5 דקות לפני

xukodj69h79q \ _ Mongo-Container.1 geekflare_mongodb: הכיבוי האחרון של עובד 1 נכשל לפני 5 דקות      "משימה: יציאה ללא אפס (137)"

qo405dheuutj Mongo-Container.2 geekflare_mongodb: עובד אחרון 1 ריצה ריצה לפני 41 שניות

e66zllm0foc8 \ _ Mongo-Container.2 geekflare_mongodb: manager manager1 כיבוי כיבוי לפני 44 שניות

qmp0gqr6ilxi Mongo-Container.3 geekflare_mongodb: עובד האחרון 2 ריצה ריצה לפני 3 דקות

9ddrf4tsvnu2 Mongo-Container.4 geekflare_mongodb: עובד אחרון 1 ריצה ריצה לפני 3 דקות

e9dhoud30nlk Mongo-Container.5 geekflare_mongodb: עובד אחרון 1 ריצה ריצה לפני 3 דקות

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

תגיות:

  • דוקר

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