REST Resource: projects.locations.awsClusters.awsNodePools

משאב: AwsNodePool

מאגר צמתים של Anthos שפועל ב-AWS.

ייצוג ב-JSON
{
  "name": string,
  "version": string,
  "config": {
    object (AwsNodeConfig)
  },
  "autoscaling": {
    object (AwsNodePoolAutoscaling)
  },
  "subnetId": string,
  "state": enum (State),
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "maxPodsConstraint": {
    object (MaxPodsConstraint)
  },
  "errors": [
    {
      object (AwsNodePoolError)
    }
  ],
  "management": {
    object (AwsNodeManagement)
  },
  "kubeletConfig": {
    object (NodeKubeletConfig)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
שדות
name

string

השם של המשאב הזה.

הפורמט של שמות מאגרי הצמתים הוא projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id>.

פרטים נוספים על שמות משאבים ב-Google Cloud זמינים במאמר שמות משאבים.

version

string

חובה. גרסת Kubernetes להרצה במאגר הצמתים הזה (לדוגמה, 1.19.10-gke.1000).

כדי לראות את כל הגרסאות הנתמכות באזור מסוים ב-Google Cloud, אפשר להפעיל את הפקודה locations.getAwsServerConfig.

config

object (AwsNodeConfig)

חובה. ההגדרה של מאגר הצמתים.

autoscaling

object (AwsNodePoolAutoscaling)

חובה. הגדרת מידרוג אוטומטי למאגר הצמתים הזה.

subnetId

string

חובה. רשת המשנה שבה פועל הצומת של מאגר הצמתים.

state

enum (State)

פלט בלבד. מצב מחזור החיים של מאגר הצמתים.

uid

string

פלט בלבד. מזהה ייחודי גלובלי של מאגר הצמתים.

reconciling

boolean

פלט בלבד. אם ההגדרה מוגדרת, יש כרגע שינויים בתהליך של מאגר הצמתים.

createTime

string (Timestamp format)

פלט בלבד. השעה שבה נוצר מאגר הצמתים הזה.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

פלט בלבד. התאריך והשעה שבהם מאגר הצמתים הזה עודכן בפעם האחרונה.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים חוץ מ-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

etag

string

מאפשר ללקוחות לבצע פעולות קריאה-שינוי-כתיבה עקביות באמצעות בקרת בו-זמניות אופטימית.

אפשר לשלוח אותו בבקשות עדכון ומחיקה כדי לוודא שללקוח יש ערך עדכני לפני שממשיכים.

annotations

map (key: string, value: string)

זה שינוי אופציונלי. הערות על מאגר הצמתים.

ההגבלות בשדה הזה זהות להגבלות של הערות ב-Kubernetes. הגודל הכולל של כל המפתחות והערכים יחד מוגבל ל-256k. למפתח יכולים להיות שני מקטעים: קידומת (אופציונלית) ושם (חובה), שמופרדים באמצעות לוכסן (/). הקידומת חייבת להיות תת-דומיין של DNS. השם צריך להיות באורך של עד 63 תווים, להתחיל ולהסתיים בתווים אלפאנומריים, ולהכיל מקפים (-), קווים תחתונים (_), נקודות (.) ותווים אלפאנומריים בין לבין.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

maxPodsConstraint

object (MaxPodsConstraint)

חובה. ההגבלה על המספר המקסימלי של פודים שאפשר להריץ בו-זמנית בצומת במאגר הצמתים.

errors[]

object (AwsNodePoolError)

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

management

object (AwsNodeManagement)

זה שינוי אופציונלי. הגדרת הניהול של מאגר הצמתים הזה.

kubeletConfig

object (NodeKubeletConfig)

זה שינוי אופציונלי. הגדרות kubelet של הצומת.

updateSettings

object (UpdateSettings)

זה שינוי אופציונלי. הגדרות העדכון קובעות את המהירות וההפרעה של העדכון.

AwsNodeConfig

פרמטרים שמתארים את הצמתים באשכול.

ייצוג ב-JSON
{
  "instanceType": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "taints": [
    {
      object (NodeTaint)
    }
  ],
  "labels": {
    string: string,
    ...
  },
  "tags": {
    string: string,
    ...
  },
  "iamInstanceProfile": string,
  "imageType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "securityGroupIds": [
    string
  ],
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  },
  "autoscalingMetricsCollection": {
    object (AwsAutoscalingGroupMetricsCollection)
  },
  "spotConfig": {
    object (SpotConfig)
  }
}
שדות
instanceType

