Why does the "gcloud container" seem to do functionality more suited to kubectl?

I am surprised that the proritetary gcloud is used, rather than kubectl, to configure autoscaling and resizing.

I understand that kubectl does not create clusters.

But commands like the following involve updating clusters, which seems very much the responsibility of kubectl.

  • gcloud container clusters update mycluster --enable-autoscaling --min-nodes=1 --max-nodes=10
  • gcloud container clusters resize...
1 Like

Kubectl is a client of the kubernetes API.

Resizing or upgrading clusters is a control-plane operation that doesn’t go through the API (yet?) and needs a lot of detailed information about the environment.

Cluster autoscaling doesn’t have an API representation (yet?), so it becomes a control-plane operation, too.

Projects like ClusterAPI are trying to provide more API-driven mechanisms for some of these things, but at some point you have to upgrade the things that does upgrades, so there has to be a “turtle at the bottom”

2 Likes