Fix kubectl on Your Devbox#

I’m very frustrated with the pre-installed Google Cloud tools on our devboxes. I expected Google tools to be perfectly installed on Google VMs. But the installation on Ubuntu 22.04 is really broken. Here’s how to fix them.

Run these commands to remove the broken tools:

sudo snap remove google-cloud-cli 
sudo snap remove kubectl 

After that you should install the tools via apt:

Note

You may get a menu message about the Kernel. Hit “OK” by pressing Enter.

export DEBIAN_FRONTEND=noninteractive
sudo apt-get install -y apt-transport-https ca-certificates gnupg
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update -y && sudo apt-get install -y google-cloud-cli kubectl google-cloud-cli-gke-gcloud-auth-plugin

Warning

The last command takes a long time to do this step:

Setting up google-cloud-cli (427.0.0-0) ...

Pleae give it 10 minutes or so.

Make sure you tell bash to look for new versions and get the name of your Kubernetes cluster:

$ hash -r 
$ gcloud container clusters list 

Using the name of your cluster and the correct region, re-authenticate kubectl:

$ gcloud container clusters get-credentials cis-92-cluster --region=us-central1 

You should now be able to use kubectl:

Note

If you see errors starting with E0420 it’s because your cluster is sleeping. (Not because it’s high.)

$ kubectl get all