אתם יכולים להצפין נתונים של עומסי עבודה של GPU בשימוש על ידי הפעלת עומסי העבודה ב-Confidential Google Kubernetes Engine Nodes מוצפנים. בדף הזה מוסבר למהנדסי אבטחה ולמפעילים איך לשפר את אבטחת הנתונים בעומסי עבודה מואצים, כמו משימות AI/ML. כדאי להכיר את המושגים הבאים:
מידע על הרצת עומסי עבודה של GPU בצמתים של Confidential GKE
אפשר לבקש Confidential GKE Nodes לעומסי העבודה של ה-GPU באחת מהדרכים הבאות:
- הקצאה אוטומטית של Confidential GKE Nodes לעומסי העבודה ב-GPU באמצעות ComputeClasses ב-GKE. אפשר להשתמש בשיטה הזו באשכולות Autopilot ובאשכולות Standard. מידע נוסף זמין בקטע שימוש ב-ComputeClasses להרצת עומסי עבודה של GPU בצומתי Confidential GKE Node.
- הגדרת Confidential GKE Nodes באופן ידני עבור אשכולות Standard או מאגרי צמתים. מידע נוסף זמין בקטע הגדרה ידנית של Confidential GKE Nodes ב-GKE Standard.
מגבלות
מצב אוטומטי תומך רק במעבדי GPU NVIDIA H100 (80 GB) עם Confidential GKE Nodes.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את המשימות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- כדי להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז לאתחל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שבגרסאות קודמות של ה-CLI של gcloud אי אפשר להריץ את הפקודות שבמסמך הזה.
דרישות
לא משנה באיזו שיטה תבחרו להגדיר Confidential GKE Nodes, אתם צריכים לעמוד בכל הדרישות הבאות:
- הצמתים צריכים להיות באזור שתומך ב-NVIDIA Confidential Computing. אזורים נתמכים
- הצמתים חייבים להשתמש בסוג מכונה נתמך, בטכנולוגיית Confidential Computing וב-GPU. מידע נוסף זמין במאמר בנושא תצורות נתמכות.
- צריך להקצות מכסות ל-GPU שניתן להפסיק את השימוש בהם מראש במיקומי הצמתים שבהם רוצים להשתמש. לדוגמה, אם אתם משתמשים במעבדי GPU מסוג NVIDIA H100 (80 GB), אתם צריכים מכסה של
compute.googleapis.com/preemptible_nvidia_h100_gpus. מידע נוסף על ניהול המכסות זמין במאמר איך רואים ומנהלים את המכסות.
בנוסף לדרישות האלה, אתם צריכים לעמוד בתנאים ספציפיים בהתאם לשיטה להגדרת Confidential GKE Nodes שתבחרו, כפי שמתואר בטבלה הבאה:
| שיטת ההגדרה | דרישות | מגבלות |
|---|---|---|
| ComputeClasses |
|
|
| הגדרה ידנית במצב רגיל |
|
|
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת Confidential GKE Nodes, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט Cloud de Confiance :
-
יצירת צמתים סודיים ב-GKE:
Kubernetes Engine Cluster Admin (
roles/container.clusterAdmin) -
פריסת עומסי עבודה של GPU:
מפתח Kubernetes Engine (
roles/container.developer)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
איך משתמשים ב-ComputeClasses כדי להריץ עומסי עבודה של GPU ב-Confidential VM
אפשר להגדיר את התצורה של צמתי GKE סודיים ב-ComputeClass. ComputeClasses הם משאבים מותאמים אישית של Kubernetes שמאפשרים להגדיר הצהרות של תצורות צמתים לצורך התאמה אוטומטית לעומס ותזמון ב-GKE. אפשר לפעול לפי השלבים שבקטע הזה בכל אשכול במצב Autopilot או במצב Standard שמופעלת בו גרסה GKE 1.33.3-gke.1392000 ואילך.
כדי להשתמש ב-ComputeClass להרצת עומסי עבודה של GPU בצומתי Confidential GKE, פועלים לפי השלבים הבאים:
שומרים את מניפסט ComputeClass הבא כקובץ YAML:
apiVersion: cloud.google.com/v1 kind: ComputeClass metadata: name: COMPUTECLASS_NAME spec: nodePoolConfig: confidentialNodeType: CONFIDENTIAL_COMPUTE_TECHNOLOGY priorityDefaults: location: zones: ['ZONE1','ZONE2'] priorities: - gpu: type: GPU_TYPE count: GPU_COUNT driverVersion: default spot: true activeMigration: optimizeRulePriority: true nodePoolAutoCreation: enabled: true whenUnsatisfiable: DoNotScaleUpמחליפים את מה שכתוב בשדות הבאים:
-
COMPUTECLASS_NAME: שם ל-ComputeClass.
CONFIDENTIAL_COMPUTE_TECHNOLOGY: טכנולוגיית Confidential Computing שבה משתמשים, כמוTDX. בוחרים טכנולוגיה שנתמכת על ידי ה-GPU שבו רוצים להשתמש.
ZONE1,ZONE2: רשימה מופרדת בפסיקים של אזורים שבהם ייצרו צמתים, למשל['us-central1-a','us-central1-b']. מציינים את האזורים שתומכים בטכנולוגיית Confidential Computing ובסוג המכונה שבהם רוצים להשתמש. מידע נוסף זמין במאמר בנושא הצגת אזורים נתמכים.
GPU_TYPE: סוג ה-GPU שבו רוצים להשתמש, למשלnvidia-h100-80gb.
GPU_COUNT: מספר יחידות ה-GPU לצירוף לכל צומת. צריך לציין ערך שנתמך על ידי Confidential VMs עבור סוג ה-GPU. לדוגמה, אם בוחרים בסוג ה-GPUnvidia-h100-80gb, צריך לציין את הערך1בשדה הזה.
-
יוצרים את ComputeClass:
kubectl apply -f PATH_TO_MANIFESTמחליפים את
PATH_TO_MANIFESTבנתיב לקובץ המניפסט של ComputeClass.כדי להריץ את עומס העבודה של ה-GPU בצומתי Confidential GKE, בוחרים את ComputeClass במניפסט של עומס העבודה. לדוגמה, שומרים את המניפסט הבא של הפריסה, שבוחר ComputeClass ומעבדי GPU, כקובץ YAML:
apiVersion: apps/v1 kind: Deployment metadata: name: confidential-gpu-deployment labels: app: conf-gpu spec: selector: matchLabels: app: conf-gpu replicas: 1 template: metadata: labels: app: conf-gpu spec: nodeSelector: cloud.google.com/compute-class: COMPUTECLASS_NAME containers: - name: example-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 resources: limits: cpu: "4" memory: "16Gi" nvidia.com/gpu: GPU_REQUEST requests: cpu: "4" memory: "16Gi"מחליפים את מה שכתוב בשדות הבאים:
-
COMPUTECLASS_NAME: השם של ComputeClass שיצרתם. -
GPU_REQUEST: מספר יחידות ה-GPU לשימוש בקונטיינר. מציינים ערך שקטן מהערך שציינתם בשדהgpu.countשל ComputeClass או שווה לו.
-
יוצרים את הפריסה:
kubectl apply -f PATH_TO_DEPLOYMENT_MANIFESTמחליפים את
PATH_TO_DEPLOYMENT_MANIFESTבנתיב אל מניפסט הפריסה.
כשיוצרים את עומס העבודה של ה-GPU, GKE משתמש בהגדרה ב-ComputeClass כדי ליצור Confidential GKE Nodes עם יחידות GPU מצורפות.
הגדרה ידנית של Confidential GKE Nodes ב-GKE Standard
אפשר להריץ עומסי עבודה של GPU בצומתי Confidential GKE באשכולות או במאגרי צמתים במצב רגיל.
הפעלת Confidential GKE Nodes באשכולות Standard חדשים
אתם יכולים להפעיל Confidential GKE Nodes לכל אשכול Standard, כך שכל מאגר צמתים של GPU שתיצרו ישתמש באותה טכנולוגיית Confidential Computing. כשיוצרים אשכול חדש במצב רגיל שמשתמש ב-Confidential GKE Node לעומסי עבודה של GPU, צריך לוודא שמציינים את הגדרות האשכול הבאות:
- Location: אזור או תחום שתומכים ב-NVIDIA Confidential Computing. מידע נוסף זמין במאמר בנושא הצגת אזורים נתמכים.
- Confidential Computing type: טכנולוגיית Confidential Computing שתומכת במעבדים גרפיים. מידע נוסף זמין במאמר הגדרות נתמכות.
גרסת האשכול: אחת מהגרסאות הבאות, בהתאם לאופן שבו רוצים להתקין את הדרייברים של ה-GPU:
- התקנה ידנית של דרייבר ל-GPU: גרסה 1.32.2-gke.1297000 ואילך.
- התקנה אוטומטית של מנהל התקן GPU: גרסה 1.33.3-gke.1392000 ואילך.
אפשר גם להגדיר יחידות GPU למאגר הצמתים שמוגדר כברירת מחדל ש-GKE יוצר באשכול. עם זאת, מומלץ להשתמש במאגר צמתים נפרד עבור יחידות ה-GPU, כדי שלפחות מאגר צמתים אחד באשכול יוכל להריץ כל עומס עבודה.
מידע נוסף זמין במאמר בנושא הפעלת צמתים של GKE Confidential באשכולות רגילים.
שימוש בצומתי GKE סודיים עם מעבדי GPU במאגרי צמתים רגילים
אם באשכול לא מופעלים צומתי GKE חסויים, אתם יכולים להפעיל Confidential GKE Nodes במאגרים ספציפיים של צומתי GPU, חדשים או קיימים. מישור הבקרה ומאגרי הצמתים צריכים לעמוד בדרישות שבקטע זמינות. כשמגדירים את מאגר הצמתים, אפשר לבחור להתקין את מנהלי ההתקנים של ה-GPU באופן אוטומטי או ידני.
כדי ליצור מאגר צמתים חדש של GPU שמשתמש ב-Confidential GKE Nodes, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Kubernetes clusters במסוף Cloud de Confiance .
לוחצים על השם של אשכול במצב רגיל שרוצים לשנות.
לוחצים על הכרטיסייה Nodes (צמתים).
לוחצים על Create user-managed node pool (יצירת מאגר צמתים בניהול המשתמש). נפתח הדף הוספת מאגר צמתים.
בחלונית פרטי מאגר הצמתים, בצע את הפעולות הבאות:
בתפריט הניווט, לוחצים על Nodes (צמתים).
בחלונית Configure node settings, מבצעים את הפעולות הבאות:
- בקטע Machine configuration, לוחצים על GPUs.
- בתפריט סוג ה-GPU, בוחרים סוג GPU שנתמך על ידי Confidential Computing.
- בתפריט Number of GPUs, בוחרים את מספר ה-GPU שרוצים לצרף לכל צומת. בוחרים ערך שנתמך על ידי סוג ה-GPU שבחרתם. לדוגמה, אם בחרתם מעבדי GPU מסוג NVIDIA H100 (80 GB), בוחרים באפשרות 1.
- מוודאים שהאפשרות הפעלת שיתוף GPU לא מסומנת.
בקטע GPU Driver installation, בוחרים באחת מהאפשרויות הבאות:
בניהול Google: מערכת GKE מתקינה את הדרייבר באופן אוטומטי. אם בוחרים באפשרות הזו, ברשימה הנפתחת Version בוחרים אחת מגרסאות הדרייבר הבאות:
- ברירת מחדל: התקנת גרסת ברירת המחדל של מנהל ההתקן עבור גרסת הצומת של GKE. נדרשת גרסת GKE 1.33.3-gke.1392000 ואילך.
- Latest: התקנת הגרסה העדכנית של מנהל ההתקן לגרסת GKE של הצומת. נדרשת גרסה 1.33.3-gke.1392000 ואילך של GKE.
בניהול המשתמש: דילוג על התקנה אוטומטית של מנהל ההתקן. אם בוחרים באפשרות הזו, חובה להתקין באופן ידני מנהל התקן תואם של GPU. נדרשת גרסה 1.32.2-gke.1297000 ואילך.
בקטע Machine type, מוודאים שסוג המכונה הוא סוג מכונה עם GPU שנתמך על ידי Confidential VM לסוג ה-GPU שבחרתם.
בוחרים באפשרות Enable nodes on spot VMs (הפעלת צמתים ב-VM במודל Spot) או configure Flex-start VMs with queued provisioning (הגדרת Flex-start VMs עם הקצאת משאבים בהמתנה).
כשמוכנים ליצור את מאגר הצמתים, לוחצים על יצירה.
gcloud
אתם יכולים ליצור מאגרי צמתים של GPU שמריצים Confidential GKE Nodes ב-VM במודל Spot או באמצעות Flex-start VM עם הקצאת משאבים בהמתנה.
יוצרים מאגר צומתי GPU שמריץ צומתי Confidential GKE ב-VM במודל Spot:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY \ --location=LOCATION \ --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \ --spot \ --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=DRIVER_VERSION \ --machine-type=MACHINE_TYPEמחליפים את מה שכתוב בשדות הבאים:
-
NODE_POOL_NAME: שם למאגר הצמתים החדש. -
CLUSTER_NAME: השם של האשכול הקיים. -
CONFIDENTIAL_COMPUTE_TECHNOLOGY: טכנולוגיית Confidential Computing לשימוש, כמוTDX. בוחרים טכנולוגיה שנתמכת על ידי ה-GPU שבו רוצים להשתמש. -
LOCATION: המיקום של מאגר הצמתים החדש. המיקום צריך לתמוך בשימוש ב-GPU בצמתים של Confidential GKE. -
NODE_LOCATION1,NODE_LOCATION2,...: רשימה מופרדת בפסיקים של אזורים להרצת הצמתים. צריך לציין אזורים שתומכים בטכנולוגיית Confidential Computing ובסוג המכונה שבהם רוצים להשתמש. מידע נוסף זמין במאמר בנושא הצגת אזורים נתמכים. -
GPU_TYPE: סוג ה-GPU לשימוש, למשלnvidia-h100-80gb.
GPU_COUNT: מספר יחידות ה-GPU לצירוף לכל צומת. צריך לציין ערך שנתמך על ידי Confidential VM לסוג ה-GPU. לדוגמה, אם בוחרים את סוג ה-GPUnvidia-h100-80gb, צריך לציין ערך של1בשדה הזה.
DRIVER_VERSION: גרסת מנהל ההתקן של ה-GPU להתקנה. מציינים את אחד מהערכים הבאים:-
default: התקנת גרסת ברירת המחדל של מנהל ההתקן עבור גרסת GKE של הצומת. נדרשת גרסת GKE 1.33.3-gke.1392000 ואילך. -
latest: התקנת גרסת הדרייבר העדכנית ביותר לגרסת ה-GKE של הצומת. נדרשת גרסת GKE 1.33.3-gke.1392000 ואילך. -
disabled: דילוג על התקנה אוטומטית של מנהל התקן. אם מציינים את הערך הזה, חובה להתקין ידנית דרייבר תואם ל-GPU. נדרשת גרסה 1.32.2-gke.1297000 ואילך.
-
-
MACHINE_TYPE: סוג המכונה שבה יש להשתמש עבור הצמתים. מציינים סוג מכונה של GPU שנתמך על ידי Confidential VMs עבור סוג ה-GPU שנבחר.
-
כדי ליצור מאגר צמתים של GPU שמריץ צמתים של Confidential GKE באמצעות מכונות וירטואליות מסוג Flex-start עם הקצאת משאבים בהמתנה:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --node-locations=NODE_LOCATION1,NODE_LOCATION2,... \ --machine-type=MACHINE_TYPE \ --confidential-node-type=CONFIDENTIAL_COMPUTE_TECHNOLOGY \ --location=LOCATION \ --flex-start --enable-queued-provisioning \ --enable-autoscaling --num-nodes=0 --total-max-nodes=TOTAL_MAX_NODES \ --location-policy=ANY --no-enable-autorepair \ --accelerator=type=GPU_TYPE,count=GPU_COUNT,gpu-driver-version=DRIVER_VERSIONמחליפים את
TOTAL_MAX_NODESבמספר הצמתים המקסימלי שאליו מאגר הצמתים יכול לבצע התאמה אוטומטית לעומס.מידע נוסף על אפשרויות ההגדרה של "התחלה גמישה" עם הקצאת משאבים בהמתנה זמין במאמר הרצת עומס עבודה בקנה מידה גדול באמצעות "התחלה גמישה" עם הקצאת משאבים בהמתנה.
כדי לעדכן את מאגרי הצמתים הקיימים לשימוש ב-Confidential Computing, קראו את המאמר עדכון של מאגר צמתים קיים.
התקנה ידנית של מנהלי התקנים (דרייברים) של GPU שתומכים ב-Confidential GKE Nodes
אם לא הפעלתם התקנה אוטומטית של מנהל התקן כשנוצרו או עודכנו מאגרי הצמתים, תצטרכו להתקין באופן ידני מנהל התקן של GPU שתומך ב-Confidential GKE Node.
השינוי הזה מחייב ליצור מחדש את הצמתים, מה שעלול לשבש את עומסי העבודה הפעילים. כדי לקבל פרטים על השינוי הספציפי הזה, חפשו את השורה המתאימה בטבלה שינויים ידניים שיוצרים מחדש את הצמתים באמצעות אסטרטגיית שדרוג צמתים בלי להתחשב במדיניות התחזוקה. מידע נוסף על עדכוני צמתים זמין במאמר תכנון לשיבושים בעדכוני צמתים.
להוראות, ראו את הכרטיסייה "COS" במאמר התקנה ידנית של מנהלי התקנים של NVIDIA GPU.
פתרון בעיות
מידע לפתרון בעיות זמין במאמר פתרון בעיות ב-GPU ב-GKE.
המאמרים הבאים
- אימות השימוש בצומתי GKE סודיים בצומתי ה-GPU
- פריסת עומס עבודה בצמתי ה-GPU
- מידע על השיטות להפעלת עומסי עבודה גדולים באמצעות יחידות GPU