string

זה שינוי אופציונלי. סוג המופע ב-EC2 כשיוצרים מופעים על פי דרישה.

אם לא מציינים ערך במהלך יצירת מאגר הצמתים, המערכת בוחרת ערך ברירת מחדל על סמך הגרסה של מאגר הצמתים, ומקצה אותו לשדה הזה.

rootVolume

object (AwsVolumeTemplate)

זה שינוי אופציונלי. תבנית לנפח הבסיס שהוקצה לצמתים של מאגר הצמתים. נפחי האחסון יוקצו באזור הזמינות שהוקצה לרשת המשנה של מאגר הצמתים.

אם לא מציינים את הגודל, ברירת המחדל היא 32GiB עם סוג הנפח GP2.

taints[]

object (NodeTaint)

זה שינוי אופציונלי. ההכתמות הראשוניות שהוקצו לצמתים במאגר הצמתים הזה.

labels

map (key: string, value: string)

זה שינוי אופציונלי. התוויות הראשוניות שמוקצות לצמתים במאגר הצמתים הזה. אובייקט שמכיל רשימה של צמדי 'מפתח': ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tags

map (key: string, value: string)

זה שינוי אופציונלי. מטא-נתונים של מפתח/ערך להקצאה לכל משאב בסיסי של AWS. אפשר לציין עד 50 זוגות של ערכים שכוללים תווים אלפאנומריים, רווחים וסמלים (‎.+-=_:@/‎). המפתחות יכולים לכלול עד 127 תווים ב-Unicode. הערכים יכולים לכלול עד 255 תווים ב-Unicode.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

iamInstanceProfile

string

חובה. השם או ה-ARN של פרופיל המכונה ב-AWS IAM שיוקצה לצמתים במאגר.

imageType

string

זה שינוי אופציונלי. סוג תמונת מערכת ההפעלה שבה רוצים להשתמש במכונות במאגר הצמתים. יכול להיות שהערך לא יצוין, או שיוגדר כ-ubuntu.

אם לא מציינים ערך, ברירת המחדל היא ubuntu.

sshConfig

object (AwsSshConfig)

זה שינוי אופציונלי. הגדרת ה-SSH.

securityGroupIds[]

string

זה שינוי אופציונלי. המזהים של קבוצות אבטחה נוספות שיוספו לצמתים במאגר הזה. המנהל ייצור באופן אוטומטי קבוצות אבטחה עם הכללים המינימליים שנדרשים כדי שאשכול יפעל.

proxyConfig

object (AwsProxyConfig)

זה שינוי אופציונלי. הגדרת שרת proxy לתנועת HTTP(S) יוצאת.

configEncryption

object (AwsConfigEncryption)

חובה. הגדרת הצפנה לנתוני משתמשים.

instancePlacement

object (AwsInstancePlacement)

זה שינוי אופציונלי. מידע שקשור למיקום של הצומת הזה. אם לא מציינים את הערך, המערכת תשתמש בברירת המחדל של הדיירות ב-VPC.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

זה שינוי אופציונלי. הגדרות שקשורות לאיסוף מדדים של CloudWatch בקבוצת Auto Scaling של מאגר הצמתים.

אם לא מציינים, אוסף המדדים מושבת.

spotConfig

object (SpotConfig)

זה שינוי אופציונלי. הגדרות להקצאת מכונות EC2 Spot

אם מציינים את הפרמטר הזה, מאגר הצמתים יקצה מכונות Spot מתוך קבוצת spotConfig.instance_types. השדה הזה בלעדי לשדה instanceType.

AwsAutoscalingGroupMetricsCollection

הגדרה שקשורה לאיסוף מדדים של CloudWatch בקבוצת Auto Scaling של AWS.

ייצוג ב-JSON
{
  "granularity": string,
  "metrics": [
    string
  ]
}
שדות
granularity

string

חובה. התדירות שבה EC2 Auto Scaling שולח נתונים מצטברים אל AWS CloudWatch. הערך החוקי היחיד הוא '1Minute'.

metrics[]

string

זה שינוי אופציונלי. המדדים להפעלה. רשימה של מדדים תקינים זמינה בכתובת https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. אם מציינים את רמת הפירוט ולא מציינים מדדים, כל המדדים מופעלים.

SpotConfig

ב-SpotConfig יש פרטי הגדרה של צומת Spot.

