Pretrained API private system Kubernetes Resource Model API

סקירה כללית

ממשקי ה-API שאומנו מראש הם אוסף של שירותי AI שכוללים זיהוי תווים אופטי (OCR), המרת דיבור לטקסט ותרגום. השירותים מופעלים ומושבתים באמצעות Kubernetes Resource Model ‏ (KRM) API. ‫KRM API הוא API לניהול שמשמש את AI Platform Admin באופן אופציונלי.

הדף הזה מיועד למטרות מידע בלבד.

aiplatform.private.gdc.goog/v1

חבילה v1 מכילה הגדרות סכימת API לקבוצת API‏ aiplatform.private.gdc.goog v1

שליחת התראות

ההתראות מכילות את השמות של ה-ConfigMap שצריך לעבד ולהפוך ל-CR של התראות ב-Observability Platform: ‏ MonitoringRule ו-LoggingRule.

מופיע ב: - Observability

שדה תיאור
monitoringAlertsConfigMap string ‫Configmap עם CR מוטמע של MonitoringRule לאחזור מ-Remote K8s Cluster ולעיבוד על ידי המרה ל-CR של MonitoringRule בפלטפורמת ניראות (observability) ופריסה ל-Admin Cluster.
loggingAlertsConfigMap string ‫ConfigMap עם CR של LoggingRule מוטמע כדי לאחזר מ-Remote K8s Cluster ולעבד על ידי המרה ל-CR של Observability Platform LoggingRule ופריסה ל-Admin Cluster.

AppConfig

‫AppConfig הוא הסכימה של AppConfig API. צריך להגדיר אחד לכל מרחב שמות

מופיע ב: - AppConfigList

שדה תיאור
apiVersion string aiplatform.private.gdc.goog/v1
kind string AppConfig
metadata ObjectMeta פרטים נוספים על השדות של metadata זמינים במאמרי העזרה של ה-API של Kubernetes.
spec AppConfigSpec
status AppConfigStatus

AppConfigList

‫AppConfigList מכיל רשימה של AppConfig

שדה תיאור
apiVersion string aiplatform.private.gdc.goog/v1
kind string AppConfigList
metadata ListMeta פרטים נוספים על השדות של metadata זמינים במאמרי העזרה של ה-API של Kubernetes.
items מערך AppConfig

AppConfigSpec

מופיע ב: - AppConfig

שדה תיאור
sql מסד נתונים

AppConfigStatus

השדה AppConfigStatus מגדיר את המצב שנצפה של AppConfig.

מופיע ב: - AppConfig

שדה תיאור
ready boolean הערך Ready מציין אם המשאב נמצא במצב מוכן.
primaryCondition ResourceCondition ‫PrimaryCondition מייצג את התנאי הראשי של משאב. אם המשאב מוכן, התנאי יציין שהמשאב מוכן. אחרת, התנאי יהיה הסיבה העיקרית לכך שהמשאב לא מוכן.
resourceConditions מערך ResourceCondition ‫ResourceConditions הוא אוסף של תנאים למשאב ולמשאבי המשנה שלו. אפשר להשתמש בו כדי לקבוע את המצב הכללי של משאב ושל משאבי המשנה שלו.
conditions מערך Condition התנאים מייצגים תנאים גולמיים של משאבים שאוכלסו ממשאבי Kubernetes למטרות ניפוי באגים.
database DatabaseInfo מציג את המידע על משאב המשנה Database.

מרכזי שליטה

לוחות הבקרה מכילים רשימה של שמות של מפות תצורה שתואמות ללוחות הבקרה של Observability Platform, שצריך לעבד.

מופיע ב: - Observability

שדה תיאור
configMaps מערך מחרוזות ‫ConfigMaps (עם הגדרת json של לוח הבקרה המוטמע של Grafana) לעיבוד. ההנחה היא שהם קיימים באשכול המשתמש ובמרחב השמות שאליו נפרסו עומסי העבודה של ה-AI. צריך להיות מיפוי של 1:1 בין מספר לוחות הבקרה הרצויים לבין מפות התצורה של לוחות הבקרה. אנחנו מניחים שיהיה מפתח יחיד ב-configmap: ‏data, שיכיל את מחרוזת ה-JSON של הגדרת לוח הבקרה.

מסד נתונים

