ניהול משאבים ופעילות בענן פרטי

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

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

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שבהם רוצים לנהל את הענן הפרטי.

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

דרישות ל-gcloud ול-API

כדי להשתמש בכלי gcloud של שורת הפקודה או ב-API לניהול המשאבים של VMware Engine, מומלץ להגדיר את הכלים כמו שמתואר בהמשך.

gcloud

  1. מגדירים את מזהה פרויקט ברירת המחדל:

    gcloud config set project PROJECT_ID
    
  2. הגדרת אזור ואזור זמן כברירת מחדל:

    gcloud config set compute/region REGION
    
    gcloud config set compute/zone ZONE
    

מידע נוסף על הכלי gcloud vmware זמין במאמרי העזרה של Cloud SDK.

API

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

  1. התחברות אל Google Cloud:

    gcloud auth login
    
  2. כדי ליצור אסימון גישה ולייצא אותו ל-TOKEN:

    export TOKEN=`gcloud auth print-access-token`
    
  3. מוודאים שהאסימון מוגדר בצורה תקינה:

    echo $TOKEN
    

עכשיו אפשר להשתמש בטוקן ההרשאה בבקשות ל-API. לדוגמה:

curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

בדוגמאות הקוד של Python במסמך הזה נעשה שימוש בספריית VMware Engine כדי לתקשר עם ה-API. כדי להשתמש בגישה הזו, צריך להתקין את הספרייה ולהגדיר את Application Default Credentials.

  1. מורידים ומתקינים את ספריית Python:

    pip install google-cloud-vmwareengine
    
  2. מגדירים את פרטי ADC על ידי הרצת הפקודות האלה במעטפת:

    gcloud auth application-default login
    

    לחלופין, אפשר להשתמש בקובץ מפתח של חשבון שירות:

    export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

מידע נוסף על הספרייה זמין בדף העזר או בדוגמאות קוד ב-GitHub.

אימות פריסת כתובות ה-IP

עננים פרטיים שנוצרו אחרי נובמבר 2022 פועלים בהתאם לפריסת כתובות ה-IP (תוכנית IP) בגרסה 2.0 של הקצאות תת-רשתות. כמעט כל העננים הפרטיים שנוצרו לפני נובמבר 2022 פועלים לפי הקצאות של רשתות משנה בגרסה 1.0 של תוכנית כתובות ה-IP.

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

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שבהם רוצים לנהל את הענן הפרטי.

  3. בוחרים את השם של הענן הפרטי שרוצים לבדוק. בשדה IP Plan version (גרסת תוכנית כתובות ה-IP) מוצג מספר הגרסה.

הצגת הסיכום של הענן הפרטי

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

בדף הסיכום של הענן הפרטי אפשר לבצע את הפעולות הבאות:

הוספת צמתים לענן הפרטי

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

במסגרת ההגדרה החדשה של האשכול, Google מגדירה את תשתית VMware. ההגדרות כוללות הגדרות אחסון לקבוצות דיסקים של vSAN, זמינות גבוהה של VMware ו-Distributed Resource Scheduler (DRS).

המסוף

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

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את הענן הפרטי.

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

  4. בדף הסיכום של העננים הפרטיים, לוחצים על הכרטיסייה Clusters (אשכולות).

  5. לוחצים על השם של האשכול הקיים כדי לפתוח את דף הפרטים של האשכול.

  6. לוחצים על Edit.

  7. בוחרים את מספר הצמתים החדש שרוצים להוסיף לצמתי HCI, או בוחרים את סוג צומת האחסון ואת מספר הצמתים החדש שרוצים להוסיף לצמתי Storage Only, ואז לוחצים על שמירה.

gcloud

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

  1. מזינים את הפקודה gcloud vmware private-clouds clusters list כדי להציג את רשימת האשכולות:

    gcloud vmware private-clouds clusters list \
    --private-cloud=PRIVATE_CLOUD_ID \
    --location=ZONE

