Install Kubernetes Packages
By package manager
Add the Kubernetes repository:
$ curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
$ echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
Install kubelet, kubeadm and kubectl, and pin their versions:
$ sudo apt update
$ sudo apt install -y kubelet kubeadm kubectl
$ sudo apt-mark hold kubelet kubeadm kubectl
kubelet set on hold.
kubeadm set on hold.
kubectl set on hold.
$ kubeadm version -o yaml
clientVersion:
buildDate: "2025-03-11T19:57:38Z"
compiler: gc
gitCommit: 32cc146f75aad04beaaa245a7157eb35063a9f99
gitTreeState: clean
gitVersion: v1.32.3
goVersion: go1.23.6
major: "1"
minor: "32"
platform: linux/amd64
Default output style is Go style, which is why -o yaml is needed.
Tip
If you want to upgrade these components, you can unpin them by:
$ sudo apt-mark unhold kubelet kubeadm kubectl
Canceled hold on kubelet.
Canceled hold on kubeadm.
Canceled hold on kubectl.
Dowload kubectl manually
kubectl can be installed anywhere to access k8s system.
For Intel silicon:
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
For Apple silicon:
$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
$ chmod +x kubectl
$ sudo mv kubectl /usr/local/bin
Check the versions:
$ kubectl version
Client Version: v1.32.0
Kustomize Version: v5.5.0
Server Version: v1.32.0