minikube Clusterをdeleteしたらkubectlが使えなくなった

ローカル環境でKubernetesのClusterを動かす方法はいろいろある。よく紹介されているのはminikubeを使う方法だが、自分の場合Docker Desktopを使っている。Docker DesktopにはKubernetesが付属しており、追加のインストールなしでClusterを立ててkubectlで操作できる。 先日試しにminikubeを少しだけ使ってみたものの、仕事のタスクを抱えていたため使い慣れたDocker Desktopに戻すことにした。

minikubeのClusterを停止させ、削除する。

minikube stop
minikube delete

すると、Docker Desktopをkubectlで操作することができなくなってしまった。

kubectl config use-context development
Error from server (NotFound): the server could not find the requested resource

kubectl config current-contextkubectl config get-contexts 等も試したが同じエラー。

途方にくれていたが、minikubeのClusterを消したせいで、contextを正常に読み込めていないからではないかと気づく。本来であればkubectlはminikubeと一緒にインストールされるのだが、今回はもともとDocker Desktopによってインストールされたkubectlを使っており、そこにminikubeの設定が追加された形になっていそうだった。
そこでminikubeのcontextを削除してみる。

kubectl config delete-context minikube
kubectl config use-context development

今度は正しくcontextを切り替えることができ、他の操作もできるようになった。