מחליפים את מה שכתוב בשדות הבאים:

  • PRIVATE_CLOUD_ID: השם של הענן הפרטי
  • ZONE: האזור של הענן הפרטי
  1. מריצים את הפקודה gcloud vmware private-clouds clusters update כדי לעדכן את האשכול:

    gcloud vmware private-clouds clusters update CLUSTER_ID \
    --location=ZONE \
    --private-cloud=PRIVATE_CLOUD_ID \
    --update-nodes-config=type=NODE_TYPE,count=NODE_COUNT

    מחליפים את מה שכתוב בשדות הבאים:

    • CLUSTER_ID: מזהה האשכול שרוצים לעדכן בענן הפרטי הזה.
    • ZONE: האזור של הענן הפרטי.
    • PRIVATE_CLOUD_ID: מזהה הענן הפרטי של הבקשה הזו.
    • NODE_TYPE: סוג הצומת. מידע נוסף זמין במאמר סוגי צמתים.
    • NODE_COUNT: המספר הכולל החדש של הצמתים באשכול.

API

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

  1. כדי להציג את האשכולות, שולחים בקשת GET:

    curl -L -X GET -H "Authorization: Bearer TOKEN" "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters"
    

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט של הבקשה הזו
  • ZONE: האזור של הענן הפרטי
  • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי של הבקשה
  1. מעדכנים את האשכולות באמצעות בקשת PATCH. לדוגמה, הפקודה הבאה מעדכנת את האשכול לסוג הצומת standard-72.

    curl -L -X PATCH -H "Authorization: Bearer TOKEN" \
    -H "Content-Type: application/json" \
    "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID?updateMask=node_type_configs.*.node_count" \
    -d '{
    "nodeTypeConfigs": {
      "standard-72" : {
        "nodeCount": NODE_COUNT
      }
    }
    }'

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: מזהה הפרויקט של הבקשה הזו
    • ZONE: האזור של הענן הפרטי
    • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי
    • CLUSTER_ID: מזהה האשכול שרוצים לעדכן בענן הפרטי
    • NODE_COUNT: מספר הצמתים שרוצים להוסיף

Python

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

  1. מציגים את האשכולות.
from typing import Iterable

from google.cloud import vmwareengine_v1


