בפוסט זה, אנו מדגימים Kubeflow ב-AWS (הפצה ספציפית ל-AWS של Kubeflow) והערך שהיא מוסיפה על פני Kubeflow בקוד פתוח באמצעות שילוב של שירותי AWS מוכנים לארגונים בעלי אופטימיזציה גבוהה, מקוריים בענן.
Kubeflow היא פלטפורמת למידת מכונה בקוד פתוח (ML) המוקדשת להפיכת פריסות של זרימות עבודה של ML ב-Kubernetes לפשוטות, ניידות וניתנות להרחבה. Kubeflow מספקת רכיבים רבים, כולל לוח מחוונים מרכזי, מחברות Jupyter מרובות משתמשים, Kubeflow Pipelines, KFServing ו-Katib, כמו גם מפעילי הדרכה מבוזרת עבור TensorFlow, PyTorch, MXNet ו-XGBoost, לבניית זרימות עבודה פשוטות, מדרגיות וניידות ML .
AWS השיקה לאחרונה את Kubeflow v1.4 כחלק מהפצת Kubeflow משלה (שנקראת Kubeflow ב-AWS), המייעלת את משימות מדעי הנתונים ועוזרת לבנות מערכות ML אמינות, מאובטחות, ניידות וניתנות להרחבה עם תקורה תפעולית מופחתת באמצעות אינטגרציות עם שירותים מנוהלים של AWS . אתה יכול להשתמש בהפצה זו של Kubeflow כדי לבנות מערכות ML על גבי שירות קוברנט של אמזון (Amazon EKS) לבנות, לאמן, לכוונן ולפרוס מודלים של ML עבור מגוון רחב של מקרי שימוש, כולל ראייה ממוחשבת, עיבוד שפה טבעית, תרגום דיבור ומודלים פיננסיים.
אתגרים עם Kubeflow בקוד פתוח
כאשר אתה משתמש בפרויקט Kubeflow בקוד פתוח, הוא פורס את כל רכיבי מישור הבקרה ומטוס הנתונים של Kubeflow בצמתי עבודה של Kubernetes. שירותי רכיבי Kubeflow נפרסים כחלק ממישור הבקרה של Kubeflow, וכל פריסות המשאבים הקשורות ל-Jupyter, אימון מודלים, כוונון ואירוח נפרסות במישור הנתונים של Kubeflow. מישור הבקרה של Kubeflow ומישור הנתונים יכולים לפעול על אותם צמתים עובדים של Kubernetes או שונים. פוסט זה מתמקד ברכיבי מטוס הבקרה של Kubeflow, כפי שמוצג בתרשים הבא.
ייתכן שמודל הפריסה הזה לא יספק חוויה מוכנה לארגון בגלל הסיבות הבאות:
- כל רכיבי תשתית ההרמה הכבדה של מטוסי הבקרה של Kubeflow, כולל מסד נתונים, אחסון ואימות, נפרסים בצומת העבודה של אשכול Kubernetes עצמו. זה מאתגר ליישם ארכיטקטורת עיצוב מטוסי בקרה של Kubeflow זמינה ביותר עם מצב מתמשך במקרה של כשל בצומת עובד.
- חפצים שנוצרו במטוסי בקרת Kubeflow (כגון מופעי MySQL, יומני תרמילים או אחסון MinIO) גדלים עם הזמן וזקוקים לנפחי אחסון הניתנים לשינוי גודל עם יכולות ניטור רציפות כדי לעמוד בדרישת האחסון ההולכת וגוברת. מכיוון שמטוס הבקרה של Kubeflow חולק משאבים עם עומסי עבודה של מטוסי נתונים של Kubeflow (לדוגמה, עבור עבודות הדרכה, צינורות ופריסה), גודל נכון וקנה מידה של נפחי אשכול ואחסון Kubernetes יכולים להפוך למאתגרים ולגרום לעלייה תפעולית.
- Kubernetes מגביל את גודל קובץ היומן, כאשר רוב ההתקנות שומרות על המגבלה העדכנית ביותר של 10 MB. כברירת מחדל, יומני הפוד הופכים לבלתי נגישים לאחר שהם מגיעים לגבול העליון הזה. היומנים עלולים להפוך לבלתי נגישים גם אם פודים, קורסים, נמחקים או מתוזמנים בצומת אחר, מה שעלול להשפיע על זמינות יומן האפליקציה ועל יכולות הניטור שלך.
Kubeflow ב-AWS
Kubeflow ב-AWS מספק נתיב ברור לשימוש ב-Kubeflow, עם שירותי ה-AWS הבאים:
- איזון עומס יישומים לניהול תעבורה חיצוני מאובטח באמצעות HTTPS
- אמזון CloudWatch לניהול יומן מתמשך
- קוגניטו AWS עבור אימות משתמשים עם Transport Layer Security (TLS)
- מיכלי למידה עמוקה של AWS לתמונות שרת מחברת Jupyter שעברו אופטימיזציה גבוהה
- מערכת הקבצים של אמזון אלסטית (Amazon EFS) או אמזון FSx עבור ברק לפתרון אחסון קבצים פשוט, ניתן להרחבה וללא שרת להגברת ביצועי האימון
- Amazon EKS עבור אשכולות Kubernetes מנוהלים
- שירות מסדי נתונים יחסי של אמזון (Amazon RDS) עבור צינורות ניתנים להרחבה ומאגר מטא נתונים
- מנהל סודות AWS כדי להגן על סודות הדרושים לגישה ליישומים שלך
- שירות אחסון פשוט של אמזון (Amazon S3) לחנות חפצי צינור קלה לשימוש
שילובי שירות AWS אלה עם Kubeflow (כפי שמוצג בתרשים הבא) מאפשרים לנו לנתק חלקים קריטיים של מישור הבקרה של Kubeflow מ-Kubernetes, ומספקים עיצוב מאובטח, ניתן להרחבה, גמיש ומוטב עלות.
בואו נדון ביתרונות של כל אינטגרציה של שירות והפתרונות שלהם סביב אבטחה, הפעלת צינורות ML ואחסון.
אימות מאובטח של משתמשי Kubeflow עם Amazon Cognito
אבטחת ענן ב-AWS היא בראש סדר העדיפויות, ואנו משקיעים בשילוב הדוק של אבטחת Kubeflow ישירות בשירותי האבטחה באחריות משותפת של AWS, כגון:
- מאזן עומס אפליקציות (ALB) לניהול תעבורה חיצוני
- מנהל תעודות AWS (ACM) לתמיכה ב-TLS
- תפקידי IAM עבור חשבונות שירות (IRSA) לבקרת גישה עדינה ברמת Kubernetes Pod
- שירות ניהול מפתח AWS (AWS KMS) לניהול מפתחות הצפנת נתונים
- מגן AWS להגנת DDoS
בחלק זה, אנו מתמקדים באינטגרציה של מטוסי הבקרה של AWS Kubeflow עם Amazon Cognito. Amazon Cognito מסירה את הצורך לנהל ולתחזק פתרון מקורי של Dex (ספק קוד פתוח OpenID Connect (OIDC) מגובה ב-LDAP מקומי) לאימות משתמשים ומקל על ניהול סודות.
אתה יכול גם להשתמש ב- Amazon Cognito כדי להוסיף הרשמה של משתמשים, כניסה ובקרת גישה לממשק המשתמש של Kubeflow במהירות ובקלות. Amazon Cognito מתרחב למיליוני משתמשים ותומך בכניסה עם ספקי זהות חברתית (IdPs), כגון Facebook, Google ואמזון, ו-IdPs ארגוניים באמצעות SAML 2.0. זה מפחית את המורכבות בהגדרת Kubeflow שלך, מה שהופך אותה לרזה מבחינה תפעולית וקל יותר לתפעול כדי להשיג בידוד מרובה משתמשים.
בואו נסתכל על זרימת אימות מרובה משתמשים עם אינטגרציות של Amazon Cognito, ALB ו-ACM עם Kubeflow ב-AWS. ישנם מספר מרכיבים מרכזיים כחלק מהשילוב הזה. Amazon Cognito מוגדר כ-IdP עם קריאה חוזרת של אימות שהוגדרה לנתב את הבקשה ל-Kubeflow לאחר אימות משתמש. כחלק מהגדרת Kubeflow, נוצר משאב כניסה של Kubernetes לניהול תעבורה חיצונית לשירות Istio Gateway. בקר הכניסה של AWS ALB מספק מאזן עומסים לכניסה זו. אנו משתמשים כביש אמזון 53 כדי להגדיר DNS ציבורי עבור הדומיין הרשום וליצור אישורים באמצעות ACM כדי לאפשר אימות TLS במאזן העומס.
התרשים הבא מציג את זרימת העבודה הטיפוסית של המשתמש של כניסה לאמזון קוגניטו והפנייה מחדש ל-Kubeflow במרחב השמות שלהם.
זרימת העבודה מכילה את השלבים הבאים:
- המשתמש שולח בקשת HTTPS ללוח המחוונים המרכזי של Kubeflow המתארח מאחורי מאזן עומסים. כביש 53 פותר את ה-FQDN לרשומת הכינוי של ALB.
- אם ה-cookie אינו קיים, מאזן העומס מפנה את המשתמש לנקודת הקצה של ההרשאה של Amazon Cognito כך שאמזון קוגניטו תוכל לאמת את המשתמש.
- לאחר אימות המשתמש, אמזון קוגניטו שולחת את המשתמש חזרה למאזן העומס עם קוד הענקת הרשאה.
- מאזן העומס מציג את קוד הענקת ההרשאה לנקודת הקצה של אמזון קוגניטו.
- לאחר קבלת קוד הענקת הרשאה חוקי, אמזון קוגניטו מספקת את אסימון הזיהוי ואסימון הגישה למאזן העומס.
- לאחר שמאזן העומס שלך מאמת משתמש בהצלחה, הוא שולח את אסימון הגישה לנקודת הקצה של מידע המשתמש של Amazon Cognito ומקבל תביעות משתמשים. מאזן העומס חותם ומוסיף תביעות משתמש לכותרת ה-HTTP
x-amzn-oidc-*
בפורמט בקשה של JSON web token (JWT). - הבקשה ממאזן העומס נשלחת לפוד של Istio Ingress Gateway.
- באמצעות מסנן שליחים, Istio Gateway מפענח את
x-amzn-oidc-data
value, מאחזר את שדה האימייל ומוסיף את כותרת ה-HTTP המותאמת אישיתkubeflow-userid
, המשמש את שכבת ההרשאה של Kubeflow. - מדיניות בקרת הגישה מבוססת המשאבים של Istio מוחלת על הבקשה הנכנסת כדי לאמת את הגישה ללוח המחוונים של Kubeflow. אם אחד מאלה אינו נגיש למשתמש, תגובת שגיאה נשלחת בחזרה. אם הבקשה מאומתת, היא מועברת לשירות Kubeflow המתאים ומספקת גישה ללוח המחוונים של Kubeflow
מטא נתונים ואחסון חפצים מתמשכים של רכיב Kubeflow עם Amazon RDS ו-Amazon S3
Kubeflow ב-AWS מספק אינטגרציה עם שירות מסדי נתונים יחסי של אמזון (Amazon RDS) ב-Kubeflow Pipelines ו-AutoML (קטיב) לאחסון מטא נתונים מתמשך, ו-Amazon S3 ב-Kubeflow Pipelines לאחסון חפצים מתמשך. בואו נמשיך לדון ב-Kubeflow Pipelines ביתר פירוט.
Kubeflow Pipelines היא פלטפורמה לבנייה ופריסה של זרימות עבודה ML ניידות וניתנות להרחבה. זרימות עבודה אלו יכולות לסייע באוטומציה של צינורות ML מורכבים באמצעות רכיבי Kubeflow מובנים ומותאמים אישית. Kubeflow Pipelines כולל Python SDK, מהדר DSL להמרת קוד Python לתצורה סטטית, שירות Pipelines המריץ צינורות מהתצורה הסטטית, וקבוצה של בקרים להפעלת הקונטיינרים בתוך Kubernetes Pods הדרושים להשלמת הצינור.
מטא נתונים של Kubeflow Pipelines עבור ניסויים והרצות של צינורות מאוחסנים ב-MySQL, וחפצים כולל חבילות צינור ומדדים מאוחסנים ב-MinIO.
כפי שמוצג בתרשים הבא, Kubeflow ב-AWS מאפשר לך לאחסן את הרכיבים הבאים עם שירותים מנוהלים של AWS:
- מטא נתונים של צינור ב- Amazon RDS - אמזון RDS מספקת ארכיטקטורת פריסה ניתנת להרחבה, זמינה ואמינה של Multi-AZ עם מנגנון כשל אוטומטי מובנה וקיבולת הניתנת לשינוי גודל עבור מסד נתונים רלציוני בסטנדרט תעשייתי כמו MySQL. הוא מנהל משימות ניהול נפוצות של מסדי נתונים ללא צורך באספקת תשתית או תחזוקה של תוכנה.
- חפצי צינור באמזון S3 - אמזון S3 מציע מדרגיות מובילה בתעשייה, זמינות נתונים, אבטחה וביצועים, וניתן להשתמש בו כדי לענות על דרישות תאימות.
האינטגרציות הללו עוזרות להוריד את הניהול והתחזוקה של המטא-נתונים ואחסון החפצים מ-Kubeflow בניהול עצמי לשירותים מנוהלים של AWS, שקל יותר להגדיר, לתפעול ולהרחיב.
תמיכה במערכות קבצים מבוזרות עם Amazon EFS ו- Amazon FSx
Kubeflow מתבססת על Kubernetes, המספקת תשתית לעיבוד נתונים מבוזר בקנה מידה גדול, כולל הדרכה וכוונון מודלים גדולים עם רשת עמוקה עם מיליוני או אפילו מיליארדי פרמטרים. כדי לתמוך במערכות ML לעיבוד נתונים מבוזרות כאלה, Kubeflow ב-AWS מספקת אינטגרציה עם שירותי האחסון הבאים:
- אמזון EFS – מערכת קבצים מבוזרת בעלת ביצועים גבוהים, מקורית בענן, שתוכל לנהל באמצעות מנהל ההתקן של Amazon EFS CSI. אמזון EFS מספקת
ReadWriteMany
מצב גישה, וכעת אתה יכול להשתמש בו כדי לעלות לתרמילים (Jupyter, אימון מודלים, כוונון מודלים) הפועלים במישור נתונים של Kubeflow כדי לספק סביבת עבודה מתמשכת, ניתנת להרחבה וניתנת לשיתוף שגדל ומתכווץ באופן אוטומטי ככל שאתה מוסיף ומסיר קבצים עם אין צורך בניהול. - אמזון FSx עבור ברק - מערכת קבצים מותאמת לעומסי עבודה עתירי מחשוב, כגון מחשוב בעל ביצועים גבוהים ו-ML, שתוכל לנהל באמצעות מנהל ההתקן של Amazon FSx CSI. FSx for Luster מספק
ReadWriteMany
גם מצב גישה, ואתה יכול להשתמש בו כדי לשמור נתוני אימון במטמון עם קישוריות ישירה לאמזון S3 בתור חנות הגיבוי, שבה אתה יכול להשתמש כדי לתמוך בשרתי מחברת Jupyter או אימון מבוזר הפועל במישור נתונים של Kubeflow. עם תצורה זו, אינך צריך להעביר נתונים למערכת הקבצים לפני השימוש באמצעי האחסון. FSx for Luster מספק זמן השהייה עקבי של תת-מילישניות ובמקביליות גבוהה, ויכול להתאים ל-TB/s של תפוקה ולמיליוני IOPS.
אפשרויות פריסה של Kubeflow
AWS מספקת אפשרויות פריסה שונות של Kubeflow:
- פריסה עם Amazon Cognito
- פריסה עם Amazon RDS ו- Amazon S3
- פריסה עם Amazon Cognito, Amazon RDS ו-Amazon S3
- פריסת וניל
לפרטים על שילוב שירות ותוספות זמינות עבור כל אחת מהאפשרויות הללו, עיין ב אפשרויות פריסה. אתה יכול להתאים את האפשרות המתאימה ביותר למקרה השימוש שלך.
בסעיף הבא, נעבור על השלבים להתקנת הפצת AWS Kubeflow v1.4 באמזון EKS. לאחר מכן אנו משתמשים בדוגמה הקיימת של צינור XGBoost הזמינה בלוח המחוונים של ממשק המשתמש המרכזי של Kubeflow כדי להדגים את האינטגרציה והשימוש של AWS Kubeflow עם Amazon Cognito, Amazon RDS ו-Amazon S3, עם Secrets Manager כתוסף.
תנאים מוקדמים
לפריצת דרך זו, יהיו עליכם התנאים המוקדמים הבאים:
- An חשבון AWS.
- אשכול EKS קיים של אמזון. זה צריך להיות Kubernetes גרסה 1.19 ומעלה. ליצירת אשכולות אוטומטית באמצעות exctlראה צור אשכול EKS של אמזון והשתמש באפשרות eksctl.
התקן את הכלים הבאים במחשב הלקוח המשמש לגישה לאשכול Kubernetes שלך. אתה יכול להשתמש AWS Cloud9, סביבת פיתוח משולבת מבוססת ענן (IDE) עבור הגדרת אשכול Kubernetes.
- ממשק שורת הפקודה של AWS (AWS CLI) – כלי שורת פקודה לאינטראקציה עם שירותי AWS. להוראות התקנה, עיין ב התקנה, עדכון והתקנת AWS CLI.
- exctl > 0.56 – כלי שורת פקודה לעבודה עם אשכולות EKS של אמזון שממכן משימות בודדות רבות.
- קובקטל – כלי שורת פקודה לעבודה עם אשכולות Kubernetes.
- סילון – תוכנת בקרת גרסאות מבוזרת.
- פייתון 3.8+ – סביבת התכנות Python.
- פְּעִים – מנהל החבילות של Python.
- kustomize גרסה 3.2.0 – כלי שורת פקודה להתאמה אישית של אובייקטי Kubernetes באמצעות קובץ kustomization.
התקן את Kubeflow ב-AWS
הגדר את kubectl כך שתוכל להתחבר לאשכול EKS של אמזון:
בקרים שונים בפריסת Kubeflow משתמשים תפקידי IAM עבור חשבונות שירות (IRSA). ספק OIDC חייב להתקיים כדי שהאשכול שלך ישתמש ב-IRSA. צור ספק OIDC ושייך אותו לאשכול EKS שלך באמזון על ידי הפעלת הפקודה הבאה, אם לאשכול שלך אין כבר אחד כזה:
שכבו את מאגר המניפסטים של AWS ו-Kubeflow מניפסט ריפו, ובדוק את ענפי ההפצה המתאימים:
למידע נוסף על גרסאות אלו, עיין ב מהדורות וגרסאות.
הגדר את Amazon RDS, Amazon S3 ומנהל הסודות
אתה יוצר משאבי Amazon RDS ו- Amazon S3 לפני שאתה פורס את המניפסטים של Kubeflow. אנו משתמשים בסקריפטים אוטומטיים של Python שדואגים ליצור את ה-S3 bucket, מסד הנתונים של RDS והסודות הנדרשים ב- Secrets Manager. זה גם עורך את קבצי התצורה הנדרשים עבור צינור Kubeflow ו-AutoML כדי להיות מוגדרים כראוי עבור מסד הנתונים RDS ודלי S3 במהלך התקנת Kubeflow.
צור משתמש IAM עם הרשאות לאפשר GetBucketLocation
וגישת קריאה וכתיבה לאובייקטים בדלי S3 שבו ברצונך לאחסן את חפצי Kubeflow. להשתמש ב AWS_ACCESS_KEY_ID
ו AWS_SECRET_ACCESS_KEY
של משתמש IAM בקוד הבא:
הגדר את Amazon Cognito כספק האימות
בחלק זה, אנו יוצרים תחום מותאם אישית בכביש 53 וב-ALB כדי לנתב תעבורה חיצונית אל Kubeflow Istio Gateway. אנו משתמשים ב-ACM כדי ליצור אישור כדי לאפשר אימות TLS ב-ALB וב-Amazon Cognito כדי לתחזק את מאגר המשתמשים ולנהל את אימות המשתמשים.
החלף את הערכים הבאים ב
- route53.rootDomain.name – הדומיין הרשום. נניח שהתחום הזה הוא
example.com
. - route53.rootDomain.hostedZoneId - אם הדומיין שלך מנוהל ב-Route53, הזן את מזהה האזור המתארח שנמצא תחת פרטי האזור המתארח. דלג על שלב זה אם הדומיין שלך מנוהל על ידי ספק דומיין אחר.
- route53.subDomain.name – שם תת-הדומיין שבו ברצונך לארח את Kubeflow (לדוגמה,
platform.example.com
). למידע נוסף על תת-דומיינים, עיין ב פריסת Kubeflow עם AWS Cognito בתור IdP. - cluster.name – שם האשכול והיכן נפרסת Kubeflow.
- cluster.region – אזור האשכול שבו נפרסת Kubeflow (לדוגמה,
us-west-2
). - cognitoUserpool.name – השם של מאגר המשתמשים של אמזון קוגניטו (לדוגמה,
kubeflow-users
).
קובץ התצורה נראה בערך כמו הקוד הבא:
הפעל את הסקריפט כדי ליצור את המשאבים:
התסריט מעדכן את config.yaml
קובץ עם שמות המשאבים, המזהים וה-ARN שהוא יצר. זה נראה בערך כמו הקוד הבא:
בנו מניפסטים ופרסו את Kubeflow
פרוס Kubeflow באמצעות הפקודה הבאה:
עדכן את הדומיין עם כתובת ALB
הפריסה יוצרת מאזן עומסים של יישומי AWS מנוהל כניסה. אנו מעדכנים את ערכי ה-DNS עבור תת-הדומיין בכביש 53 עם ה-DNS של מאזן העומס. הפעל את הפקודה הבאה כדי לבדוק אם מאזן העומס מסופק (זה לוקח בערך 3-5 דקות):
אם ADDRESS
השדה ריק לאחר מספר דקות, בדוק את היומנים של alb-ingress-controller
. להנחיות, עיין ב ALB לא מצליח לספק.
כאשר מאזן העומס מסופק, העתק את שם ה-DNS של מאזן העומס והחלף את הכתובת kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. מקטע Kubeflow של קובץ התצורה נראה כמו הקוד הבא:
הפעל את הסקריפט הבא כדי לעדכן את ערכי ה-DNS עבור תת-הדומיין בכביש 53 עם ה-DNS של מאזן העומס המסופק:
פתרון בעיות
אם אתה נתקל בבעיות כלשהן במהלך ההתקנה, עיין ב- מדריך פתרון בעיות או התחל מחדש על ידי ביצוע הסעיף "נקה" בבלוג זה.
הדרכה על מקרה שימוש
כעת, לאחר שהשלמנו את התקנת רכיבי Kubeflow הנדרשים, בואו נראה אותם בפעולה באמצעות אחת הדוגמאות הקיימות שסופקו על ידי Kubeflow Pipelines בלוח המחוונים.
גש ללוח המחוונים של Kubeflow באמצעות Amazon Cognito
כדי להתחיל, בואו לקבל גישה למרכז השליטה של Kubeflow. מכיוון שהשתמשנו באמזון קוגניטו בתור IdP, השתמש במידע המסופק ב- קובץ README הרשמי. תחילה אנו יוצרים כמה משתמשים בקונסולת אמזון קוגניטו. אלו המשתמשים שייכנסו ללוח המחוונים המרכזי. הַבָּא, ליצור פרופיל עבור המשתמש שיצרת. אז אתה אמור להיות מסוגל לגשת ללוח המחוונים דרך דף הכניסה בכתובת https://kubeflow.platform.example.com.
צילום המסך הבא מציג את לוח המחוונים של Kubeflow שלנו.
הפעל את הצינור
בלוח המחוונים של Kubeflow, בחר צינורות בשם הניווט. אתה אמור לראות ארבע דוגמאות שסופקו על ידי Kubeflow Pipelines שתוכל להפעיל ישירות כדי לחקור תכונות שונות של Pipelines.
עבור פוסט זה, אנו משתמשים בדוגמה של XGBoost הנקראת [Demo] XGBoost – אימוני מודל איטרטיבי. אתה יכול למצוא את קוד המקור ב GitHub. זהו צינור פשוט שמשתמש בקיים XGBoost/Train
ו XGBoost/Predict
רכיבי צינור של Kubeflow לאימון איטרטיבי של מודל עד שהמדדים ייחשבו טובים בהתבסס על מדדים שצוינו.
כדי להפעיל את הצינור, בצע את השלבים הבאים:
- בחר את הצינור ובחר צור ניסוי.
- תַחַת פרטי הניסוי, הזן שם (לפוסט זה,
demo-blog
) ותיאור אופציונלי. - בחרו הַבָּא.
- תַחַת הרץ פרטים¸ בחר את גרסת הצינור והצינור שלך.
- בעד שם הפעלה, הכנס שם.
- בעד ניסיון, בחר את הניסוי שיצרת.
- בעד סוג הפעלה, בחר חד פעמי.
- בחרו הַתחָלָה.
לאחר שהצינור מתחיל לפעול, אתה אמור לראות רכיבים שהושלמו (בתוך מספר שניות). בשלב זה, אתה יכול לבחור כל אחד מהרכיבים שהושלמו כדי לראות פרטים נוספים.
גש לממצאים באמזון S3
בזמן פריסת Kubeflow, ציינו ש-Kubeflow Pipelines צריך להשתמש ב-Amazon S3 כדי לאחסן את החפצים שלו. זה כולל את כל חפצי הפלט של הצינור, הריצות המאוחסנות במטמון ותרשימים של צינורות - כל אלה יכולים לשמש לאחר מכן להדמיות עשירות ולהערכת ביצועים.
כאשר הפעלת הצינור הושלמה, אתה אמור להיות מסוגל לראות את החפצים בדלי S3 שיצרת במהלך ההתקנה. כדי לאשר זאת, בחר כל רכיב שהושלם של הצינור ובדוק את פלט קלט סעיף ברירת המחדל גרף לשונית. כתובות האתרים של החפצים צריכות להפנות לדלי S3 שציינת במהלך הפריסה.
כדי לאשר שהמשאבים נוספו לאמזון S3, אנחנו יכולים גם לבדוק את דלי S3 בחשבון ה-AWS שלנו דרך קונסולת Amazon S3.
צילום המסך הבא מציג את הקבצים שלנו.
אמת מטא נתונים של ML באמזון RDS
שילבנו גם את Kubeflow Pipelines עם Amazon RDS במהלך הפריסה, מה שאומר שכל מטא נתונים של צינור צריכים להיות מאוחסנים ב- Amazon RDS. זה כולל כל מידע על זמן ריצה כגון מצב של משימה, זמינות של חפצים, מאפיינים מותאמים אישית המשויכים לריצה או חפצים ועוד.
כדי לאמת את שילוב Amazon RDS, בצע את השלבים המפורטים ב- קובץ README הרשמי. באופן ספציפי, השלם את השלבים הבאים:
- קבל את שם המשתמש והסיסמה של Amazon RDS מהסוד שנוצר במהלך ההתקנה:
- השתמש באישורים הבאים כדי להתחבר לאמזון RDS מתוך האשכול:
- כאשר הנחיה של MySQL נפתחת, נוכל לאמת את
mlpipelines
מסד הנתונים כדלקמן: - כעת אנו יכולים לקרוא את התוכן של טבלאות ספציפיות, כדי לוודא שאנו יכולים לראות מידע על מטא נתונים על הניסויים שהריצו את הצינורות:
לנקות את
כדי להסיר את התקנת Kubeflow ולמחוק את משאבי ה-AWS שיצרת, בצע את השלבים הבאים:
- מחק את מאזן העומס המנוהל והמנוהל על ידי הפעלת הפקודה הבאה:
- מחק את שאר רכיבי Kubeflow:
- מחק את משאבי ה-AWS שנוצרו על ידי סקריפטים:
- משאבים שנוצרו עבור אינטגרציה של Amazon RDS ו-Amazon S3. ודא שיש לך את קובץ התצורה שנוצר על ידי הסקריפט
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - משאבים שנוצרו עבור שילוב אמזון קוגניטו. ודא שיש לך את קובץ התצורה שנוצר על ידי הסקריפט
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- משאבים שנוצרו עבור אינטגרציה של Amazon RDS ו-Amazon S3. ודא שיש לך את קובץ התצורה שנוצר על ידי הסקריפט
- אם יצרת אשכול EKS ייעודי של Amazon עבור Kubeflow באמצעות eksctl, תוכל למחוק אותו בפקודה הבאה:
<br> סיכום
בפוסט זה, הדגשנו את הערך ש-Kubeflow ב-AWS מספקת באמצעות שילובי שירות מקוריים המנוהלים על ידי AWS לעומסי עבודה מאובטחים, ניתנים להרחבה ומוכנים לארגונים AI ו-ML. אתה יכול לבחור מתוך מספר אפשרויות פריסה להתקנת Kubeflow ב-AWS עם שילובי שירותים שונים. מקרה השימוש בפוסט זה הדגים אינטגרציה של Kubeflow עם Amazon Cognito, Secrets Manager, Amazon RDS ואמזון S3. כדי להתחיל עם Kubeflow ב-AWS, עיין באפשרויות הפריסה הזמינות המשולבות ב-AWS ב Kubeflow ב-AWS.
החל מגרסה 1.3, אתה יכול לעקוב אחר מאגר AWS Labs כדי לעקוב אחר כל התרומות של AWS ל-Kubeflow. אתה יכול למצוא אותנו גם ב ערוץ Slack של Kubeflow #AWS; המשוב שלך שם יעזור לנו לתעדף את התכונות הבאות לתרום לפרויקט Kubeflow.
על הכותבים
Kanwaljit Khurmi הוא אדריכל פתרונות AI/ML מומחה בשירותי האינטרנט של אמזון. הוא עובד עם המוצר, ההנדסה והלקוחות של AWS כדי לספק הדרכה וסיוע טכני המסייעים להם לשפר את הערך של פתרונות ה-ML ההיברידיים שלהם בעת שימוש ב-AWS. Kanwaljit מתמחה בסיוע ללקוחות עם יישומי מכולות ולמידת מכונה.
מגנה בייג'ל הוא מהנדס תוכנה עם AWS AI המקל על המשתמשים להכניס את עומסי העבודה של Machine Learning שלהם ל-AWS על ידי בניית מוצרי ML ופלטפורמות כגון Deep Learning Containers, Deep Learning AMIs, AWS Controllers for Kubernetes (ACK) ו-Kubeflow ב-AWS . מחוץ לעבודה היא נהנית לקרוא, לטייל ולהתעסק בציור.
סוראג 'קוטה הוא מהנדס תוכנה המתמחה בתשתית למידת מכונה. הוא בונה כלים כדי להתחיל בקלות ולהגדיל את עומס העבודה של למידת מכונה ב-AWS. הוא עבד על ה-AWS Deep Learning Containers, Deep Learning AMI, SageMaker Operators for Kubernetes ושילובי קוד פתוח אחרים כמו Kubeflow.
- "
- 10
- 100
- 420
- 7
- אודות
- גישה
- חֶשְׁבּוֹן
- פעולה
- תוספות
- כתובת
- מנהל
- מנהל
- סניפים
- AI
- תעשיות
- כְּבָר
- אמזון בעברית
- אמזון שירותי אינטרנט
- אחר
- בקשה
- יישומים
- מתאים
- ארכיטקטורה
- סביב
- עמית
- מאומת
- מאמת
- אימות
- אישור
- אוטומטי
- אוטומטי
- אוטומטית
- זמינות
- זמין
- AWS
- להיות
- הטבות
- הטוב ביותר
- מיליארדים
- בלוג
- גבול
- לִבנוֹת
- בִּניָן
- בונה
- מובנה
- יכולות
- קיבולת
- אשר
- מקרים
- CD
- תעודה
- תעודות
- אתגר
- לתשלום
- בחרו
- טענות
- בכיתה
- קוד
- Common
- מַשׁלִים
- מורכב
- רְכִיב
- המחשב
- מחשוב
- תְצוּרָה
- לְחַבֵּר
- קישוריות
- קונסול
- מכולות
- מכיל
- תוכן
- להמשיך
- לתרום
- לִשְׁלוֹט
- בקר
- זכויות יוצרים
- יכול
- לִיצוֹר
- נוצר
- יוצר
- יוצרים
- יצירה
- אישורים
- קריטי
- מנהג
- לקוחות
- לוח מחוונים
- נתונים
- עיבוד נתונים
- מדע נתונים
- מסד נתונים
- DDoS
- מוקדש
- דרישה
- להפגין
- מופגן
- לפרוס
- פרס
- פריסה
- פריסה
- פריסות
- פורס
- עיצוב
- פרט
- פרטים
- צעצועי התפתחות
- דקס
- אחר
- ישיר
- ישירות
- לדון
- מופץ
- הפצה
- DNS
- לא
- תחום
- בקלות
- קל לשימוש
- הד
- אמייל
- לאפשר
- הצף
- נקודת קצה
- מהנדס
- הנדסה
- זן
- מִפְעָל
- סביבה
- הערכה
- אירוע
- דוגמה
- קיימים
- ניסיון
- לְנַסוֹת
- לחקור
- פייסבוק
- כשלון
- תכונות
- מָשׁוֹב
- כספי
- ראשון
- מתאים
- תזרים
- להתמקד
- מתמקד
- לעקוב
- הבא
- פוּרמָט
- מצא
- טרי
- מקבל
- Git
- GitHub
- טוב
- לגדול
- גדל
- לעזור
- עזרה
- עוזר
- כאן
- גָבוֹהַ
- גבוה יותר
- מודגש
- מאוד
- אירוח
- HTTPS
- היברידי
- זהות
- פְּגִיעָה
- ליישם
- לשפר
- בע"מ
- כולל
- כולל
- גדל
- בנפרד
- מובילים בתעשייה
- מידע
- מידע
- תשתית
- להתקין
- משולב
- השתלבות
- ואינטגרציות
- השקעה
- בדידות
- בעיות
- IT
- עצמו
- מקומות תעסוקה
- שמירה
- מפתח
- מעבדות
- שפה
- גָדוֹל
- הושק
- למידה
- רמה
- קו
- לִטעוֹן
- מקומי
- מכונה
- למידת מכונה
- לתחזק
- עושה
- עשייה
- לנהל
- הצליח
- ניהול
- מנהל
- מדדים
- מיליונים
- ML
- מודל
- מודלים
- ניטור
- יותר
- רוב
- שמות
- טבעי
- ניווט
- נטו
- רשת
- צמתים
- מחברה
- מספר
- המיוחדות שלנו
- לפתוח
- קוד פתוח
- נפתח
- מפעילי
- אופטימיזציה
- אפשרות
- אפשרויות
- אחר
- שֶׁלוֹ
- סיסמה
- ביצועים
- פלטפורמה
- פלטפורמות
- נקודה
- מדיניות
- בריכה
- להציג
- עדיפות
- תהליך
- המוצר
- מוצרים
- תכנות
- פּרוֹיֶקט
- להגן
- לספק
- מספק
- מתן
- ציבורי
- מהירות
- לְהַגִיעַ
- קריאה
- סיבות
- שיא
- רשום
- לשחרר
- לבקש
- נדרש
- דרישות
- משאב
- משאבים
- תגובה
- REST
- מסלול
- הפעלה
- ריצה
- בקרת מערכות ותקשורת
- להרחבה
- סולם
- דרוג
- מדע
- Sdk
- ה-SEC
- שניות
- לבטח
- אבטחה
- ללא שרת
- שרות
- שירותים
- סט
- התקנה
- שיתופים
- שלטים
- פָּשׁוּט
- מידה
- רָפוּי
- לִישׁוֹן
- So
- חֶברָתִי
- תוכנה
- מהנדס תוכנה
- מוצק
- פִּתָרוֹן
- פתרונות
- כמה
- משהו
- קוד מקור
- מומחה
- מיוחד
- מתמחה
- במיוחד
- התמחות
- התחלה
- החל
- התחלות
- מדינה
- מצב
- אחסון
- חנות
- בהצלחה
- תמיכה
- תומך
- מערכת
- מערכות
- משימות
- טכני
- המקור
- דרך
- זמן
- אסימון
- כלי
- כלים
- חלק עליון
- לעקוב
- תְנוּעָה
- הדרכה
- להעביר
- תרגום
- להעביר
- נסיעה
- ui
- עדכון
- עדכונים
- us
- להשתמש
- משתמשים
- תוקף
- ערך
- מגוון
- שונים
- לאמת
- חזון
- כֶּרֶך
- אינטרנט
- שירותי אינטרנט
- מי
- בתוך
- לְלֹא
- תיק עבודות
- עבד
- עובד
- עובד