Update or upgrade a cluster to an advanced cluster

This document shows how to update or upgrade a cluster to an advanced cluster from version 1.32.

Prerequisites

  • Always diagnose your cluster before updating or upgrading.

  • Make sure your clusters use only recommended features.

  • Verify your clusters don't use any features not supported by advanced clusters before starting the update or upgrade. If any unsupported features are active, disable them using update first.

    • Although highly-available (HA) user clusters are required on advanced clusters, you can still update or upgrade a non-HA user cluster to an HA advanced cluster following this guide.
  • You must update or upgrade the admin cluster to an advanced cluster before you update or upgrade any user clusters.

Update or upgrade the admin cluster to advanced cluster

Update

  1. Prepare for the advanced cluster:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Replace the following:

    • BUNDLE_PATH: the path of the bundle file. This file is on your admin workstation in /var/lib/gke/bundles/. For example:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.

  2. Set enableAdvancedCluster in your admin cluster configuration file to true.

  3. Update the admin cluster to the advanced cluster:

    gkectl update admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    Replace the following:

    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.
    • ADMIN_CLUSTER_CONFIG: the path of the admin cluster configuration file.

    The command will recreate all the nodes in the admin cluster.

Upgrade

  1. Upgrade your admin workstation if needed.

  2. Prepare for the advanced cluster:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Replace the following:

    • BUNDLE_PATH: the path of the bundle file. This file is on your admin workstation in /var/lib/gke/bundles/. For example:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.

  3. Set enableAdvancedCluster in your admin cluster configuration file to true.

  4. Make sure the bundlepath field in the admin cluster configuration file matches the path of the bundle to which you want to upgrade.

  5. Upgrade the admin cluster to the advanced cluster:

    gkectl upgrade admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

    Replace the following:

    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.
    • ADMIN_CLUSTER_CONFIG: the path of the admin cluster configuration file.

    The command will rollout recreate all the nodes in the admin cluster.

After the admin cluster has been updated or upgraded to an advanced cluster:

  • Your existing non-advanced user clusters continue to function normally.

  • You can create only advanced user clusters that are managed by the advanced admin cluster.

We recommend that you upgrade all user clusters to advanced clusters soon afterward to maintain a consistent and fully-featured environment.

Update or upgrade the user cluster to advanced cluster

Update

  1. If your user cluster control plane is not highly available (HA):

    1. Change masterNode.replicas from 1 to 3.

    2. Add the static IP addresses for the user cluster control-plane nodes to the network.controlPlaneIPBlock.ips section.

  2. Prepare for the advanced cluster:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Replace the following:

    • BUNDLE_PATH: the path of the bundle file. This file is on your admin workstation in /var/lib/gke/bundles/. For example:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.

  3. Set enableAdvancedCluster in your user cluster configuration file to true.

  4. Update the user cluster to the advanced cluster:

    gkectl update cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    Replace the following:

    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.
    • USER_CLUSTER_CONFIG: the path of the user cluster configuration file.

    The command will rollout recreate all the nodes in the user cluster.

Upgrade

  1. If your user cluster control plane is not highly available (HA):

    1. Change masterNode.replicas from 1 to 3.

    2. Add the static IP addresses for the user cluster control-plane nodes to the network.controlPlaneIPBlock.ips section.

  2. Prepare for the advanced cluster:

    gkectl prepare \
        --bundle-path BUNDLE_PATH \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --advanced-cluster
    

    Replace the following:

    • BUNDLE_PATH: the path of the bundle file. This file is on your admin workstation in /var/lib/gke/bundles/. For example:

      /var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.

  3. Set enableAdvancedCluster in your user cluster configuration file to true.

  4. Make sure the gkeOnPremVersion field in the user cluster configuration file matches the target version of your upgrade.

  5. Upgrade the user cluster to the advanced cluster:

    gkectl upgrade cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    Replace the following:

    • ADMIN_CLUSTER_KUBECONFIG: the path of the admin cluster kubeconfig file.
    • USER_CLUSTER_CONFIG: the path of the user cluster configuration file.

    The command will recreate all the nodes in the user cluster.