def list_clusters(
    project_id: str, zone: str, private_cloud_name: str
) -> Iterable[vmwareengine_v1.Cluster]:
    """
    Retrieves a list of clusters in private cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located.
        private_cloud_name: name of the cloud of which you want to list cluster.

    Returns:
        An iterable collection of Cluster objects.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    return client.list_clusters(
        parent=f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
    )

  1. מעדכנים את האשכולות. השיטה הבאה מאפשרת לשנות את מספר הצמתים standard-72 באשכול.
from google.api_core import operation
from google.cloud import vmwareengine_v1


def update_cluster_node_count(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int,
) -> operation.Operation:
    """
    Modify the number of nodes in a cluster in a private cloud.

    Modifying a cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: zone in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the cluster.
        cluster_name: name of the cluster.
        node_count: desired number of nodes in the cluster.

    Returns:
        An Operation object related to cluster modification operation.
    """
    if node_count < 3:
        raise RuntimeError("Cluster needs to have at least 3 nodes")
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UpdateClusterRequest()
    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
        f"/clusters/{cluster_name}"
    )
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count
    request.update_mask = "nodeTypeConfigs.*.nodeCount"
    return client.update_cluster(request)

הוספת אשכול חדש לענן פרטי

כדי להוסיף אשכול חדש לענן פרטי קיים:

המסוף

כדי להוסיף אשכול חדש באמצעות מסוף Google Cloud , פועלים לפי השלבים הבאים:

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את הענן הפרטי.

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

  4. בדף הסיכום של העננים הפרטיים, לוחצים על הכרטיסייה Clusters (אשכולות).

  5. לוחצים על הוספת אשכול. לאחר מכן, צריך לספק את הפרטים הבאים:

    1. מזינים שם לאשכול.
    2. בוחרים את סוג הצומת של האשכול החדש.
    3. בוחרים את מספר הצמתים. כל אשכול חדש חייב לכלול לפחות שלושה צמתים.
  6. לוחצים על יצירה.

gcloud

מריצים את הפקודה gcloud vmware private-clouds clusters create כדי להוסיף את האשכול החדש ולתת לו שם: לדוגמה:

gcloud vmware private-clouds clusters create CLUSTER_ID \
   --location=ZONE \
   --private-cloud=PRIVATE_CLOUD_ID \
   --node-type-config=type=NODE_TYPE,count=NODE_COUNT

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_ID: מזהה האשכול של האשכול שמוסיפים לענן הפרטי.
  • ZONE: האזור של הענן הפרטי.
  • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי.
  • NODE_TYPE: סוג הצומת. מידע נוסף זמין במאמר סוגי צמתים.
  • NODE_COUNT: מספר הצמתים שרוצים להוסיף.

API

מוסיפים את האשכול החדש ונותנים לו שם באמצעות POST בקשה. לדוגמה:

curl -L -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters?clusterId=CLUSTER_ID" \
-d '{
  "nodeTypeConfigs": {
    "standard-72": {
      "nodeCount": NODE_COUNT
      }
  }
}'

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_ID: מזהה האשכול של האשכול שמוסיפים לענן הפרטי
  • ZONE: האזור של הענן הפרטי
  • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי של הענן הפרטי
  • NODE_COUNT: מספר הצמתים שרוצים להוסיף

Python

מוסיפים את האשכול החדש ונותנים לו שם.

from google.api_core import operation
from google.cloud import vmwareengine_v1


def create_cluster(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int = 4,
) -> operation.Operation:
    """
    Create a new cluster in a private cloud.

    Creation of a new cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: region in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the new cluster.
        cluster_name: name of the new cluster.
        node_count: number of nodes in the new cluster. (Must be >= 3)

    Returns:
        An Operation object related to started cluster creation operation.

    Raises:
        ValueError in case an incorrect number of nodes is provided.
    """
    if node_count < 3:
        raise ValueError("Cluster needs to have at least 3 nodes")

    request = vmwareengine_v1.CreateClusterRequest()
    request.parent = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
    )

    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = cluster_name

    # Currently standard-72 is the only supported node type.
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count

    client = vmwareengine_v1.VmwareEngineClient()
    return client.create_cluster(request)

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

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

המסוף

כדי להוסיף אשכול חדש באמצעות מסוף Google Cloud , פועלים לפי השלבים הבאים:

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את הענן הפרטי.

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

  4. בדף הסיכום של העננים הפרטיים, לוחצים על הכרטיסייה Clusters (אשכולות).

  5. לוחצים על הוספת אשכול. לאחר מכן, צריך לספק את הפרטים הבאים:

    1. מזינים שם לאשכול.
    2. בוחרים את מספר הצמתים. כל אשכול חדש חייב לכלול לפחות שלושה צמתים.
    3. בוחרים את סוג הצומת של האשכול.
  6. מסמנים את התיבה התאמה אישית של ליבות כדי לצמצם את מספר הליבות שזמינות לכל צומת באשכול הניהול. פרטים נוספים מופיעים במאמר בנושא מספר ליבות בהתאמה אישית.

  7. לוחצים על יצירה.

gcloud

מריצים את הפקודה gcloud vmware private-clouds clusters create כדי להוסיף את האשכול החדש ולציין את הגדרת מספר הליבות: בדוגמה הבאה נוצר אשכול חדש עם סוג הצומת standard-72.

gcloud vmware private-clouds clusters create CLUSTER_ID \
  --location=ZONE \
  --private-cloud=PRIVATE_CLOUD_ID \
  --node-type-config=type=standard-72,count=NODE_COUNT,custom-core-count=CORE_COUNT

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_ID: מזהה האשכול של האשכול שמוסיפים לענן הפרטי
  • ZONE: האזור של הענן הפרטי
  • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי
  • NODE_COUNT: מספר הצמתים שרוצים להוסיף
  • CORES_COUNT: מספר ליבות בהתאמה אישית שרוצים להוסיף

API

מוסיפים את האשכול החדש ומציינים את ההגדרה של מספר ליבות המעבד על ידי שליחת בקשת POST. בדוגמה הבאה נוצר אשכול חדש מסוג הצומת standard-72.

curl -L -X POST -H "Authorization: Bearer TOKEN" -H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters?clusterId=CLUSTER_ID" \
-d '{
      "nodeTypeConfigs": {
      "standard-72": {
        "nodeCount": NODE_COUNT,
        "customCoreCount": CORE_COUNT
        }
    }
}'

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט של הענן הפרטי
  • CLUSTER_ID: מזהה האשכול של האשכול שמוסיפים לענן הפרטי
  • ZONE: האזור של הענן הפרטי
  • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי
  • NODE_COUNT: מספר הצמתים שרוצים להוסיף
  • CORES_COUNT: מספר ליבות בהתאמה אישית שרוצים להוסיף

Python

מוסיפים את האשכול החדש ומציינים את הגדרת מספר הליבות. לדוגמה, הפקודה הבאה יוצרת אשכול חדש מסוג צומת standard-72 עם מספר צמתים ומספר ליבות שניתנים להגדרה.

from google.api_core import operation
from google.cloud import vmwareengine_v1


def create_custom_cluster(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int = 4,
    core_count: int = 28,
) -> operation.Operation:
    """
    Create a new cluster with custom number of cores in its nodes
    in a private cloud.

    Creation of a new cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: region in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the new cluster.
        cluster_name: name of the new cluster.
        node_count: number of nodes in the new cluster.
        core_count: number of CPU cores in the new cluster nodes.

    Returns:
        An Operation object related to started cluster creation operation.

    Raises:
        ValueError in case an incorrect number of nodes is provided.
    """
    if node_count < 3:
        raise ValueError("Cluster needs to have at least 3 nodes")

    request = vmwareengine_v1.CreateClusterRequest()
    request.parent = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
    )

    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = cluster_name

    # Currently standard-72 is the only supported node type.
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count
    request.cluster.node_type_configs["standard-72"].custom_core_count = core_count

    client = vmwareengine_v1.VmwareEngineClient()
    return client.create_cluster(request)

העברת מכונות וירטואליות לניהול VMware לאשכול אחר

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

המסוף

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

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את הענן הפרטי.

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

  4. בדף הסיכום של העננים הפרטיים, לוחצים על הכרטיסייה Clusters (אשכולות).

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

  6. בתיבת הדו-שיח לאישור, מקלידים את שם האשכול ולוחצים על אישור.

הגבלות

כשמעבירים מכונות וירטואליות לניהול, חלות ההגבלות הבאות:

  • יעד ההעברה צריך להיות אשכול של עומס עבודה במצב ACTIVE, ואשכול הניהול של המקור צריך להיות גם הוא במצב ACTIVE.
  • אי אפשר להעביר מכונות וירטואליות לניהול מאשכול שמשתמש בצמתים מסוג ve2 (כמו ve2-standard-128) לאשכול שמשתמש בצמתים מסוג ve1-standard-72.

התאמה של הגדרות Terraform אחרי ההעברה

‫Terraform לא תומך בהעברה של מכונות וירטואליות לניהול. צריך לבצע את ההעברה מחוץ לפס ואז לבצע התאמה ידנית בין ההגדרות והמצב של Terraform:

  1. מעבירים את מכונות הניהול באמצעות מסוף Google Cloud , ה-CLI של gcloud או VMware Engine API.
  2. מבצעים התאמה ידנית בין קובצי התצורה והמצב של Terraform לבין מצב התשתית החדש.

שלבי ההתאמה

כדי לעדכן את סביבת Terraform בצורה בטוחה אחרי השלמת הפעולה MigrateManagementVms, מבצעים את השלבים הבאים:

  1. הגנה על האשכול:

    כדי למנוע מ-Terraform למחוק את האשכול שהפך לאשכול הניהול החדש, מוסיפים בלוק lifecycle להגדרת המשאב google_vmwareengine_cluster בקובץ ההגדרות של Terraform:

    resource "google_vmwareengine_cluster" "your_data_cluster_name" {
      # ... other configuration ...
      lifecycle {
        prevent_destroy = true
      }
    }
    

    צריך להסיר את הבלוק הזה אחרי שמסיימים את ההתאמה.

  2. עדכון קובצי התצורה של Terraform:

    משנים את קובצי התצורה של Terraform כך שישקפו את החלפת התפקידים באשכול:

    • משאב בענן פרטי: במשאב google_vmwareengine_private_cloud, מעדכנים את הבלוק management_cluster כך שהמאפיין management_cluster ישקף את הערכים של אשכול הניהול החדש (שהיה בעבר אשכול עומסי עבודה).
    • מקור נתונים של אשכול נתונים: מעדכנים את בלוק המקור google_vmwareengine_cluster עם פרטים של אשכול הנתונים החדש (שנקרא בעבר אשכול הניהול).
  3. מקשרים את משאב אשכול הנתונים לאשכול הנתונים החדש:

    • הסרת אשכול הנתונים הישן מהמצב: כדי למנוע מ-Terraform למחוק את אשכול הניהול החדש שקודם, צריך להסיר אותו ממעקב המצב:

      terraform state rm google_vmwareengine_cluster.DATA_CLUSTER_RESOURCE_NAME
      
    • ייבוא אשכול הנתונים החדש: ממפים את אשכול הנתונים החדש למדינה:

      terraform import google_vmwareengine_cluster.DATA_CLUSTER_RESOURCE_NAME projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID
      

      מחליפים את מה שכתוב בשדות הבאים:

      • DATA_CLUSTER_RESOURCE_NAME: שם המשאב של אשכול הנתונים בקובצי ההגדרות.
      • PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
      • LOCATION: המיקום של הענן הפרטי.
      • PRIVATE_CLOUD_ID: מזהה הענן הפרטי.
      • CLUSTER_ID: המזהה של האשכול שמייבאים (אשכול הניהול הקודם).
  4. אימות: מריצים את הפקודה terraform plan כדי לוודא ש-Terraform רואה את התשתית כמתאימה באופן מלא עם 0 תוספות, 0 שינויים ו-0 מחיקות.

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

כשמסירים צמתים מענן פרטי, מסירים צמתים מהאשכול הקיים.

הגבלות

התהליך של הסרת צמתים מהענן הפרטי כפוף למגבלות הבאות:

  • ב-vSphere cluster צריכים להיות לפחות שלושה צמתים. אי אפשר להסיר צמתים מאשכול vSphere עם שלושה צמתים.
  • בין אם אתם משתמשים במסוף Google Cloud , ב-CLI של gcloud או ב-VMware Engine API, אתם יכולים להסיר רק צומת אחד בכל פעם באמצעות כל בקשה להסרת צומת.
  • הנפח הכולל של האחסון לא יכול לחרוג מהקיבולת הכוללת אחרי הסרת צמתים מאשכול.
  • אי אפשר למחוק את האשכול הראשוני של הענן הפרטי.
  • אם כללי vSphere DRS (זיקה ודחייה) חלים על כל הצמתים באשכול, אי אפשר להסיר צמתים מהאשכול. אפשר למחוק את הכללים ולנסות שוב להסיר את הצומת.

המסוף

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

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project (בחירת פרויקט) ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את הענן הפרטי.

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

  4. לוחצים על הכרטיסייה Clusters (אשכולות) ובוחרים את האשכול שרוצים להקטין.

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

  6. לוחצים על Save.

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

gcloud

כדי להסיר צומת מענן פרטי באמצעות Google Cloud CLI, משתמשים בפקודה gcloud vmware private-clouds clusters update:

gcloud vmware private-clouds clusters update CLUSTER_ID \
  --location=ZONE \
  --private-cloud=PRIVATE_CLOUD_ID \
  --update-nodes-config=type=NODE_TYPE,count=NODE_COUNT

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_ID: מזהה האשכול של האשכול שרוצים לעדכן בענן הפרטי הזה.
  • ZONE: האזור של הענן הפרטי.
  • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי.
  • NODE_TYPE: סוג הצומת. מידע נוסף זמין במאמר סוגי צמתים.
  • NODE_COUNT: מספר הצמתים החדש. הערך החדש צריך להיות קטן ב-1 מהערך הנוכחי.

API

כדי להסיר צומת מענן פרטי באמצעות VMware Engine API, שולחים בקשת PATCH:

curl -L -X PATCH -H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID?update_mask=node_type_configs.*.node_count" \
-d '{
  "nodeTypeConfigs": {
    "standard-72" : {
      "nodeCount": NODE_COUNT
    }
  }
}'

מחליפים את מה שכתוב בשדות הבאים:

  • CLUSTER_ID: מזהה האשכול של האשכול שרוצים לעדכן בענן הפרטי הזה
  • ZONE: האזור של הענן הפרטי
  • PRIVATE_CLOUD_ID: המזהה של הענן הפרטי
  • NODE_COUNT: מספר הצמתים החדש. הערך החדש צריך להיות קטן ב-1 מהערך הנוכחי

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1


def update_cluster_node_count(
    project_id: str,
    zone: str,
    private_cloud_name: str,
    cluster_name: str,
    node_count: int,
) -> operation.Operation:
    """
    Modify the number of nodes in a cluster in a private cloud.

    Modifying a cluster is a long-running operation and it may take over an hour.

    Args:
        project_id: name of the project you want to use.
        zone: zone in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the cluster.
        cluster_name: name of the cluster.
        node_count: desired number of nodes in the cluster.

    Returns:
        An Operation object related to cluster modification operation.
    """
    if node_count < 3:
        raise RuntimeError("Cluster needs to have at least 3 nodes")
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UpdateClusterRequest()
    request.cluster = vmwareengine_v1.Cluster()
    request.cluster.name = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
        f"/clusters/{cluster_name}"
    )
    request.cluster.node_type_configs = {
        "standard-72": vmwareengine_v1.NodeTypeConfig()
    }
    request.cluster.node_type_configs["standard-72"].node_count = node_count
    request.update_mask = "nodeTypeConfigs.*.nodeCount"
    return client.update_cluster(request)

מחיקת אשכול באמצעות PAM

כדי למנוע מחיקה מקרית או זדונית של משאבים קריטיים, VMware Engine דורש הענקת הרשאת Privileged Access Manager כדי למחוק אשכול. מחיקת אשכול היא תהליך רב-שלבי שדורש מבקש ומאשר נפרדים.

איך מוחקים אשכול באמצעות PAM

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

ההרשאה צריכה להעניק תפקיד שכולל הרשאות למחיקת אשכול Google Cloud VMware Engine, כמו vmwareengine.clusters.delete. לדוגמה, התפקיד roles/vmwareengine.vmwareenginePrivilegedUser כולל את ההרשאה הזו.

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

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

המסוף

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. לוחצים על Select a project ואז בוחרים את הארגון, התיקייה או הפרויקט שמכילים את הענן הפרטי.

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

  4. לוחצים על הכרטיסייה Clusters (אשכולות) ובוחרים את האשכול שרוצים למחוק.

  5. לוחצים על Delete. אם אין לכם הרשאות פעילות למחיקה, האפשרות מחיקה לא תהיה זמינה. אם מעבירים את העכבר מעל לחצן המחיקה, מופיעה האפשרות תיקון הגישה, שתנחה אתכם בבקשת גישה באמצעות Privileged Access Manager.

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

gcloud

כדי למחוק אשכול שלם באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud vmware private-clouds clusters delete:

gcloud vmware private-clouds clusters delete CLUSTER_ID \
   --location=ZONE \
   --private-cloud=PRIVATE_CLOUD_ID

מחליפים את מה שכתוב בשדות הבאים:

  • <var>CLUSTER_ID</var>: מזהה האשכול של האשכול שרוצים לעדכן בענן הפרטי הזה
  • <var>ZONE</var>: האזור של הענן הפרטי
  • <var>PRIVATE_CLOUD_ID</var>: המזהה של הענן הפרטי

API

כדי למחוק אשכול שלם באמצעות VMware Engine API, שולחים בקשת DELETE:

curl -L -X DELETE -H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
"https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID"

מחליפים את מה שכתוב בשדות הבאים:

  • <var>PROJECT_ID</var>: מזהה הפרויקט של הענן הפרטי
  • <var>ZONE</var>: האזור של הענן הפרטי
  • <var>PRIVATE_CLOUD_ID</var>: המזהה של הענן הפרטי
  • <var>CLUSTER_ID</var>: מזהה האשכול של האשכול שרוצים לעדכן בענן הפרטי הזה

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1


def delete_cluster(
    project_id: str, zone: str, private_cloud_name: str, cluster_name: str
) -> operation.Operation:
    """
    Delete a cluster from private cloud.

    Deleting a cluster is a long-running operation and it may take over an hour..

    Args:
        project_id: name of the project you want to use.
        zone: region in which your private cloud is located.
        private_cloud_name: name of the private cloud hosting the new cluster.
        cluster_name: name of the new cluster.

    Returns:
        An Operation object related to started cluster deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.DeleteClusterRequest()
    request.name = (
        f"projects/{project_id}/locations/{zone}/privateClouds/{private_cloud_name}"
        f"/clusters/{cluster_name}"
    )
    return client.delete_cluster(request)

