Version 1.7. This version is no longer supported. For information about how to upgrade to version 1.8, seeUpgrading Anthos on bare metalin the 1.8 documentation. For more information about supported and unsupported versions, see theVersion historypage in the latest documentation.
When you install a new version ofbmctl, you can upgrade your existing
clusters that were created with an earlier version. Upgrading a cluster to the
latest Google Distributed Cloud version brings added features and fixes to your
cluster. It also ensures that your cluster remainssupported.
You can upgrade admin, hybrid, standalone, or user
clusters with thebmctl upgrade clustercommand.
Preflight checks are run before a cluster upgrade to validate cluster status
and node health.
The following examples show the upgrade process from version 1.6.2 to
Google Distributed Cloud 1.7.7.
You can upgrade any given version to the next available version (for example,
1.6.1 to 1.6.2) in the same fashion. Skip upgrades, such as 1.6.1 to
1.7.7, are also supported.
Google Distributed Cloud 1.7.0 and later versions support the configuration of up
to 250 maximum pods per node. This configuration can only be done during cluster
creation and cannot be updated for existing clusters, including clusters
upgraded to 1.7.0 from a lower version and new 1.7.7 clusters.
Upgrading admin, standalone, hybrid, or user clusters Google Distributed Cloud
When you download and install a new version ofbmctl, you can upgrade your
admin, hybrid, standalone, and user clusters created with an earlier version.
For a given version ofbmctl, clusters can be upgraded to the same version
only.
First, you download the latestbmctl, then modify the appropriate cluster
config files, and then you issue thebmctl upgrade clustercommand to complete
the upgrade.
Download the latestbmctlfrom theCloud Storagebucket and
usechmodto givebmctlexecute permissions to all users:
Modify the cluster config file to change the Google Distributed Cloud cluster
version from1.6.2to1.7.7. The following shows an example from an
admin cluster config:
---apiVersion:baremetal.cluster.gke.io/v1kind:Clustermetadata:name:cluster1namespace:cluster-cluster1spec:# Cluster type. This can be:# 1) admin: to create an admin cluster. This can later be used to create user clusters.# 2) user: to create a user cluster. Requires an existing admin cluster.# 3) hybrid: to create a hybrid cluster that runs admin cluster components and user workloads.# 4) standalone: to create a cluster that manages itself, runs user workloads, but does not manage other clusters.type:admin# Anthos cluster version.# Change the following line from 1.6.2 to 1.7.7, shown belowanthosBareMetalVersion:1.7.7
When upgrading clusters to 1.7.7, you must register the clusters with
Connect to your project fleet, if they have not been already.
Reference the downloaded JSON keys in the associatedgkeConnectAgentServiceAccountKeyPathandgkeConnectRegisterServiceAccountKeyPathfields of the cluster config file.
Use thebmctl upgrade clustercommand to complete the upgrade:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eUpgrading to the latest Google Distributed Cloud version adds new features, fixes, and ensures cluster support, applicable to admin, hybrid, standalone, and user clusters via the \u003ccode\u003ebmctl upgrade cluster\u003c/code\u003e command.\u003c/p\u003e\n"],["\u003cp\u003eYou can upgrade clusters from one version to the next available version or perform skip upgrades, such as from 1.6.1 to 1.7.7.\u003c/p\u003e\n"],["\u003cp\u003eTo upgrade, download the latest \u003ccode\u003ebmctl\u003c/code\u003e, modify the cluster config file to reflect the new version, and then use the \u003ccode\u003ebmctl upgrade cluster\u003c/code\u003e command.\u003c/p\u003e\n"],["\u003cp\u003eWhen upgrading to version 1.7.7, you must also register the clusters with Connect to your project fleet and configure service accounts.\u003c/p\u003e\n"],["\u003cp\u003eUpgrading an admin cluster should be done prior to upgrading any associated user clusters.\u003c/p\u003e\n"]]],[],null,["# Upgrading Google Distributed Cloud\n\n\u003cbr /\u003e\n\nUpgrading Google Distributed Cloud\n----------------------------------\n\nWhen you install a new version of `bmctl`, you can upgrade your existing\nclusters that were created with an earlier version. Upgrading a cluster to the\nlatest Google Distributed Cloud version brings added features and fixes to your\ncluster. It also ensures that your cluster remains\n[supported](/anthos/clusters/docs/bare-metal/1.7/getting-support#version-support).\nYou can upgrade admin, hybrid, standalone, or user\nclusters with the `bmctl upgrade cluster` command.\n\nPreflight checks are run before a cluster upgrade to validate cluster status\nand node health.\n\nThe following examples show the upgrade process from version 1.6.2 to\nGoogle Distributed Cloud 1.7.7.\n\nYou can upgrade any given version to the next available version (for example,\n1.6.1 to 1.6.2) in the same fashion. Skip upgrades, such as 1.6.1 to\n1.7.7, are also supported.\n\nGoogle Distributed Cloud 1.7.0 and later versions support the configuration of up\nto 250 maximum pods per node. This configuration can only be done during cluster\ncreation and cannot be updated for existing clusters, including clusters\nupgraded to 1.7.0 from a lower version and new 1.7.7 clusters.\n\nUpgrading admin, standalone, hybrid, or user clusters Google Distributed Cloud\n------------------------------------------------------------------------------\n\nWhen you download and install a new version of `bmctl`, you can upgrade your\nadmin, hybrid, standalone, and user clusters created with an earlier version.\nFor a given version of `bmctl`, clusters can be upgraded to the same version\nonly.\n\nFirst, you download the latest `bmctl`, then modify the appropriate cluster\nconfig files, and then you issue the `bmctl upgrade cluster` command to complete\nthe upgrade.\n| **Note:** You should upgrade an admin cluster before upgrading any associated user clusters.\n\n1. Download the latest `bmctl` from the [Cloud Storage](/storage) bucket and\n use `chmod` to give `bmctl` execute permissions to all users:\n\n gcloud storage cp gs://anthos-baremetal-release/bmctl/1.7.7/linux-amd64/bmctl bmctl\n chmod a+x bmctl\n\n2. Modify the cluster config file to change the Google Distributed Cloud cluster\n version from `1.6.2` to `1.7.7`. The following shows an example from an\n admin cluster config:\n\n ---\n apiVersion: baremetal.cluster.gke.io/v1\n kind: Cluster\n metadata:\n name: cluster1\n namespace: cluster-cluster1\n spec:\n # Cluster type. This can be:\n # 1) admin: to create an admin cluster. This can later be used to create user clusters.\n # 2) user: to create a user cluster. Requires an existing admin cluster.\n # 3) hybrid: to create a hybrid cluster that runs admin cluster components and user workloads.\n # 4) standalone: to create a cluster that manages itself, runs user workloads, but does not manage other clusters.\n type: admin\n # Anthos cluster version.\n # Change the following line from 1.6.2 to 1.7.7, shown below\n anthosBareMetalVersion: 1.7.7\n\n3. When upgrading clusters to 1.7.7, you must register the clusters with\n Connect to your project fleet, if they have not been already.\n\n 1. Manually create service accounts and retrieve the JSON key files as described in [Configuring service accounts for use with Connect](/anthos/clusters/docs/bare-metal/1.7/installing/configure-sa#connect-sa) on the Enabling Google services and service accounts page.\n 2. Reference the downloaded JSON keys in the associated `gkeConnectAgentServiceAccountKeyPath` and `gkeConnectRegisterServiceAccountKeyPath` fields of the cluster config file.\n4. Use the `bmctl upgrade cluster` command to complete the upgrade:\n\n bmctl upgrade cluster -c \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e --kubeconfig \u003cvar translate=\"no\"\u003eADMIN_KUBECONFIG\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of the cluster to upgrade.\n - \u003cvar translate=\"no\"\u003eADMIN_KUBECONFIG\u003c/var\u003e: the path to the admin cluster kubeconfig file."]]