Ubuntu 22.04 に kubectl をインストール・アップデート (2024年5月時点)

概要

kubernetes(kubectlなど)のインストール方法が変わりました。

下記は、2024年5月時点での最新のやり方です。なお、このやり方ですと、メジャーバージョンを固定してインストールすることになります。

apt update を実行したときに表示されるエラー

以前の推奨のインストール方法でkubectlをインストールしていた場合、下記のメッセージが表示され、アップデートできなくなっていました。

E: The repository 'https://apt.kubernetes.io kubernetes-xenial Release' no longer has a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

以前の設定ファイルの削除

もし、以前に kubectl をインストールしている場合には、apt の sources.list.d に登録されている(以前に自分で登録した)リストの内容を確認します。

$ cat /etc/apt/sources.list.d/kubernetes.list 
deb [arch=amd64 signed-by=/etc/apt/keyrings/cloud.google.gpg] https://apt.kubernetes.io/ kubernetes-xenial main

上記では、signning key が /etc/apt/keyrings/cloud.google.gpg に登録されていますので、一旦、このファイルと、リストのファイルを削除します。

$ sudo rm /etc/apt/keyrings/cloud.google.gpg 
$ sudo rm /etc/apt/sources.list.d/kubernetes.list 

kubectlのインストール v1.29

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/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.29/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt update
sudo apt install kubectl
Copied title and URL