Linuxノードのアップグレード
このページでは、kubeadmで構築したLinuxワーカーノードのアップグレード方法を示します。
始める前に
全てのノードへのシェルアクセスが可能であり、kubectlコマンドラインツールがクラスターと通信できるように設定されている必要があります。 このチュートリアルでは、コントロールプレーンのホストではないノードが少なくとも2つ存在するクラスターで実行することを推奨します。
バージョンを確認するには次のコマンドを実行してください: kubectl version.
- 残りのkubeadmクラスターのアップグレード手順をよく理解しておいてください。 Linuxワーカーノードをアップグレードする前に、コントロールプレーンノードのアップグレードをする必要があります。
パッケージリポジトリの変更
コミュニティ所有のパッケージリポジトリ(pkgs.k8s.io)を使用している場合、必要なKubernetesのマイナーリリースのパッケージリポジトリを有効化する必要があります。
これは、Kubernetesパッケージリポジトリの変更ドキュメントにて説明されています。
備考: 古いパッケージリポジトリ(
apt.kubernetes.ioおよびyum.kubernetes.io)は2023年9月13日以降、非推奨となり凍結されています。
pkgs.k8s.ioにてホストされている新しいリポジトリの使用が強く推奨されており、2023年9月13日以降にリリースされたKubernetesのバージョンをインストールするには必須となっています。
非推奨の古いリポジトリとその内容は、将来事前予告なく削除される可能性があります。
新しいパッケージリポジトリでは、v1.24.0以降のKubernetesバージョンのダウンロードを提供しています。ワーカーノードのアップグレード
kubeadmのアップグレード
kubeadmをアップグレードします。
#「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.34.x-*' && \
sudo apt-mark hold kubeadm
DNFを搭載したシステムの場合:
#「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。
sudo yum install -y kubeadm-'1.34.x-*' --disableexcludes=kubernetes
DNF5を搭載したシステムの場合:
#「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。
sudo yum install -y kubeadm-'1.34.x-*' --setopt=disable_excludes=kubernetes
"kubeadm upgrade"の実行
ワーカーノードは、以下のコマンドによってローカルのkubeletの設定がアップグレードされます。
sudo kubeadm upgrade node
ノードのドレイン
ノードをスケジュール不可としてマークし、ワークロードを退去させることで、ノードのメンテナンスの準備をします。
# このコマンドはコントロールプレーンノードで実行してください。
# <node-to-drain>は、ドレインするノード名に置き換えてください。
kubectl drain <node-to-drain> --ignore-daemonsets
kubeletとkubectlのアップグレード
kubeletとkubectlをアップグレードします。
#「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。 sudo apt-mark unhold kubelet kubectl && \ sudo apt-get update && sudo apt-get install -y kubelet='1.34.x-*' kubectl='1.34.x-*' && \ sudo apt-mark hold kubelet kubectlDNFを搭載したシステムの場合:
#「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。 sudo yum install -y kubelet-'1.34.x-*' kubectl-'1.34.x-*' --disableexcludes=kubernetesDNF5を搭載したシステムの場合:
#「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。 sudo yum install -y kubelet-'1.34.x-*' kubectl-'1.34.x-*' --setopt=disable_excludes=kuberneteskubeletを再起動します。
sudo systemctl daemon-reload sudo systemctl restart kubelet
ノードの隔離解除
ノードをスケジュール可能としてマークすることで、ノードをオンラインに戻します。
# このコマンドはコントロールプレーンノードで実行してください。
# <node-to-uncordon>は対象のノード名に置き換えてください。
kubectl uncordon <node-to-uncordon>
次の項目
- Windowsノードのアップグレードを参照してください。
最終更新 November 20, 2025 at 12:00 AM PST: [ja] Translate /content/en/docs/tasks/administer-cluster/kubeadm/upgrading-linux-nodes.md into Japanese (#52172) (998010b2c2)