ייצוג ב-JSON
{
  "instanceTypes": [
    string
  ]
}
שדות
instanceTypes[]

string

חובה. רשימה של סוגי מכונות ליצירת מאגר צמתים של מכונות Spot.

AwsNodePoolAutoscaling

‫AwsNodePoolAutoscaling מכיל מידע שנדרש ל-Cluster Autoscaler כדי להתאים את הגודל של מאגר הצמתים לשימוש הנוכחי באשכול.

ייצוג ב-JSON
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
שדות
minNodeCount

integer

חובה. מספר הצמתים המינימלי במאגר הצמתים. הערך חייב להיות גדול מ-1 או שווה לו, וקטן מ-maxNodeCount או שווה לו.

maxNodeCount

integer

חובה. המספר המקסימלי של צמתים במאגר הצמתים. הערך חייב להיות גדול מ-minNodeCount או שווה לו, וקטן מ-50 או שווה לו.

מדינה

מצב מחזור החיים של מאגר הצמתים.

טיפוסים בני מנייה (enum)
STATE_UNSPECIFIED לא מוגדר.
PROVISIONING הסטטוס PROVISIONING מציין שמאגר הצמתים נמצא בתהליך יצירה.
RUNNING המצב RUNNING מציין שמאגר הצמתים נוצר ומוכן לשימוש.
RECONCILING המצב RECONCILING (התאמה) מציין שמאגר הצמתים נמצא בתהליך התאמה.
STOPPING המצב STOPPING מציין שמאגר הצמתים נמחק.
ERROR המצב ERROR מציין שמאגר הצמתים נמצא במצב שבור שלא ניתן לשחזור.
DEGRADED הסטטוס DEGRADED מציין שנדרשת פעולה של המשתמש כדי לשחזר את הפונקציונליות המלאה של מאגר הצמתים.

AwsNodePoolError

‫AwsNodePoolError מתאר שגיאות שנמצאו במאגרי צמתים של AWS.

ייצוג ב-JSON
{
  "message": string
}
שדות
message

string

תיאור השגיאה בצורה ידידותית למשתמש.

AwsNodeManagement

‫AwsNodeManagement מגדיר את קבוצת התכונות לניהול צמתים שמופעלות עבור מאגר צמתים של AWS.

ייצוג ב-JSON
{
  "autoRepair": boolean
}
שדות
autoRepair

boolean

זה שינוי אופציונלי. האם הצמתים יתוקנו באופן אוטומטי. אם המדיניות מוגדרת כ-True, הצמתים במאגר הצמתים הזה יהיו במעקב, ואם הם ייכשלו בבדיקות תקינות באופן עקבי לאורך תקופה מסוימת, תופעל פעולת תיקון אוטומטית כדי להחליף אותם בצמתים חדשים.

NodeKubeletConfig

הגדרות לאפשרויות kubelet של מאגר הצמתים.

ייצוג ב-JSON
{
  "insecureKubeletReadonlyPortEnabled": boolean,
  "cpuManagerPolicy": string,
  "cpuCfsQuota": boolean,
  "cpuCfsQuotaPeriod": string,
  "podPidsLimit": string
}
שדות
insecureKubeletReadonlyPortEnabled

boolean

זה שינוי אופציונלי. הפעלת יציאת kubelet לקריאה בלבד שאינה מאובטחת.

cpuManagerPolicy

string

זה שינוי אופציונלי. שליטה במדיניות ניהול המעבד (CPU) בצומת. מידע נוסף זמין בכתובת https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/

אלה הערכים המותרים: ‫* none: ברירת המחדל, שמייצגת את התנהגות התזמון הקיימת. ‫* static: מאפשר להעניק ל-Pods עם מאפייני משאבים מסוימים זיקה מוגברת למעבד ובלעדיות בצומת. אם לא מציינים ערך, ברירת המחדל היא 'none'.

cpuCfsQuota

boolean

זה שינוי אופציונלי. הפעלה של אכיפת מכסת CFS של יחידת העיבוד המרכזית (CPU) עבור מאגרי תגים שמציינים מגבלות על יחידת העיבוד המרכזית.

האפשרות הזו מופעלת כברירת מחדל, וכך kubelet משתמש במכסת CFS ‏ (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) כדי לאכוף את מגבלות ה-CPU של הקונטיינר. אחרת, מגבלות ה-CPU לא ייאכפו בכלל.

