Linuxノードのアップグレード

このページでは、kubeadmで構築したLinuxワーカーノードのアップグレード方法を示します。

始める前に

全てのノードへのシェルアクセスが可能であり、kubectlコマンドラインツールがクラスターと通信できるように設定されている必要があります。 このチュートリアルでは、コントロールプレーンのホストではないノードが少なくとも2つ存在するクラスターで実行することを推奨します。

バージョンを確認するには次のコマンドを実行してください: kubectl version.

パッケージリポジトリの変更

コミュニティ所有のパッケージリポジトリ(pkgs.k8s.io)を使用している場合、必要なKubernetesのマイナーリリースのパッケージリポジトリを有効化する必要があります。 これは、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のアップグレード

  1. 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 kubectl
    

    DNFを搭載したシステムの場合:

    #「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。
    sudo yum install -y kubelet-'1.34.x-*' kubectl-'1.34.x-*' --disableexcludes=kubernetes
    

    DNF5を搭載したシステムの場合:

    #「1.34.x-*」の「x」は最新のパッチバージョンに置き換えてください。
    sudo yum install -y kubelet-'1.34.x-*' kubectl-'1.34.x-*' --setopt=disable_excludes=kubernetes
    
  2. kubeletを再起動します。

    sudo systemctl daemon-reload
    sudo systemctl restart kubelet
    

ノードの隔離解除

ノードをスケジュール可能としてマークすることで、ノードをオンラインに戻します。

# このコマンドはコントロールプレーンノードで実行してください。
# <node-to-uncordon>は対象のノード名に置き換えてください。
kubectl uncordon <node-to-uncordon>

次の項目