אם אתה מפתח, בדרך כלל תרצה להפעיל יישומים באמצעות תחנות Dockerized על Kubernetes. אך השאלה היא, איך לעשות זאת? למה לא לנסות את AWS EKS CLI?
במדריך זה, תלמד כיצד להגדיר את AWS EKS CLI כדי ליצור אשכול Kubernetes, כך שתוכל להתמקד בקוד שלך במקום לנהל את התשתיות.
קרא והתחל ליצור את האשכול שלך היום!
דרישות מוקדמות
מדובר בהדגמה מעשית. אם ברצונך לעקוב, הקפד לוודא שיש לך מחשב אישי וחשבון AWS. אם אין לך חשבון AWS, ישנה אפשרות ליצירת חשבון בחינם כאן.
יצירת משתמש מנהל
לפני שתיצור אשכול Kubernetes, עליך ליצור משתמש מנהל. משתמש מנהל מאפשר לך להתחבר לקונסולת AWS כדי להגדיר את האשכול שלך. התחל את המדריך זה על ידי יצירת משתמש עם הרשאות מנהל דרך קונסולת AWS.
1. התחבר ל קונסולת AWS, ונווט אל לוח המחוונים של IAM שלך.
לחץ על משתמשים (לוח שמאל) —> הוסף משתמשים (למעלה-ימין) כפי שמוצג למטה כדי להתחיל בהוספת משתמשים.

2. לאחר מכן, נא לספק שם משתמש בשדה שם משתמש, כאן K8-Admin משמש, לבדוק את האפשרות מפתח גישה – גישה תכנותית וללחוץ על הבא: הרשאות.
אתה בוחר באפשרות מפתח גישה – גישה תכנותית משום שהיא נגישה באופן תכנותי. כתוצאה, ניתן להשתמש ביישום כדי לתקשר ישירות עם AWS על פעולות לביצוע.

3. נא ללחוץ על האפשרות לצרף מדיניות קיימת ישירות, לבדוק את המדיניות AdministratorAccess, וללחוץ על הבא: תגים.
המדיניות AdministratorAccess מעניקה למשתמש (K8-Admin) גישה מלאה ל-AWS, ועוד כך:
- מאפשרת למשתמש להשתמש ב CloudFormation
- ליצירת מקרני EC2 ולהתחבר ליומני CloudWatch
- להגדרת מאזני עומס אלסטיים.

4. נא ללחוץ על הבא: ביקורת כדי לדלג על הוספת תגיות.

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

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

הפעלת מופע EC2
עכשיו שיצרת את K8-Admin, אתה יכול כעת ליצור את המופע הראשון שלך ב-EC2. תשתמש במופע הזה כנקודת ה-Master שלך, שם תריץ את הפקודות שלך כדי ליצור את האשכול שלך.
1. נווט אל לוח המחוונים שלך ב-EC2, לחץ על EC2, ואז על הפעלת מופעים בחלקו הימני ביותר של העמוד. פעולה זו מפנה את הדפדפן שלך לעמוד שבו תוכל לבחור תמונת מכונה של אמזון (AMI) (שלב שני).

2. לאחר מכן, לחץ על בחר ליד (בצד ימין) ב-Amazon Linux 2 AMI (HVM) מהרשימה, כפי שמוצג למטה.
Amazon Linux 2 AMI (HVM) מספק ליבת Linux 5.10 מותאמת עבור ביצועים אופטימליים של הדור האחרון של חומרת. AMI זו גם כוללת מספר תכונות הנדרשות על ידי אשכולי Kubernetes ברמת ייצור.

3. השאר את ברירת המחדל (t2.micro) עבור סוג המופע ולחץ על הבא: הגדרת פרטי המופע כדי להגדיר את המופע.

4. הפעל את האפשרות הקצאה אוטומטית של כתובת IP ציבורית ולחץ הבא: הוספת אחסון. אפשרות זו מבטיחה שכל אחד מהתכולים שלך יוכל לגשת ל-IP הציבורי של נקודת המאסטר של Kubernetes שלך ולמופעי ה-EC2 שלך.

5. שמור על ברירת המחדל (Root) בדף הוספת אחסון ולחץ על הבא: הוסף תגיות. נכון לשם הגרסה הראשונית הדרושה כדי לקרוא ולכתוב נתונים מבפנים המופע.

6. דלג על הוספת התגיות ולחץ על הבא: הגדר קבוצת אבטחה.