הצגת רשימה של צמתים

כדי להציג רשימה של הצמתים באשכול של ענן פרטי מסוים ולקבל מידע על כמה צמתים או על צומת ספציפי באמצעות Google Cloud המסוף, Google Cloud CLI או VMware Engine API, מבצעים את הפעולות הבאות.

המסוף

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

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. בדף הסיכום של העננים הפרטיים, לוחצים על שם הענן הפרטי.

  3. לוחצים על הכרטיסייה Clusters (אשכולות).

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

gcloud

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

  1. כדי להציג רשימה של כל הצמתים שמקושרים ל-PRIVATE_CLOUD_ID מסוים בענן פרטי, מריצים את הפקודה gcloud vmware private-clouds clusters node list:

    gcloud vmware private-clouds clusters node list \
     --project=PROJECT_ID\
     --location=ZONE \
     --private-cloud=PRIVATE_CLOUD_ID \
     --cluster=CLUSTER_ID

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: שם הפרויקט של הבקשה הזו.
    • ZONE: האזור שבו נמצאת הרשת.
    • PRIVATE_CLOUD_ID: מזהה הרשת של הבקשה הזו.
    • CLUSTER_ID: מזהה האשכול של הבקשה הזו.

API

כדי להציג את רשימת הצמתים של ענן פרטי אחד או יותר באמצעות VMware Engine API, מבצעים את הפעולות הבאות:

  1. כדי לראות רשימה של כל הצמתים שמקושרים ל-PRIVATE_CLOUD_ID מסוים בענן פרטי, שולחים בקשת GET:

    GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID/nodes"

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: שם הפרויקט של הבקשה הזו.
    • ZONE: האזור שבו נמצאת הרשת.
    • PRIVATE_CLOUD_ID: מזהה הרשת של הבקשה הזו.
    • CLUSTER_ID: מזהה האשכול של הבקשה הזו.

