פתרון בעיות בחיבורים לאשכול

בדף הזה מוסבר איך לפתור בעיות נפוצות שעלולות לקרות כשרושמים אשכולות לצי או כשמתחברים לאשכולות מחוץ ל-Google Cloud באמצעות Google Cloud המסוף, Google Cloud CLI או kubectlשער החיבור.

אשכולות מקומיים ואשכולות בעננים ציבוריים אחרים מסתמכים על Connect Agent כדי ליצור ולשמור על חיבור בין האשכול לבין פרויקטGoogle Cloud , וכדי לטפל בבקשות Kubernetes. אם מופיעות שגיאות כמו 'לא ניתן להגיע לסוכן' או 'החיבור למישור הבקרה של האשכול נכשל', יכול להיות שיש בעיה בסוכן Connect.

סקירה כללית של פתרון בעיות ב-GKE זמינה במאמר מבוא לפתרון בעיות ב-GKE.

איסוף יומנים של Connect Agent

כשרושמים אשכול מחוץ ל- Google Cloud, נעשה שימוש ב-Connect Agent כדי לטפל בתקשורת בין האשכול לבין פרויקט המארח של ה-Fleet. ה-Connect Agent הוא פריסת gke-connect-agent, שבדרך כלל מותקנת באשכול במרחב השמות gke-connect. איסוף יומנים מסוכן Connect Agent הזה יכול לעזור בפתרון בעיות שקשורות לרישום ולחיבור.

כדי לאחזר את היומנים של הסוכן, מריצים את הפקודה הבאה (במקרה הצורך, משנים את מספר השורות):

kubectl logs -n gke-connect -l app=gke-connect-agent --tail=-1

כדי לקבל מידע על כל סוכן Connect שפועל באשכולות של הפרויקט:

kubectl describe deployment --all-namespaces -l app=gke-connect-agent

אם החיבור מצליח, אמורים להופיע רשומות שדומות לדוגמה הבאה:

2019/02/16 17:28:43.312056 dialer.go:244: dialer: dial: connected to gkeconnect.googleapis.com:443
2019/02/16 17:28:43.312279 tunnel.go:234: serve: opening egress stream...
2019/02/16 17:28:43.312439 tunnel.go:248: serve: registering endpoint="442223602236", shard="88d2bca5-f40a-11e8-983e-42010a8000b2" {"Params":{"GkeConnect":{"endpoint_class":1,"metadata":{"Metadata":{"Default":{"manifest_version":"234227867"}}}}}} ...
2019/02/16 17:28:43.312656 tunnel.go:259: serve: serving requests...

איסוף יומנים של שירות הזהויות של GKE