7. שמור על הגדרות ברירת המחדל בקבוצת האבטחה, כפי שמוצג למטה, ולחץ על בקר והשקה.

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

9. בתיבת הדו-שיח, הגדר את זוג המפתחות עם התכונות הבאות:
- בחר צור זוג מפתחות חדש בתיבת הנפתחות.
- בחר RSA כסוג הזוג המפתחות.
- ספק את שם זוג המפתחות המועדף שלך. אבל למדריך זה, שם זוג המפתחות מוגדר ל- my-nvkp.
- לחץ על הורד מפתח זוג, לאחר מכן השק מופעים.

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

קינון כלי ה-CLI של AWS
עכשיו שהמופע שלך רץ, זמן להגדיר את כלי קו הפקודה (CLI). שימוש בכלי CLI בשילוב עם חשבון ה-AWS שלך הוא חיוני ביצירת האשכול של Kubernetes שלך.
1. מלוח המחוונים של EC2 שלך, בדוק את התיבה כדי לבחור במופע, כפי שמוצג למטה. לחץ על התחברות כדי לאתחל את התחברות המופע.

2. לאחר מכן, לחץ על הכפתור התחברות כדי להתחבר למופע שבחרת בשלב הראשון.

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

3. הרץ את הפקודה aws
למטה כדי לבדוק את גרסת ה-CLI שלך.
כפי שניתן לראות מן הפלט למטה, אתה מריץ גרסה 1.18.147 על מופע ה-Linux 2 שלך של אמזון, שהיא מעודכנת. עליך להוריד ולהתקין את גרסת ה-AWS CLI 2+ כדי לוודא שניתן לך גישה לכל התכונות של Kubernetes (שלב שלוש).

4. כעת, הרץ את הפקודה curl
למטה כדי להוריד את כלי ה-CLI v2+ ולשמור אותו בקובץ זיפ בשם awscliv2.zip
.

5. הרץ את הפקודות הבאות כדי לפתוח את הקובץ שהורד ולקבוע איפה ה-CLI הישן מותקן.
כפי שניתן לראות מן הפלט למטה, ה-CLI הישן מותקן בנתיב /usr/bin/aws. עליך לעדכן את הנתיב הזה עם הגרסה המעודכנת.

6. הריצו את הפקודה למטה כדי לבצע את הפעולות הבאות ולעדכן את נתיב ההתקנה של AWS CLI על המכונה שלך:
- התקינו את כלי AWS CLI המעודכנים על המכונה שלך Amazon Linux 2 (
sudo ./aws/install
). - הגדירו את התיקייה (
--install-dir /usr/bin/aws-cli
) שבה תתקינו את כלי ה-CLI. ביצוע זה מאפשר לך להעביר את כלי ה-CLI שעודכנו למכונות אחרות מבלי להתקין את כלי ה-CLI מחדש. - עדכנו (
--update
) את סביבת השקול הנוכחית שלכם עם הנתיב החדש לכלי AWS CLI אם יש כזה בסביבת הנוכחית שלכם.

7. הריצו מחדש את הפקודה aws --version
למטה כדי לוודא שה- AWS CLI עודכן בצורה נכונה.
גרסת AWS CLI המותקנת היא 2.4.7, כפי שמוצג למטה, שהיא גרסת AWS CLI העדכנית ביותר 2.4.7 בזמן כתיבת המאמר.

8. לאחר מכן, הריצו את הפקודה aws configure
כדי להגדיר את המכונה שלכם עם כלי AWS CLI החדשים.
הזינו את הערכים המתאימים בהצגה כפי שמופיע למטה:
- מזהה מפתח לגישה של AWS [ללא] – הזינו את מזהה הגישה של המפתח ששמרתם בקטע הקודם "יצירת משתמש מנהל".
- מפתח גישה סודי של AWS [ללא] – הזינו את מפתח הגישה הסודי ששמרתם בקטע הקודם "יצירת משתמש מנהל".
- שם אזור ברירת מחדל [ללא] – בחרו אזור נתמך, כמו us-east-1.
- תבנית פלט ברירת מחדל [ללא] – הזינו json, מאחר ותבנית JSON היא התקן המועדף לשימוש עם Kubernetes.