כדי להפחית את הבעיות שקשורות להגבלת מהירות המעבד, אפשר להשבית את האפשרות הזו ועדיין להגדיר את ה-Pods כך שיהיו בסיווג QoS מובטח על ידי הגדרת מגבלות המעבד.

אם לא מציינים ערך, ברירת המחדל היא true.

cpuCfsQuotaPeriod

string

זה שינוי אופציונלי. מגדירים את הערך של תקופת המכסה של CPU CFS ‏(cpu.cfs_period_us).

המחרוזת צריכה להיות רצף של מספרים עשרוניים, שלכל אחד מהם יכול להיות חלק שברירי וסיומת של יחידה, כמו '300ms'. יחידות הזמן הקבילות הן ns,‏ us (או µs),‏ ms,‏ s,‏ m,‏ h. הערך חייב להיות משך זמן חיובי.

אם לא מציינים ערך, ברירת המחדל היא '100ms'.

podPidsLimit

string (int64 format)

זה שינוי אופציונלי. מגדירים את מגבלות ה-PID של ה-Pod. מידע נוסף זמין בכתובת https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits

ההגדרה הזו קובעת את המספר המקסימלי של תהליכים שיכולים לפעול ב-Pod. הערך חייב להיות גדול מ-1,024 או שווה לו, וקטן מ-4,194,304.

UpdateSettings

ההגדרות UpdateSettings קובעות את רמת ההפעלה המקבילית ואת רמת השיבוש שנגרם במהלך העדכון של מאגר צמתים.

ההגדרות האלה רלוונטיות כשעדכון מאגר הצמתים מחייב החלפה של הצמתים הקיימים במאגר בצמתים מעודכנים.

הפרמטר UpdateSettings הוא אופציונלי. אם לא מציינים UpdateSettings במהלך יצירת מאגר הצמתים, נבחרת הגדרת ברירת מחדל על סמך הגרסה של אשכול האב. באשכולות עם גרסה משנית 1.27 ואילך, נעשה שימוש בהגדרת ברירת מחדל של surgeSettings עם maxSurge = 1 ו-maxUnavailable = 0. במקרים של אשכולות עם גרסאות ישנות יותר, עדכונים של מאגרי צמתים מתבצעים באמצעות מנגנון העדכון בהדרגה (rolling) המסורתי, שמעדכן צומת אחד בכל פעם בשיטה של 'סיום לפני יצירה', וההגדרה updateSettings לא רלוונטית.

מגדירים את הפרמטר surgeSettings כדי להשתמש במנגנון Surge Update לעדכון בהדרגה (rolling) של צמתי מאגר הצמתים. ‫1. maxSurge שולט במספר הצמתים הנוספים שאפשר ליצור מעבר לגודל הנוכחי של מאגר הצמתים באופן זמני למשך העדכון, כדי להגדיל את מספר הצמתים הזמינים. ‫2. maxUnavailable קובע את מספר הצמתים שיכולים להיות לא זמינים בו-זמנית במהלך העדכון. 3. הערך של (maxSurge + maxUnavailable) קובע את רמת המקביליות (כלומר, מספר הצמתים שמתעדכנים בו-זמנית).

ייצוג ב-JSON
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
שדות
surgeSettings

object (SurgeSettings)

זה שינוי אופציונלי. הגדרות לעדכון מהיר.

SurgeSettings

‫SurgeSettings מכיל את הפרמטרים לעדכון של Surge.

ייצוג ב-JSON
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
שדות
maxSurge

integer

זה שינוי אופציונלי. המספר המקסימלי של צמתים שאפשר ליצור מעבר לגודל הנוכחי של מאגר הצמתים במהלך תהליך העדכון.

maxUnavailable

integer

זה שינוי אופציונלי. המספר המקסימלי של צמתים שיכולים להיות לא זמינים בו-זמנית במהלך תהליך העדכון. צומת נחשב ללא זמין אם הסטטוס שלו הוא לא 'מוכן'.

Methods

create
(deprecated)

יוצרת AwsNodePool חדש שמצורף ל-AwsCluster נתון.

delete
(deprecated)

מחיקה של משאב AwsNodePool ספציפי.

get
(deprecated)

מתאר משאב ספציפי AwsNodePool.

list
(deprecated)

רשימה של כל משאבי AwsNodePool ב-AwsCluster נתון.

patch
(deprecated)

מעדכן AwsNodePool.

rollback
(deprecated)

מבטל שינוי של בקשת עדכון AwsNodePool שבוטלה או נכשלה בעבר.