How to find any version supported for GKE alpha cluster creation?

3/1/2020

I'd like to create a Google Kubernetes Engine (GKE) alpha cluster and am facing the following problems:

  • According to the release notes the latest alpha version is 1.16.6-gke.4, however gcloud beta container clusters create blablu --machine-type=n1-standard-2 --cluster-version=1.16.6-gke.4 --no-enable-stackdriver-kubernetes --no-enable-autoupgrade --preemptible --enable-kubernetes-alpha --quiet --enable-pod-security-policy fails due to ERROR: (gcloud.beta.container.clusters.create) ResponseError: code=400, message=Node version "1.16.6-gke.4" is unsupported.
  • Omitting the version and specifying --enable-kubernetes-alpha causes a cluster with version 1.14.10-gke.17 to be created - two major versions from the current 1.16.x alpha version which doesn't make sense.
  • I tried about 20 1.16.x-gke.y versions with different values for x and y in a trial error approach without any luck.

I tried these commands with gcloud, gcloud beta and gcloud alpha. All gcloud alpha commands fail due to ERROR: (gcloud.alpha.container.clusters.create) ResponseError: code=404, message=Method not found. which is not helpful at all.

I created 1.16 Alpha clusters before using the version specified in the release notes.

-- Karl Richter
gcloud
google-cloud-platform
google-kubernetes-engine
kubernetes

1 Answer

3/1/2020

A good way to "sanity check" things like this is to use the Console and have it show you the equivalent CLI command. I tried to repro your issue and the command the Console produces this:

gcloud beta container clusters create ${CLUSTER} \
--project=${PROJECT} \
--region=${REGION} \
--release-channel="rapid" \

Where rapid\==1.16.5-gke.2

Even though:

gcloud container get-server-config \
--project=${PROJECT} \
--region=${REGION}
Fetching server config for ...
defaultClusterVersion: 1.14.10-gke.17
defaultImageType: COS
validImageTypes:
- UBUNTU_CONTAINERD
- COS
- UBUNTU
- COS_CONTAINERD
validMasterVersions:
- 1.15.9-gke.9
- 1.15.9-gke.8
...
validNodeVersions:
- 1.15.9-gke.9
- 1.15.9-gke.8
...

So I think you need to use one of the --release-channel flag to get the version you're seeking.

NB I know you're probably aware that different regions|zones also (occasionally) have different GKE version availability.

-- DazWilkin
Source: StackOverflow