בדף הזה מוסבר מהו פרופיל של מופע AWS IAM, למה הוא חשוב בהקשר של GKE ב-AWS ואיך מעדכנים את פרופיל המופע.
מה זה פרופיל מכונה ב-AWS IAM?
פרופיל של מופע הוא מושג ספציפי ל-AWS. הוא כולל קבוצה של פרטי כניסה שמכונת Amazon EC2 משתמשת בהם כדי לגשת למשאבי AWS שונים. באופן ספציפי יותר, פרופיל של מופע הוא סוג של מאגר לתפקיד IAM שאפשר לצרף למופע EC2. פרופיל של מכונה מעניק הרשאות למכונת EC2, ומאפשר למכונה ליצור אינטראקציה עם שירותים שונים של AWS בהתאם להרשאות המוגדרות. מידע נוסף מופיע במאמר בנושא שימוש בפרופילים של מופעים.
איך משתמשים בפרופילים של מכונות ב-GKE ב-AWS?
כל מישור בקרה וכל מאגר צמתים באשכול GKE ב-AWS משויכים לפרופיל ייחודי של מופע AWS. פרופילים של מכונות ב-GKE ב-AWS משמשים לשתי מטרות:
- פרופיל מכונה מעניק ל-GKE on AWS את ההרשאות שנדרשות לניהול משאבי AWS. לדוגמה, הן מעניקות ל-cluster autoscaler את ההרשאות הנדרשות כדי לשנות את גודל האשכול על ידי הוספה או הסרה של מופעי EC2 בהתבסס על דרישות עומס העבודה.
- פרופיל של מכונה מעניק למכונות EC2 גישה לשירותים של Google Cloud .
לדוגמה,
kubeletשפועל במכונת AWS, דורש הרשאות ספציפיות כדי לספק פרטי כניסה לשליפת תמונות ל-kubelet.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.