RouteController failed to create a route on GKE

6/23/2019

I have a cluster on GKE whose node pool I create when I want to use the cluster, and delete when I'm done with it.

It's a two node cluster with the master in europe-west2-a and with and whose node zones are europe-west2-a and europe-west2-b.

The most recent creation resulted in the node in zone B failing with NetworkUnavailable because RouteController failed to create a route. The reason was because Could not create route xxx 10.244.1.0/24 for node xxx after 342.263706ms: instance not found.

Why would this be happening all of a sudden, and what can I do to fix it?!

-- yoitsro
google-cloud-platform
google-kubernetes-engine
kubernetes

2 Answers

6/23/2019

With gke 1.13.6-gke.13, some of the default scopes were changed, including the compute-rw scope being removed. I think that due to the age of the cluster, this scope was necessary for a route to be correctly created between nodes in a node pool.

In the end, my gcloud creation command had these scopes:

--scopes https://www.googleapis.com/auth/projecthosting,storage-rw,monitoring,trace,compute-rw

-- yoitsro
Source: StackOverflow

6/25/2019

You didn't mention which version of GKE you are using so just for clarification:

Changes in access scopes Beginning with Kubernetes version 1.10, gcloud and GCP Console no longer grants the compute-rw access scope on new clusters and new node pools by default. Furthermore, if --scopes is specified in gcloud container create, gcloud no longer silently adds compute-rw or storage-ro.

In any case you can still revert to legacy access scopes but this is not recommended approach.

Hope this help.

-- Hanx
Source: StackOverflow