בדף הזה מוסבר מהו פרופיל של מופע AWS IAM, למה הוא חשוב בהקשר של GKE ב-AWS ואיך מעדכנים את פרופיל המופע.
מה זה פרופיל מכונה ב-AWS IAM?
פרופיל מכונה הוא מושג שספציפי ל-AWS. הוא כולל קבוצה של פרטי כניסה שמכונת Amazon EC2 משתמשת בהם כדי לגשת למשאבי AWS שונים. במילים אחרות, פרופיל של מופע הוא סוג של מאגר לתפקיד IAM שאפשר לצרף למופע EC2. פרופיל של מכונה מעניק הרשאות למכונת EC2, ומאפשר למכונה ליצור אינטראקציה עם שירותים שונים של AWS בהתאם להרשאות המוגדרות. מידע נוסף מופיע במאמר בנושא שימוש בפרופילים של מופעים.
איך משתמשים בפרופילים של מכונות ב-GKE ב-AWS?
כל מישור בקרה וכל מאגר צמתים באשכול GKE ב-AWS משויכים לפרופיל ייחודי של מופע AWS. פרופילים של מכונות ב-GKE ב-AWS משמשים לשתי מטרות:
- פרופיל מכונה מעניק ל-GKE ב-AWS את ההרשאות שנדרשות לניהול משאבי AWS. לדוגמה, הם מעניקים לכלי לשינוי גודל האוטומטי של האשכול את ההרשאות הנדרשות כדי לשנות את גודל האשכול על ידי הוספה או הסרה של מופעי EC2 בהתבסס על דרישות עומס העבודה.
- פרופיל של מכונה מעניק למכונות EC2 גישה לשירותים Google Cloud .
לדוגמה, ל-
kubeletשפועל במכונת AWS נדרשות הרשאות ספציפיות כדי לספק פרטי כניסה למשיכת תמונות ל-containerd. האישורים האלה נדרשים כדי לגשת לתמונות ולשלוף אותן מ-Artifact Registry הפרטי של Google או מ-Container Registry. בהקשר של GKE ב-AWS, פרופיל המכונה של EC2 שמשויך לאשכול מוגדר להתחזות לסוכני שירות מכונה של Google (כמו סוכן שירות מכונה של מאגר צמתים או סוכן שירות מכונה של מישור הבקרה). ההתחזות הזו מאפשרת למופעי EC2 באשכול לעבור אימות אוטומטי ב-Artifact Registry או ב-Container Registry של Google.
עדכון פרופיל המכונה
כדי לעדכן את פרופיל האינסטנס, צריך ליצור פרופיל אינסטנס חדש ב-AWS עם הרשאות ספציפיות, ואז לשייך אותו לאשכול GKE ב-AWS או למאגר הצמתים.
כדי לעדכן בצורה נכונה את פרופיל המופע של האשכול או של מאגר הצמתים, פועלים לפי השלבים הבאים:
- יוצרים פרופיל מכונה ב-IAM למכונות Amazon EC2 ומוסיפים את תפקיד ה-IAM שצריך לפרופיל המכונה. פרטים נוספים זמינים במאמר בנושא שימוש בפרופילים של מופעים.
מריצים את הפקודה הבאה ב-Google Cloud CLI כדי לקשר את פרופיל המכונה החדש למאגר הצמתים או לאשכול GKE on AWS:
קישור פרופיל לאשכול
gcloud container aws clusters update CLUSTER_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול -
NEW_INSTANCE_PROFILE_NAME: השם של פרופיל המכונה החדש ב-AWS שיצרתם
קישור פרופיל למאגר צמתים
gcloud container aws node-pools update NODE_POOL_NAME \ --update-instance-profile \ --instance-profile-name NEW_INSTANCE_PROFILE_NAME \ ...מחליפים את מה שכתוב בשדות הבאים:
-
NODE_POOL_NAME: השם של מאגר הצמתים -
NEW_INSTANCE_PROFILE_NAME: השם של פרופיל המכונה החדש ב-AWS שיצרתם
הפקודות האלה מציגות רק את הדגלים הרלוונטיים לעדכון פרופיל המופע, אבל צריך לספק דגלים נוספים כדי להריץ את הפקודה
update. פרטים נוספים זמינים במאמר בנושא עדכון פרמטרים של אשכול AWS או עדכון מאגר צמתים.-
שיטת העדכון השגויה
חשוב להבין איך לא לעדכן פרופיל של מופע, כי זו טעות שקל לעשות והיא עלולה לגרום לכשלים באשכול.
הדרך השגויה לעדכן פרופיל של מכונה היא לשנות ישירות פרופיל קיים של מכונה באמצעות מסוף הניהול של AWS או AWS CLI. שינויים כאלה עלולים לשבש את האינטראקציה של GKE ב-AWS עם משאבי AWS. GKE on AWS מצפה שפרופילים של מופעים יישארו כמו שהם היו כשהם קושרו לראשונה לאשכול או למאגר הצמתים. שינוי שלהם מחוץ לכלי הניהול של GKE on AWS עלול ליצור חוסר התאמה למזהה של תפקיד ה-IAM שנמצא בפרופיל המופע. חוסר התאמה כזה עלול לגרום לכשל באשכול.
הגישה שמתוארת בסעיף הקודם מבטיחה שהעדכונים יתבצעו בלי לשבש את השילוב של GKE ב-AWS עם AWS.