1

I am using GKE cluster with master version 1.15.9-gke.24 and linkerd2 as proxy for my gRPC services.

From my cluster I saw calico node vertical autoscaler pod is in CrashLoopBackOff state. From log I see following

$ kubectl logs -f calico-node-vertical-autoscaler-7767597775-rd68v -n kube-system
I0503 10:36:55.586271       1 autoscaler.go:46] Scaling namespace: kube-system, target: daemonset/calico-node
E0503 10:36:55.720025       1 autoscaler.go:49] unknown target kind: Tap

According to this I need to update from k8s.gcr.io/cpvpa-amd64:v0.8.1 to k8s.gcr.io/cpvpa-amd64:v0.8.2. I edited the deployment and replace the version. But it seems gke reset the image version to v0.8.1. How can I modify the version without uprading cluster?

Additional information:

    $ linkerd version
    Client version: stable-2.7.1
    Server version: stable-2.7.1
Will R.O.F.
  • 3,814
  • 1
  • 9
  • 19
hoque
  • 5,735
  • 1
  • 19
  • 29

1 Answers1

4

I edited the deployment and replace the version. But it seems gke reset the image version to v0.8.1. How can I modify the version without uprading cluster?

When you tried to edit the manifest to upgrade cpvpa image to 0.8.2 it got to 0.8.1 since GKE is a managed cluster, which is an intended behaviour.

  • Any changes made to a kube-system object will be automatically reverted, this happens because the addon-manager will perform the necessary actions to preserve it state.

  • Direct manipulation to these addons through apiserver is discouraged because addon-manager will bring them back to the original state.

Upgrading the cluster Version once the release of 0.8.2 is available on the GKE Release Notes page is the only recommended way to get it.

  • As a workaround I suggest you try setting the priorityClass and priorityClassName configurations in Linkerd configuration as mentioned in the Github Issue as the solution while 0.8.2 is not available.

If you need further help let me know in the comments!

Will R.O.F.
  • 3,814
  • 1
  • 9
  • 19