במסד הנתונים מוגדרות הדרישות של מסד הנתונים הרלציוני עבור המיקרו-שירות היעד.

מופיע ב: - AppConfigSpec

שדה תיאור
postgres PostgresConfig

DatabaseInfo

‫DatabaseInfo מגדיר את המצב שנצפה של פרטי מסד הנתונים.

מופיע ב: - AppConfigStatus

שדה תיאור
endpoint string
port string

HPAStatus

‫HPAStatus מתאר את תנאי הסטטוס של HorizontalPodAutoscaler.

מופיע ב: - MicroserviceStatus

שדה תיאור
statusConditions מערך HorizontalPodAutoscalerCondition תנאי סטטוס
currentReplicas מספר שלם מספר העותקים הנוכחיים שמנוהלים על ידי ה-HPA
desiredReplicas מספר שלם מספר הרפליקות הרצוי שמנוהלות על ידי HPA

רישום ביומן

הרישום ביומן מגדיר את הפונקציונליות של איסוף היומנים עבור פלטפורמת ה-Observability ב-GDC עם air gap (לא מפעילים אם בודקים ב-GKE – הפונקציונליות הזו לא רלוונטית שם).

מופיע ב: - Observability

שדה תיאור
enableLogCollection boolean ההגדרה EnableLogCollection מציינת אם להפעיל או להשבית את איסוף היומנים דרך פלטפורמת ה-Observability.
staticLabels object (keys:string, values:string) ממופה למאפיין additionalLabels של OP LoggingTargetCR. תוויות סטטיות שיוספו לכל הרשומות ביומן שנלכדו. שמות של תוויות לא יכולים להכיל מקפים ("-"), אבל ערכים של תוויות כן יכולים להכיל מקפים.

מדדים

ההגדרה Metrics קובעת איך המדדים של פוד ייאספו.

מופיע ב: - Observability

שדה תיאור
prometheus PrometheusMetrics

מיקרו-שירות

מיקרו-שירות הוא הסכימה של ממשק ה-API של השירותים

מופיע ב: - MicroserviceList

שדה תיאור
apiVersion string aiplatform.private.gdc.goog/v1
kind string Microservice
metadata ObjectMeta פרטים נוספים על השדות של metadata זמינים במאמרי העזרה של ה-API של Kubernetes.
spec MicroserviceSpec
status MicroserviceStatus

MicroserviceList

‫MicroserviceList מכיל רשימה של Microservice

שדה תיאור
apiVersion string aiplatform.private.gdc.goog/v1
kind string MicroserviceList
metadata ListMeta פרטים נוספים על השדות של metadata זמינים במאמרי העזרה של ה-API של Kubernetes.
items מערך Microservice

MicroserviceSpec

‫MicroserviceSpec מגדיר את המצב הרצוי של המיקרו-שירות.

מופיע ב: - מיקרו-שירות

שדה תיאור
public boolean האם המיקרו-שירות הזה גלוי לכולם. אם הערך הוא True, יהיה לה רשומת DNS חשופה וגם נקודת קצה ציבורית. פרוטוקול TLS יוגדר גם בשער באופן אוטומטי בהתאם לשם ה-DNS. התוספת לשם של ה-DNS תהיה השם של המיקרו-שירות במטא-נתונים.
enableBucketAccess boolean האם להקצות את ההגדרות שקשורות לקטגוריית האחסון לקונטיינר
dnsname string שם המארח ב-DNS. השם הזה ישמש ליצירת שם מארח DNS למיקרו-שירות בסביבת GDC כשהמיקרו-שירות הוא ציבורי
autoscaling הגדרות של התאמה אוטומטית לעומס (autoscaling).
observability ניראות (observability) הגדרת יכולת צפייה (רישום ביומן, מדדים, מעקב ולוחות בקרה) (חלק מההגדרות רלוונטיות רק להגדרות של GDC עם air gap).
prerequisites דרישות מוקדמות הגדרת תנאים מוקדמים.
template PodTemplateSpec תבנית ליצירת קבוצות Pod במיקרו-שירות. המיקרו-שירות יכלול פריסות ללא שמירת מצב עבור הפודים האלה.

PodSpec

‫PodSpec היא גרסה מינימליסטית של הליבה של PodSpec.

מופיע ב: - PodTemplateSpec