אם נתקלתם בבעיות בקבוצות Google או בתמיכה של צד שלישי ב-Connect gateway, יכול להיות שיהיה לכם שימושי לבדוק את היומנים של שירות הזהויות של GKE. השיטה הזו ליצירת יומנים רלוונטית רק לאשכולות בפריסות של Google Distributed Cloud ב-VMware או ב-bare metal.

  1. כדי להגדיל את רמת הפירוט של היומנים של שירות הזהויות של GKE, עורכים את המשאב המותאם אישית clientconfig באמצעות הפקודה הבאה:

    kubectl edit deployment -n anthos-identity-service
    

    ואז מוסיפים דגל vmodule מתחת לשדה containers כך:

    spec:
      containers:
      ...
      - command:
        - --vmodule=cloud/identity/hybrid/charon/*=9
    
  2. מפעילים מחדש את הפוד של GKE Identity Service על ידי מחיקתו באמצעות הפקודה הבאה:

    kubectl delete pods -l k8s-app=ais -n anthos-identity-service
    

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

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

  4. שומרים את הפלט של היומנים האלה בקובץ באמצעות הפקודה הבאה:

    kubectl logs -l k8s-app=ais -n anthos-identity-service --tail=-1 > gke_id_service_logs.txt
    

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

tls: oversized record שגיאות

תיאור הבעיה

יכול להיות שתיתקלו בשגיאה כמו זו:

... dialer: dial: connection to gkeconnect.googleapis.com:443 failed after
388.080605ms: serve: egress call failed: rpc error: code = Unauthenticated
desc = transport: oauth2: cannot fetch token: Post
https://oauth2.googleapis.com/token: proxyconnect tcp: tls: oversized record
received with length 20527
סיבות אפשריות

יכול להיות שהמשמעות היא שסוכן החיבור מנסה להתחבר באמצעות HTTPS לפרוקסי HTTP בלבד. הסוכן Connect תומך רק בשרתי proxy של HTTP שמבוססים על CONNECT.

רזולוציה

צריך להגדיר מחדש את משתני הסביבה של ה-proxy כך:

http_proxy=http://[PROXY_URL]:[PROXY_PORT]
https_proxy=http://[PROXY_URL]:[PROXY_PORT]

oauth2: cannot fetch token שגיאות

תיאור הבעיה

יכול להיות שתיתקלו בשגיאה כמו זו:

...  dialer: dial: connection to gkeconnect.googleapis.com:443 failed
after 388.080605ms: serve: egress call failed: rpc error: code =
Unauthenticated desc = transport: oauth2: cannot fetch token: Post
https://oauth2.googleapis.com/token: read tcp 192.168.1.40:5570->1.1.1.1:80
read: connection reset by peer
סיבות אפשריות

יכול להיות ששרת ה-proxy מסוג HTTP שבהמשך השרשרת איפס את החיבור, כנראה כי כתובת ה-URL הספציפית הזו לא מורשית על ידי שרת ה-proxy מסוג HTTP. בדוגמה שלמעלה, 1.1.1.1:80 היא כתובת ה-proxy של HTTP.

רזולוציה

בודקים שרשימת ההיתרים של שרת ה-proxy של HTTP כוללת את כתובות ה-URL או הדומיינים הבאים:

gkeconnect.googleapis.com
oauth2.googleapis.com/token
www.googleapis.com/oauth2/v1/certs

שגיאות בקריסת Pod של Agent והפעלה מחדש

תיאור הבעיה

יכול להיות שתיתקלו בשגיאות לסירוגין של 'הסוכן לא נגיש' ב Google Cloud מסוף של האשכול, או שתגלו שה-Pod הופעל מחדש כמה פעמים:

$ kubectl get pods -n gke-connect
NAME                                                READY   STATUS    RESTARTS   AGE
gke-connect-agent-20230706-03-00-6b8f75dd58-dzwmt   1/1     Running   5          99m

כדי לפתור את הבעיה, מתארים את ה-Pod כדי לראות אם המצב האחרון שלו היה terminated (הופסק) בגלל שגיאת חוסר זיכרון (OOMKilled):

  kubectl describe pods/gke-connect-agent-20230706-03-00-6b8f75dd58-dzwmt -n gke-connect
        <some details skipped..>
        Last State:     Terminated
        Reason:       OOMKilled
סיבות אפשריות
כברירת מחדל, ל-Connect Agent Pods יש מגבלת RAM של ‎256MiB. אם הותקנו הרבה עומסי עבודה באשכול, יכול להיות שחלק מהבקשות והתשובות לא יטופלו כצפוי.
רזולוציה

מעדכנים את הפריסה של Connect Agent ומעניקים לה מכסת זיכרון גבוהה יותר, למשל:

containers:
  name: gke-connect-agent-20230706-03-00
  resources:
    limits:
      memory: 512Mi

PermissionDenied שגיאות

תיאור הבעיה

יכול להיות שתיתקלו בשגיאה כמו זו:

tunnel.go:250: serve: recv error: rpc error: code = PermissionDenied
desc = The caller does not have permission
dialer.go:210: dialer: dial: connection to gkeconnect.googleapis.com:443
failed after 335.153278ms: serve: receive request failed: rpc error:
code = PermissionDenied desc = The caller does not have permission
dialer.go:150: dialer: connection done: serve: receive request failed:
rpc error: code = PermissionDenied desc = The caller does not have permission
dialer.go:228: dialer: backoff: 1m14.1376766s
סיבות אפשריות

יכול להיות שלא קישרתם את התפקיד הנדרש בניהול הזהויות והרשאות הגישה (IAM) לGoogle Cloud חשבון השירות שיצרתם כדי לתת לסוכן Connect הרשאה להתחבר ל-Google. חשבון השירות Google Cloud צריך את תפקיד ה-IAM‏ gkehub.connect.

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

רזולוציה

מקשרים את התפקיד gkehub.connect לחשבון השירות (שימו לב שלתפקיד gkehub.connect אין את ההרשאות המתאימות להתחברות, והוא לא מיועד לשימוש על ידי חשבונות שירות).gkehub.admin

לדוגמה, כדי לקשור את התפקיד לחשבון השירות בפרויקט שנקרא my-project ולחשבון שירות שנקרא Google Cloud, מריצים את הפקודה הבאה:gkeconnect@my-project.iam.gserviceaccount.com

gcloud projects add-iam-policy-binding my-project --member \
serviceAccount:gkeconnect@my-project.iam.gserviceaccount.com \
--role "roles/gkehub.connect"

כדי לראות ולאמת שההרשאות של חשבון השירות הוחלו על חשבון השירות Google Cloud , בודקים את הפלט של הפקודה הבאה. הכתובת role: roles/gkehub.connect צריכה להיות משויכת לחשבון השירות Google Cloud .

gcloud projects get-iam-policy my-project

שגיאה בקישור תפקיד IAM לחשבון השירות Google Cloud

תיאור הבעיה

יכול להיות שתיתקלו בשגיאה כמו זו:

ERROR: (gcloud.projects.add-iam-policy-binding) PERMISSION_DENIED:
Service Management API has not been used in project [PROJECT_ID] before or it
is disabled. Enable it by visiting
https://console.developers.google.com/apis/api/servicemanagement.googleapis.com/overview?project=[PROJECT_ID]
then retry. If you enabled this API recently, wait a few minutes for the
action to propagate to our systems and retry.
סיבות אפשריות

יכול להיות שאין לכם הרשאות IAM להפעלת הפקודה gcloud projects add-iam-policy-binding.

רזולוציה

אתם צריכים את ההרשאה resourcemanager.projects.setIamPolicy. אם יש לכם את התפקידים Project IAM Admin, Owner או Editor, אתם אמורים להיות מסוגלים להריץ את הפקודה. אם מדיניות אבטחה פנימית אוסרת עליכם להריץ את הפקודה, פנו לאדמין שלכם.

שגיאה משעון מערכת לא מדויק

תיאור הבעיה

יכול להיות שתיתקלו בשגיאה כמו זו:

acceptCall: failed to parse token in req [rpc_id=1]: Token used before issued [rpc_id=1]
סיבות אפשריות

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

רזולוציה

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

לא ניתן לראות עומסי עבודה במסוף Google Cloud

תסמינים

ביומנים של Connect Agent, יכול להיות שתופיענה השגיאות הבאות:

"https://10.0.10.6:443/api/v1/nodes" YYYY-MM-DDTHH mm:ss.sssZ http.go:86: GET
"https://10.0.10.6:443/api/v1/pods" YYYY-MM-DDTHH mm:ss.sssZ http.go:139:
Response status: "403 Forbidden" YYYY-MM-DDTHH mm:ss.sssZ http.go:139:
Response status: "403 Forbidden"`
סיבות אפשריות

היומנים האלה מציינים ש- Google Cloud מנסה לגשת לאשכול באמצעות פרטי הכניסה שסיפקתם במהלך ההרשמה. שגיאות 403 מציינות שלפרטי הכניסה אין את ההרשאות שנדרשות כדי לגשת לאשכול.

רזולוציה

בודקים את האסימון ואת החשבון שהוא מקושר אליו, ומוודאים שיש לו את ההרשאות המתאימות באשכול.

המועד האחרון להקשר חלף

תיאור הבעיה

יכול להיות שתיתקלו בשגיאה כמו זו:

2019/03/06 21:08:43.306625 dialer.go:235: dialer: dial: connecting to gkeconnect.googleapis.com:443...
2019/03/06 21:09:13.306893 dialer.go:240: dialer: dial: unable to connect to gkeconnect.googleapis.com:443: context deadline exceeded
2019/03/06 21:09:13.306943 dialer.go:183: dialer: connection done: context deadline exceeded
סיבות אפשריות

השגיאה הזו מעידה על בעיה ברשת TCP ברמה נמוכה, שבה סוכן החיבור לא יכול לתקשר עם gkeconnect.googleapis.com.

רזולוציה

מוודאים שעומסי העבודה של ה-Pod באשכול הזה יכולים לפענח את gkeconnect.googleapis.com ושיש להם קישוריות יוצאת ליציאה 443.

החיבור לסוכן נכשל לסירוגין

תסמינים

ביומנים של Connect Agent, יכול להיות שתופיענה השגיאות הבאות:

2020/10/06 18:02:34.409749 dialer.go:277: dialer: dial: connection to gkeconnect.googleapis.com:443 failed after 8m0.790286282s: serve: receive request failed: rpc error: code = Unavailable desc = transport is closing
2020/10/06 18:02:34.416618 dialer.go:207: dialer: connection done: serve: receive request failed: rpc error: code = Unavailable desc = transport is closing
2020/10/06 18:02:34.416722 dialer.go:295: dialer: backoff: 978.11948ms
2020/10/06 18:02:34.410097 tunnel.go:651: sendResponse: EOF [rpc_id=52]
2020/10/06 18:02:34.420077 tunnel.go:651: sendResponse: EOF [rpc_id=52]
2020/10/06 18:02:34.420204 tunnel.go:670: sendHalfClose: EOF [rpc_id=52]
2020/10/06 18:02:34.401412 tunnel.go:670: sendHalfClose: EOF [rpc_id=53]
סיבות אפשריות

החיבור ל-Connect נסגר אם אין לסוכן Connect מספיק משאבים, למשל במופעי AWS EC2 קטנים כמו t3.medium.

רזולוציה

אם אתם משתמשים ב-AWS ובסוג המכונה T3, אתם צריכים להפעיל את האפשרות T3 unlimited או להשתמש בסוג מכונה עם יותר משאבים עבור מאגרי הצמתים.

ל-Fleet אין גישה לפרויקט

תסמינים

במהלך פעולות מסוימות ב-Fleet (בדרך כלל רישום של אשכול), יכול להיות שתופיע שגיאה דומה לזו:

ERROR: (gcloud.container.hub.memberships.register) failed to initialize Feature
"authorizer", the fleet service account (service-PROJECT_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com) may not have access to your project
סיבות אפשריות

יכול להיות שחשבון השירות שמוגדר כברירת מחדל ב-Fleet, ‏ gcp-sa-gkehub, יבוטל בטעות מהפרויקט. סוכן השירות של Fleet הוא תפקיד IAM שמעניק לחשבון השירות את ההרשאות לניהול משאבי האשכול. אם מסירים את הקישור הזה של התפקיד מחשבון השירות, חשבון השירות שמוגדר כברירת מחדל לא מקושר יותר לפרויקט, וזה יכול למנוע מכם לרשום אשכולות ולבצע פעולות אחרות באשכולות.

אפשר לבדוק אם חשבון השירות הוסר מהפרויקט באמצעות ה-CLI של gcloud או מסוף Google Cloud . אם הפקודה או לוח הבקרה לא מציגים את gcp-sa-gkehub בין חשבונות השירות שלכם, סימן שחשבון השירות לא מקושר.

gcloud

מריצים את הפקודה הבאה:

gcloud projects get-iam-policy PROJECT_NAME

כאשר PROJECT_NAME הוא שם הפרויקט שבו אתם מנסים לרשום את האשכול.

המסוף

נכנסים לדף IAM & admin במסוף Google Cloud .

רזולוציה

אם הסרתם את קישור התפקיד של סוכן השירות של Fleet, מריצים את הפקודות הבאות כדי לשחזר את קישור התפקיד:

PROJECT_NUMBER=$(gcloud projects describe PROJECT_NAME --format "value(projectNumber)")
gcloud projects add-iam-policy-binding PROJECT_NAME \
  --member "serviceAccount:service-${PROJECT_NUMBER}@gcp-sa-gkehub.iam.gserviceaccount.com" \
  --role roles/gkehub.serviceAgent

כדי לוודא שהוקצה קישור תפקידים:

gcloud projects get-iam-policy PROJECT_NAME

אם שם חשבון השירות מופיע לצד התפקיד gkehub.serviceAgent, סימן שהתפקיד הוקצה. לדוגמה:

- members:
  - serviceAccount:service-1234567890@gcp-sa-gkehub.iam.gserviceaccount.com
  role: roles/gkehub.serviceAgent

שגיאה ברישום אשכול GKE מפרויקט שונה מ-Fleet

תסמינים

כשרושמים אשכול GKE מפרויקט ששונה מפרויקט ה-Fleet, יכול להיות שתופיע שגיאה דומה לזו שמוצגת ב-CLI של gcloud:

...
message: 'DeployPatch failed'>
detail: 'DeployPatch failed'
...

אפשר לאמת את זה ביומן על ידי החלת המסננים הבאים:

resource.type="gke_cluster"
resource.labels.cluster_name="my-cluster"
protoPayload.methodName="google.container.v1beta1.ClusterManager.UpdateCluster"
protoPayload.status.code="13"
protoPayload.status.message="Internal error."
severity=ERROR

סיבות אפשריות

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

רזולוציה

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

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

תסמינים

במהלך רוטציית פרטי הכניסה של האשכול(https://cloud.google.com/kubernetes-engine/docs/how-to/credential-rotation), יכול להיות שתיתקלו בשגיאות אם תרשמו או תבטלו את הרישום של אשכול GKE, או אם תעדכנו את החברות באשכול GKE רשום.

ERROR: (gcloud.container.hub.memberships.unregister) "code": 13,
"message": "an internal error has occurred"
סיבות אפשריות

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

רזולוציה

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

שגיאה בהשבתת Fleet API

תסמינים

כשמנסים להשבית את Fleet API ‏ (gkehub.googleapis.com), יכול להיות שתופיע שגיאה דומה לזו:

Not ready to deactivate the service on this project; ensure there are no more resources managed by this service.
סיבות אפשריות

עדיין יש אשכולות שרשומים ב-Google Cloud (חברות) או שתכונות ברמת הצי מופעלות בפרויקט הזה. כדי להשבית את ה-API, צריך לבטל את הרישום של כל המינויים או התכונות או להשבית אותם.

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

  • כדי לראות את כל התכונות הפעילות ברמת הצי לפרויקט:

‫gcloud ו-cURL

$ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://gkehub.googleapis.com/v1alpha/projects/PROJECT_NAME/locations/global/features

כאשר PROJECT_NAME הוא שם הפרויקט שבו מנסים להשבית את Fleet API.

המסוף

אם הפעלתם את GKE בפרויקט, אפשר לעבור אל הדף Feature Manager במסוף Google Cloud . תכונות שמופיעות עם הכיתוב מופעל הן תכונות פעילות ברמת הצי.

רזולוציה

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

אחרי שמבצעים את הפעולה הזו, משביתים את כל התכונות ברמת הצי. בשלב הזה, אפשר לעשות את זה רק באמצעות Fleet API בארכיטקטורת REST.

  1. השבתה של תכונות ברמת הצי שהפעלתם בפרויקט

    $ gcloud alpha container hub FEATURE_COMMAND disable
    
  2. השבתה של הרשאת גישה לתכונות ומדידה, שמופעלות כברירת מחדל.

    $ curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -X "DELETE" \
        https://gkehub.googleapis.com/v1alpha/projects/PROJECT_NAME/locations/global/features/FEATURE
    

    כאשר FEATURE הוא שם התכונה שרוצים להשבית (למשל authorizer או metering).

הרשאות חסרות באשכול כשרושמים אשכול

תיאור הבעיה:

כשמנסים לרשום אשכול באמצעות חשבון משתמש או Google Cloud חשבון שירות, יכול להיות שתופיע שגיאה דומה לזו:

ERROR: (gcloud.container.hub.memberships.register) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/my-project/zones/zone-a/clusters/my-cluster"
סיבה אפשרית:

לחשבון שמנסה לרשום את האשכול אין את תפקיד בקרת הגישה מבוססת-התפקידים (RBAC) הנדרש באשכול.cluster-admin

פתרון:

מקצים לחשבון את תפקיד ה-RBAC‏ cluster-admin לפני שמבצעים רישום של האשכול.

שגיאה Failed to check if the user is a cluster-admin: Unable to connect to the server במהלך רישום אשכול

תיאור הבעיה:

כשמנסים לרשום אשכול, יכול להיות שתוצג שגיאה דומה לזו:

ERROR: (gcloud.container.hub.memberships.register) Failed to check if the user is a cluster-admin: Unable to connect to the server: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

או

ERROR: (gcloud.container.hub.memberships.register) Failed to check if the user is a cluster-admin: Unable to connect to the server: dial tcp MASTER_ENDPOINT_IP:443: i/o timeout
סיבה אפשרית:

המחשב שבו מריצים את פקודת הרישום gcloud לא יכול להתחבר לנקודת הקצה החיצונית של האשכול. זה קורה בדרך כלל אם יש לכם אשכול פרטי עם גישה חיצונית או כתובת IP חיצונית מושבתת, אבל כתובת ה-IP החיצונית של המכונה שלכם לא נמצאת ברשימת ההיתרים. הערה: אחרי gcloud 407.0.0, אין דרישה כזו לרישום של אשכול GKE.

פתרון:

מוודאים שלמכונה שבה רוצים להריץ את פקודת הרישום gcloud יש גישה לשרת ה-API של האשכול. אם לא מופעלת גישה חיצונית באשכול, צריך לפתוח פנייה ל Google Cloud תמיכה.

שגיאה: אי אפשר למחוק מינוי שמנוהל על ידי Google

אחרי שרושמים את האשכול ב-Fleet, הוא הופך לחבר ב-Fleet עם שם ייחודי של חברות ב-Fleet. אם תנסו למחוק את המינוי הזה באמצעות הפקודה gcloud container hub memberships delete MEMBERSHIP_NAME, יכול להיות שתופיע השגיאה הבאה:

ERROR: (gcloud.container.hub.memberships.delete) FAILED_PRECONDITION: membership "projects/PROJECT_ID/locations/us-centrall/memberships/MEMBERSHIP_NAME" is a managed resource of your cluster. Deleting a google-managed membership directly is not allowed. Please offboard your fleet membership via cluster API: failed precondition

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

קבלת עזרה נוספת

כדי לפתוח כרטיס תמיכה ל-GKE: Google Cloud

  1. שליחת בקשה לתמיכה של Google Cloud Google.
  2. פועלים לפי ההוראות במאמר איסוף יומני Connect Agent כדי לשמור את יומני Connect.
  3. אם אתם פותרים בעיות באשכול מקומי באמצעות קבוצות Google או תמיכה של צד שלישי, אתם צריכים לפעול לפי ההוראות שבמאמר איסוף יומנים של שירות הזהויות של GKE כדי לשמור את היומנים של שירות הזהויות של GKE. במקרה הצורך, חשוב לבצע סניטציה של יומני ה-Pod בקובץ השמור.
  4. מצרפים את היומנים הרלוונטיים לכרטיס התמיכה.