Stay organized with collectionsSave and categorize content based on your preferences.
This document describes known issues for version 1.6 of
Google Distributed Cloud.
ClientConfig custom resource
gkectl updatereverts any manual changes that you have made to the ClientConfig
custom resource. We strongly recommend that you back up the ClientConfig
resource after every manual change.
kubectl describe CSINodeandgkectl diagnose snapshotsometimes fail due to
theOSS Kubernetes issueon dereferencing nil pointer fields.
OIDC and the CA certificate
The OIDC provider doesn't use the common CA by default. You must explicitly
supply the CA certificate.
Upgrading the admin cluster from 1.5 to 1.6.0 breaks 1.5 user clusters that use
an OIDC provider and have no value forauthentication.oidc.capathin theuser cluster configuration file.
To work around this issue, run the following script.:
Validation fails because F5 BIG-IP partitions can't be found, even though they exist.
Potential causes
An issue with the F5 BIG-IP API can cause validation to fail.
Resolution
Try runninggkectl check-configagain.
Disruption for workloads with PodDisruptionBudgets
Upgrading clusters can cause disruption or downtime for workloads that usePodDisruptionBudgets(PDBs).
Nodes fail to complete their upgrade process
If you havePodDisruptionBudgetobjects configured that are unable to
allow any additional disruptions, node upgrades might fail to upgrade to the
control plane version after repeated attempts. To prevent this failure, we
recommend that you scale up theDeploymentorHorizontalPodAutoscalerto
allow the node to drain while still respecting thePodDisruptionBudgetconfiguration.
To see allPodDisruptionBudgetobjects that do not allow any disruptions:
kubectl get poddisruptionbudget --all-namespaces -o jsonpath='{range .items[?(@.status.disruptionsAllowed==0)]}{.metadata.name}/{.metadata.namespace}{"\n"}{end}'
Renewal of certificates might be required before an admin cluster upgrade
Before you begin the admin cluster upgrade process, you should make sure that your admin cluster certificates are currently valid, and renew these certificates if they are not.
Admin cluster certificate renewal process
Make sure that OpenSSL is installed on the admin workstation before you begin.
Set theKUBECONFIGvariable:
KUBECONFIG=ABSOLUTE_PATH_ADMIN_CLUSTER_KUBECONFIG
ReplaceABSOLUTE_PATH_ADMIN_CLUSTER_KUBECONFIGwith the absolute path to the admin cluster kubeconfig file.
Get the IP address and SSH keys for the admin master node:
Replaceclient-certificate-dataandclient-key-datain kubeconfig withclient-certificate-dataandclient-key-datain thenew_admin.conffile that you created.
Back up old certificates:
This is an optional, but recommended, step.
# ssh into admin master if you didn't in the previous step
ssh -i ~/.ssh/admin-cluster.key ubuntu@"${MASTER_NODE_IP}"
# on admin master
sudo tar -czvf backup.tar.gz /etc/kubernetes
logout
# on worker node
sudo scp -i ~/.ssh/admin-cluster.key \
ubuntu@"${MASTER_NODE_IP}":/home/ubuntu/backup.tar.gz .
Renew the certificates with kubeadm:
# ssh into admin master
ssh -i ~/.ssh/admin-cluster.key ubuntu@"${MASTER_NODE_IP}"
# on admin master
sudo kubeadm alpha certs renew all
Restart static Pods running on the admin master node:
# on admin master
cd /etc/kubernetes
sudo mkdir tempdir
sudo mv manifests/*.yaml tempdir/
sleep 5
echo "remove pods"
# ensure kubelet detect those change remove those pods
# wait until the result of this command is empty
sudo docker ps | grep kube-apiserver
# ensure kubelet start those pods again
echo "start pods again"
sudo mv tempdir/*.yaml manifests/
sleep 30
# ensure kubelet start those pods again
# should show some results
sudo docker ps | grep -e kube-apiserver -e kube-controller-manager -e kube-scheduler -e etcd
# clean up
sudo rm -rf tempdir
logout
Renew the certificates of admin cluster worker nodes
Check node certificates expiration date
kubectl get nodes -o wide
# find the oldest node, fill NODE_IP with the internal ip of that node
ssh -i ~/.ssh/admin-cluster.key ubuntu@"${NODE_IP}"
openssl x509 -enddate -noout -in /var/lib/kubelet/pki/kubelet-client-current.pem
logout
If the certificate is about to expire, renew node certificates bymanual node repair.
You must validate the renewed certificates, and validate the certificate of kube-apiserver.
# Get the IP address of kube-apiserver
cat $KUBECONFIG | grep server
# Get the current kube-apiserver certificate
openssl s_client -showcerts -connect: | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > current-kube-apiserver.crt
# check expiration date of this cert
openssl x509 -in current-kube-apiserver.crt -noout -enddate
# check nodes are ready
kubectl --kubeconfig $KUBECONFIG get nodes
Using Google Distributed Cloud with Anthos Service Mesh version 1.7 or later
If you use Google Distributed Cloud with Anthos Service Mesh version 1.7 or later, and you want to upgrade to Google Distributed Cloud version 1.6.0-1.6.3 or Google Distributed Cloud version 1.7.0-1.7.2, you must remove thebundle.gke.io/component-nameandbundle.gke.io/component-versionlabels from the following Custom Resource Definitions (CRDs):
destinationrules.networking.istio.io
envoyfilters.networking.istio.io
serviceentries.networking.istio.io
virtualservices.networking.istio.io
Run this command to update the CRDdestinationrules.networking.istio.ioin your user cluster:
Remove thebundle.gke.io/component-versionandbundle.gke.io/component-namelabels from the CRD.
Alternatively, you canupgradeto 1.6.4 or 1.7.3 directly.
Upgrading the admin workstation might fail if the data disk is nearly full
If you upgrade the admin workstation with thegkectl upgrade admin-workstationcommand, the upgrade might fail if the data disk is nearly full, because the system attempts to back up the current admin workstation locally while upgrading to a new admin workstation. If you cannot clear sufficient space on the data disk, use thegkectl upgrade admin-workstationcommand with the additional flag--backup-to-local=falseto prevent making a local backup of the current admin workstation.
Restarting or upgrading vCenter for versions lower than 7.0U2
If the vCenter, for versions lower than 7.0U2, is restarted, after an upgrade or otherwise,
the network name in vm information from vCenter is incorrect, and results in the machine being in anUnavailablestate. This eventually leads to the nodes being auto-repaired to create new ones.
1. The issue is fixed in vCenter versions 7.0U2 and above.
2. For lower versions:
Right-click the host, and then select Connection > Disconnect. Next, reconnect, which forces an update of the
VM's portgroup.
[[["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\u003e\u003ccode\u003egkectl update\u003c/code\u003e will revert any manual changes to the ClientConfig custom resource, so backing up the ClientConfig resource after each manual modification is strongly advised.\u003c/p\u003e\n"],["\u003cp\u003eUpgrading the admin cluster from version 1.5 to 1.6.0 can disrupt 1.5 user clusters using an OIDC provider that lacks a value for \u003ccode\u003eauthentication.oidc.capath\u003c/code\u003e, and a provided script addresses this issue.\u003c/p\u003e\n"],["\u003cp\u003eAdmin cluster certificates must be checked for validity and renewed before beginning the admin cluster upgrade process, with a detailed process and instructions for renewal provided in the document.\u003c/p\u003e\n"],["\u003cp\u003eIf using Google Distributed Cloud with Anthos Service Mesh 1.7 or later and planning to upgrade to certain 1.6 or 1.7 versions, you must remove specific labels (\u003ccode\u003ebundle.gke.io/component-name\u003c/code\u003e and \u003ccode\u003ebundle.gke.io/component-version\u003c/code\u003e) from certain CRDs in the user cluster.\u003c/p\u003e\n"],["\u003cp\u003eUpgrading the admin workstation might fail if the data disk is nearly full, in which case the \u003ccode\u003e--backup-to-local=false\u003c/code\u003e flag should be used with \u003ccode\u003egkectl upgrade admin-workstation\u003c/code\u003e to avoid the local backup.\u003c/p\u003e\n"]]],[],null,[]]