תיאור צמתים

כדי לקבל תיאור של צומת או צמתים באמצעות Google Cloud המסוף, Google Cloud CLI או VMware Engine API, מבצעים את הפעולות הבאות:

המסוף

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

  1. נכנסים לדף Private clouds במסוף Google Cloud .

    כניסה ל-Private clouds

  2. בדף הסיכום של העננים הפרטיים, לוחצים על שם הענן הפרטי.

  3. לוחצים על הכרטיסייה Clusters (אשכולות).

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

gcloud

אם רוצים לקבל את התיאור של צומת או צמתים באמצעות Google Cloud CLI.

  1. אופציונלי: כדי למצוא את שם הצומת, מריצים את הפקודה gcloud vmware private-clouds clusters node list:

    gcloud vmware private-clouds clusters node list \
     --project=PROJECT_ID\
     --location=ZONE \
     --private-cloud=PRIVATE_CLOUD_ID \
     --cluster=CLUSTER_ID

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: שם הפרויקט של הבקשה הזו.
    • ZONE: האזור שבו נמצאת הרשת.
    • PRIVATE_CLOUD_ID: מזהה הרשת של הבקשה הזו.
    • CLUSTER_ID: מזהה האשכול של הבקשה הזו.
  2. כדי לקבל את התיאור של צומת ספציפי, מריצים את הפקודה gcloud vmware private-clouds clusters nodes describe:

    gcloud vmware private-clouds clusters nodes describe NODE_NAME \
     --project=PROJECT_ID\
     --location=ZONE \
     --private-cloud=PRIVATE_CLOUD_ID \
     --cluster=CLUSTER_ID

    מחליפים את מה שכתוב בשדות הבאים:

    • NODE_NAME: שם הצומת שהוחזר מהפקודה הקודמת. לדוגמה, esxi-1435-f4d250.
    • PROJECT_ID: שם הפרויקט של הבקשה הזו.
    • ZONE: האזור שבו נמצאת הרשת.
    • PRIVATE_CLOUD_ID: מזהה הרשת של הבקשה הזו.
    • CLUSTER_ID: מזהה האשכול של הבקשה הזו.