הגדרת כלי השורת פקודה של Amazon EKS (eksctl)
מכיוון שהמטרה שלך היא ליצור אשכול Kubernetes עם כלי השורת פקודה של AWS EKS, יש להגדיר גם את כלי השורת פקודה של Amazon EKS (eksctl). כלי זה מאפשר לך ליצור ולנהל אשכולי Kubernetes על Amazon EKS.
1. התקן את הגרסה האחרונה של כלי השורת הפקודה של Kubernetes (kubectl) על מחשב EC2 שלך. כלי זה מאפשר לך להריץ פקודות נגד אשכולי Kubernetes.
2. לאחר מכן, הרץ את פקודת curl
למטה כדי לשלוף את הגרסה האחרונה של eksctl
מ- GitHub לתיקייה שלך ב-/tmp כקובץ .tar.gz, ואז פשוט את תוכן הארכיון לתיקייה /tmp.
הרץ את הפקודות למטה כדי לבצע את הפעולות הבאות:
- שלף את הגרסה האחרונה של
eksctl
מ- GitHub (--location
) כארכיון .tar.gz ("<https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$>(uname -s)_amd64.tar.gz"
) - פשוט את תוכן הארכיון לתיקייה /tmp (
tar xz -C /tmp
), כשדגל--silent
משתיק את פלט התקדמות הפקודה. - העבר (
sudo mv
) את הבינארי של eksctl (/tmp/eksctl
) לנתיב בו התקנת את כלי ה- AWS CLI (/usr/bin
)
3. לבסוף, הריצו את הפקודה למטה כדי לאמת שהתקנתם בהצלחה את eksctl
.
הפלט למטה מאשר שהתקנתם בהצלחה את eksctl.

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

ייבוא האשפתך של אשפתך EKS
עכשיו שהגדרתם את eksctl, תוכלו כעת לייבא את האשפתכם הראשון עם פקודות eksctl
.
הריצו את הפקודה eksctl
למטה כדי ליצור את האשפתכם הראשון ולבצע את הפעולות הבאות:
- צור אשפת Kubernetes של 3 צמתים בשם
dev
עם סוג צומת אחת כ־t3.micro
ואזור כ־us-east-1
. - הגדר מינימום של צומת אחת (
--nodes-min 1
) ומקסימום של ארבע צמתים (--nodes-max 4
) עבור קבוצת הצמתים הזו שמנוהלת על ידי EKS. קבוצת הצמתים נקראתstandard-workers
. - צור קבוצת צמתים בשם
standard-workers
ובחר סוג מכונה עבור קבוצת הצמתיםstandard-workers
.

2. נווטו ללוח המחוונים שלכם של CloudFormation כדי לראות את הפעולות שבוצעו על ידי הפקודה. פקודת eksctl create cluster
משתמשת ב־CloudFormation כדי לייבא את התשתיות בחשבון ה־AWS שלך.
כפי שאתה יכול לראות למטה, נוצרת תשתית CloudFormation בשם eksctl-dev-cluster. התהליך יכול לקחת 15 דקות או יותר להשלים.

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

למטה, תראה את פרטי הקלאסטר של dev, כמו שם ה-Kube Node , סוג המכונה , קבוצת ה-Nodes , וה-Status .

4. החלף ללוח המחוונים שלך של EC2, ותראה ארבעה נודים פעילים, כששלושה מתפקידם הוא t3.micro בחשבון ה- AWS שלך (שלושה נודים עובדים ונוד מאסטר).

5. לבסוף, הפעל את הפקודה הבאה כדי לעדכן את קובץ ה- kubeconfig שלך (update-kubeconfig
) עם נקודת הקצה, התעודה, וההרשאות של הקלאסטר שלך.

הפעלת אפליקציה על קלאסטר EKS
יצרת את הקלאסטר שלך ב-EKS ואימתת שהוא פועל בצורה מושלמת. אך כרגע, הקלאסטר פשוט עומד בפינה. למענה על זה, תשתמש בקלאסטר EKS זה על ידי הפקת אפליקציה NGINX כדי לבצע הדגמה.
1. הריץ את הפקודה yum
למטה כדי להתקין את git
ולקבל את כל התגובות באופן אוטומטי (-y
) במהלך ההתקנה.

2. לאחר מכן, הריץ את הפקודה git clone
למטה כדי לשכפל את קבצי התצורה ממאגר ה-GitHub לתיקיית הנוכחית שלך. תשתמש בקבצים אלה כדי ליצור פריסת NGINX בקטנוניות שלך וליצור מאזן עומס (ELB).

