アップグレード

K3s クラスターのアップグレード

手動アップグレードでは、クラスターを手動でアップグレードするためのいくつかの技術について説明しています。また、https://www.terraform.io/[Terraform]のようなサードパーティのInfrastructure-as-Codeツールを使用してアップグレードするための基礎としても使用できます。

自動アップグレードでは、Rancherのsystem-upgrade-controllerを使用してKubernetesネイティブの自動アップグレードを実行する方法について説明しています。

バージョン固有の注意点

  • Traefik: Traefikが無効化されていない場合、K3sバージョン1.20以前ではTraefik v1がインストールされ、K3sバージョン1.21以降ではv1が存在しない場合にTraefik v2がインストールされます。古いTraefik v1からTraefik v2にアップグレードするには、https://doc.traefik.io/traefik/migration/v1-to-v2/[Traefikのドキュメント]を参照し、https://github.com/traefik/traefik-migration-tool[移行ツール]を使用してください。

  • K3sブートストラップデータ: 外部SQLデータストアを使用したHA構成でK3sを使用している場合、サーバー(コントロールプレーン)ノードが--token CLIフラグを使用して起動されていないと、トークンを指定せずに追加のK3sサーバーをクラスターに追加することができなくなります。このトークンのコピーを保持しておくことが重要です。バックアップから復元する際に必要です。以前は、外部SQLデータストアを使用する場合、K3sはトークンの使用を強制していませんでした。

    • 影響を受けるバージョンは ⇐ v1.19.12+k3s1, v1.20.8+k3s1, v1.21.2+k3s1; 修正されたバージョンは v1.19.13+k3s1, v1.20.9+k3s1, v1.21.3+k3s1 です。

    • クラスターに既に参加している任意のサーバーからトークン値を取得するには、以下のコマンドを実行します:

      cat /var/lib/rancher/k3s/server/token