יצירה מחדש ועדכון של אשכול וירטואלי ב-Google Kubernetes Engine

אתם יכולים להעתיק את ההגדרה של אשכול וירטואלי קיים של Managed Service for Apache Spark on GKE, לעדכן את ההגדרה המועתקת ואז ליצור אשכול חדש של Managed Service for Apache Spark on GKE באמצעות ההגדרה המעודכנת.

יצירה מחדש ועדכון של אשכול Managed Service for Apache Spark ב-GKE

gcloud

  1. הגדרת משתני סביבה:

    CLUSTER=existing Managed Service for Apache Spark on GKE  cluster name \
      REGION=region
    

  2. מייצאים את ההגדרה הקיימת של אשכול Managed Service for Apache Spark ב-GKE לקובץ YAML.

    gcloud dataproc clusters export $CLUSTER \
        --region=$REGION > "${CLUSTER}-config.yaml"
    

  3. מעדכנים את ההגדרה.

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

      דוגמה לפקודה sed להסרת השדה kubernetesNamespace:

      sed -E "s/kubernetesNamespace: .+$//g" ${CLUSTER}-config.yaml
      

    2. מבצעים שינויים נוספים כדי לעדכן את ההגדרות של Managed Service for Apache Spark באשכול וירטואלי של GKE, כמו שינוי של componentVersion של Spark.

  4. אם אתם יוצרים אשכול עם אותו שם כמו האשכול שאתם מעדכנים (אם אתם מחליפים את האשכול המקורי), אתם צריכים למחוק את האשכול הווירטואלי הקיים של Managed Service for Apache Spark on GKE.

  5. מחכים עד לסיום פעולת המחיקה הקודמת, ואז מייבאים את ההגדרה המעודכנת של האשכול כדי ליצור אשכול וירטואלי חדש של Managed Service for Apache Spark ב-GKE עם הגדרות התצורה המעודכנות.

    gcloud dataproc clusters import $CLUSTER \
        --region=$REGION \
        --source="${CLUSTER}-config.yaml"

API

  1. הגדרת משתני סביבה:

    CLUSTER=existing Managed Service for Apache Spark on GKE  cluster name \
      REGION=region
    

  2. מייצאים את ההגדרה הקיימת של אשכול Managed Service for Apache Spark ב-GKE לקובץ YAML.

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"  "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${CLUSTER}?alt=json" > "${CLUSTER}-config.json"

  3. מעדכנים את ההגדרה.

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

      פקודה לדוגמה jq להסרת השדה kubernetesNamespace:

      jq 'del(.virtualClusterConfig.kubernetesClusterConfig.kubernetesNamespace)'
      

    2. מבצעים שינויים נוספים כדי לעדכן את ההגדרות של Managed Service for Apache Spark באשכול וירטואלי של GKE, כמו שינוי של componentVersion של Spark.

  4. אם אתם יוצרים אשכול עם אותו שם של האשכול שאתם מעדכנים (אם אתם מחליפים את האשכול המקורי), אתם צריכים למחוק את האשכול הווירטואלי הקיים של Managed Service for Apache Spark on GKE.

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${CLUSTER}"
    

  5. מחכים עד לסיום פעולת המחיקה הקודמת, ואז מייבאים את הגדרת האשכול המעודכנת כדי ליצור אשכול וירטואלי חדש של Managed Service for Apache Spark ב-GKE עם ההגדרות המעודכנות.

    curl -i -X POST  -H "Authorization: Bearer $(gcloud auth print-access-token)"  -H "Content-Type: application/json; charset=utf-8" -d "@${CLUSTER}-config.json" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters?alt=json"
    

המסוף

במסוף Google Cloud אין תמיכה ביצירה מחדש של Managed Service for Apache Spark באשכול וירטואלי של GKE על ידי ייבוא של תצורת אשכול קיים.