3. הריץ את הפקודות הבאות כדי להעביר לתיקייה ata-elk
, וליצור (kubectl apply
) שירות עבור NGINX (./nginx-svc.yaml
).

4. לאחר מכן, הריץ את הפקודה kubectl get service
כדי לבדוק את מצב השירות שלך של NGINX.
כפי שאתה רואה למטה, סוג השירות הוא מאזן עומס, ו-Kubernetes יצר שירות (nginx-svc), שהוא הפריסה שלך של NGINX. תוכל גם לראות את שם המארח החיצוני של מאזן העומס שנוצר על ידי EKS תחת העמודה כתובת IP חיצונית.
שים לב לשם המארח החיצוני של מאזן העומס מראש מכיוון שתצטרך אותו מאוחר יותר כדי לבדוק את מאזן העומס.

5. הריץ את הפקודה kubectl
למטה כדי לפרוס את קטנוניות ה-NGINX.

6. הרץ את הפקודות הבאות kubectl get
כדי לבדוק את מצב ה־NGINX שלך deployment
וה־NGINX שלך pod
.
כפי שניתן לראות בפלט למטה, יש שלושה פודים באתר הפצתך, וכולם פועלים.

7. לאחר מכן, הרץ את הפקודה kubectl get node
כדי לבדוק את מצב צמתי ה־worker שלך.

8. עכשיו, הרץ את הפקודה curl
למטה כדי לבדוק את הטעינה שלך. החלף <LOAD_BALANCER_DNS_HOSTNAME>
עם שם ה־DNS שרשמת למעלה (שלב חמישי).
תראה את דף הבית של NGINX מהשירות NGINX שנוצר על ידי EKS, כפי שמוצג למטה. הפלט למטה מאשר כי מאזנת העומס שלך עובדת כראוי ושניתן לגשת אל פודי ה־NGINX שלך.

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

בדיקת שליטת Kubernetes מוצפנת
כעת שיש לך אשכול רץ, תבדוק אם שליטת Kubernetes זמינה באופן גבוה. זמן עמידות היישום שלך תלוי בתכונה זו. אם שליטת המערכת אינה עובדת, היישומים שלך יהיו לא פעילים ולא יוכלו לשרת משתמשים.
באמצעות תכונת שליטת Kubernetes מוצפנת, אתה מגביר את זמינות היישום שלך. אתה תבדוק את התכונה הזו על ידי עצירת צמתי ה־worker של EKS שלך וראיית האם Kubernetes משיב צמתים חדשים להחלפה של הנכשלים.
בלוח המחוונים שלך של EC2, עצור את כל קבוצות העבודה של הצמתים שלך ב־EKS, כפי שמוצג למטה.

2. לְבָצֵע זאת, הרץ את הפקודה הבאה כדי לבדוק את מצב נוד העובד.
תקבל מערך של מצבים, כמו Pending, Running, ו־Terminating. למה? מכיוון שכאשר אתה מנסה לעצור את כל נודי העובד, Kubernetes זוהה כשגיאה ומביא מהר לנוד אחר.

3. כעת הפעל את הפקודה kubectl get pod
כדי לבדוק את יכולת השליטה הזמינה של Kubernetes.
תראה בפלט שיש שלושה כדורי עבודה חדשים (מזוהים לפי גיל) במצב Running. הכדורים החדשים אלו מציינים שיכולת השליטה הזמינה של Kubernetes פועלת כצפוי.

4. הפעל את הפקודה kubectl get service
למטה כדי לרשום את כל השירותים הזמינים.
תראה למטה ש־Kubernetes יצרה שירות חדש, ושם ה-DNS של מאזנת העומס שונה כעת. kubectl get service

5. לבסוף, העתק והדבק את שם ה-DNS של מאזנת העומס לדפדפן שלך. תקבל את עמוד הברכה מ־NGINX כפי שעשית בשלב האחרון של חלק "הפעלת אפליקציה באשף ה- EKS".
Conclusion
מכלל תֹּכוֹת הלמידה במדריך זה, למדת כיצד ליצור אשף EKS, להשיק שירות NGINX מהמיכל שלך ולבדוק את יכולת השליטה הזמינה של מערכת הבקרה.
בנקודה זו, כדאי שיהיה לך הבנה טובה של כיצד ליצור אשף EKS בסביבת AWS שלך.
מה הבא בשבילך? אולי ללמוד כיצד לְ הפעיל אפליקציית NodeJS באמצעות Docker ו-K8s על AWS ?