שדה תיאור
containers Container array מציין מאגרי תגים. לא כל המאפיינים נתמכים. היציאות שצוינו מכל מאגרי התגים ייחשפו. המאגר הראשון (containers[0]) נחשב למאגר הראשי, והוא זה שיתויג בבקשות למשאבים לצורך הקצאה אוטומטית של צמתים. שאר המאגרים נחשבים כמאגרי עזר (לדוגמה, sidecars).
nodeSelector object (keys:string, values:string) ‫NodeSelector הוא בורר שצריך להחזיר את הערך true כדי שה-Pod יתאים לצומת. בורר שחייב להתאים לתוויות של צומת כדי שה-Pod יתוזמן בצומת הזה.
volumes מערך Volume רשימת אמצעי האחסון שיוצמדו ל-Pods
initContainers Container array רשימה של מאגרי אתחול ששייכים ל-Pod. קונטיינרים של init מופעלים לפי הסדר לפני הפעלת הקונטיינרים. אם אחד מהקונטיינרים של init נכשל, הפוד נחשב כפוד שנכשל והמערכת מטפלת בו בהתאם ל-restartPolicy שלו. השם של מאגר init או של מאגר רגיל חייב להיות ייחודי בין כל המאגרים. אי אפשר לעדכן. מידע נוסף: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
tolerations מערך Toleration אם מציינים, הסבילות של ה-pod.
serviceAccount string חשבון השירות ב-Kubernetes שנוצר מראש וישמש את ה-Pod.

PodTemplateSpec

‫PodTemplateSpec הוא אובייקט קונטיינר של PodSpec ואולי של מפרט מטא-נתונים.

מופיע ב: - מיקרו-שירות

שדה תיאור
metadata ObjectMeta פרטים נוספים על השדות של metadata זמינים במאמרי העזרה של ה-API של Kubernetes.
spec PodSpec

MicroserviceStatus

‫MicroserviceStatus מגדיר את המצב שנצפה של Microservice.

מופיע ב: - מיקרו-שירות

שדה תיאור
observedGeneration מספר שלם הדור שנצפה על ידי בקר הפריסה.
endpoint string נקודת הקצה שאפשר לגשת אליה מהמיקרו-שירות הזה. השדה הזה מאוכלס רק בשירותים ציבוריים.
deploymentStatus DeploymentStatus סטטוס הפריסה של המיקרו-שירות הזה.
hpaStatus HPAStatus הסטטוס של HorizontalPodAutoscaler.
ready boolean סטטוס המוכנות הכולל של המיקרו-שירות
conditions מערך Condition מייצג את התצפיות הזמינות האחרונות של המצב הנוכחי של מיקרו-שירות.

ניראות (observability)

התכונה Observability מגדירה את הרכיבים והפרמטרים השונים שנדרשים על ידי פלטפורמת Observability (ב-GDC עם air gap), או את חשיפת המדדים (ב-GKE).

מופיע ב: - MicroserviceSpec

שדה תיאור
metrics מדדים הגדרת מדדים. ב-GKE, הנתונים האלה נאספים רק בקונטיינר הראשון. ב-GDC עם air gap, נעשה שימוש בהגדרה הזו בשילוב עם הקטע Observability כדי להגדיר את ההתנהגות של פלטפורמת ה-Observability.
logging Logging
alerting התראות
dashboards מרכזי בקרה

PostgresConfig

‫PostgresConfig מגדיר את הגדרות היעד הרלוונטיות למסד נתונים של Postgres.

מופיע ב: - מסד נתונים

שדה תיאור
version string

דרישות מוקדמות

‫Prerequisites מגדיר את כל הדרישות המוקדמות למיקרו-שירות.

מופיע ב: - MicroserviceSpec

שדה תיאור
sql boolean הגדרת SQL, אם נדרשת על ידי עומס העבודה של היעד

PrometheusMetrics

‫PrometheusMetrics מגדיר את מדדי Prometheus שנחשפים על ידי פוד.

מופיע ב: - מדדים

שדה תיאור
path string נתיב ה-URI של המדדים שמהם יתבצע גירוד של מדדים. ברירת המחדל היא ‎ /metrics.
port מספר שלם היציאה שממנה יתבצע גירוד של מדדים. ברירת המחדל היא 80.