API

אם רוצים לקבל את התיאור של צומת או צמתים באמצעות VMware Engine API.

  1. אופציונלי: כדי למצוא את שם הצומת, שולחים בקשת GET:

    GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID/nodes"
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: שם הפרויקט של הבקשה הזו.
    • ZONE: האזור שבו נמצאת הרשת.
    • PRIVATE_CLOUD_ID: מזהה הרשת של הבקשה הזו.
    • CLUSTER_ID: מזהה האשכול של הבקשה הזו.
  2. כדי לקבל את התיאור של צומת ספציפי, שולחים בקשת GET:

    GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID/nodes/NODE_NAME"

    מחליפים את מה שכתוב בשדות הבאים:

    • NODE_NAME: שם הצומת שהוחזר מהפקודה הקודמת. לדוגמה, esxi-1435-f4d250.
    • PROJECT_ID: שם הפרויקט של הבקשה הזו.
    • ZONE: האזור שבו נמצאת הרשת.
    • PRIVATE_CLOUD_ID: מזהה הרשת של הבקשה הזו.
    • CLUSTER_ID: מזהה האשכול של הבקשה הזו.

הצגת תת-רשתות

כדי לראות את רשימת רשתות המשנה לניהול שהוגדרו לענן הפרטי, לוחצים על הכרטיסייה Subnets. הרשימה כוללת את רשתות המשנה של HCX שנוצרו כשנוצר הענן הפרטי.

צפייה בפרטי הפעילות

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

הצגת רשת הניהול של vSphere

כדי לראות את רשימת משאבי הניהול של VMware והמכונות הווירטואליות שהוגדרו בענן הפרטי, בוחרים בכרטיסייה vSphere Management Network. המידע כולל את גרסת התוכנה, שם הדומיין שמוגדר במלואו (FQDN) וכתובת ה-IP של המשאבים.