Downgrade kubectl version to match minikube k8s version
You can just download the previous version binary and replace the one you have now.
Linux:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.5.2/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
macOS:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.5.2/bin/darwin/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
Windows:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.5.2/bin/windows/amd64/kubectl.exe
And add it to PATH.
If not follow instructions for other Operating Systems here: https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-via-curl
In my macOS, I was struggling, because I had multiple kubectl
executables installed. First you need to remove the existing kubectl
binaries. Do the following iteratively until it says command not found: kubectl
.
which kubectl
sudo rm -f <path-from-above-command>
Next, follow the kubernetes official documentation to install your specific kubectl version. https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/
- If you want to install v1.18.0 for Apple M1 (see the above link for other OS versions)
curl -LO "https://dl.k8s.io/release/v1.18.0/bin/darwin/arm64/kubectl"
- Make the kubectl binary executable.
chmod +x ./kubectl
- Move the kubectl binary to a file location on your system PATH.
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl
- Test to ensure the version you installed is up-to-date:
kubectl version --client
What helped me on Centos was running the following:
sudo yum downgrade kubeadm-1.16.9 kubernetes-cni-0.7.5 kubelet-1.16.9 kubectl-1.16.9
Then to disable updates forever, edit /etc/yum.repos.d/Kubernetes.repo
and change the line with enabled to enabled=0
.
With APT you can install the exact version as well:
sudo apt install kubectl=1.17.2-00