v1.24.X
以前のリリースからアップグレードする前に、Kubernetesの緊急アップグレードノートを必ずお読みください。
リリース v1.24.17+k3s1
このリリースではKubernetesをv1.24.17に更新し、多くの問題を修正しました。
このリリースには、K3sサーバーに対する潜在的なサービス拒否攻撃ベクトルであるCVE-2023-32187の修正サポートが含まれています。詳細については、https://github.com/k3s-io/k3s/security/advisories/GHSA-m4hf-6vgr-75r2 を参照し、この脆弱性に対してクラスターを強化するために必要な必須手順を確認してください。
新機能の詳細については、Kubernetesリリースノートを参照してください。
v1.24.16+k3s1からの変更点:
- CNIプラグインのバージョンをv1.3.0に更新 (#8087)
- ノード名が変更された場合のEtcdスナップショットの保持 (#8124)
- 8月のテストバックポート (#8128)
- 2023年8月リリースのバックポート (#8135)
- K3sの外
- ユーザー提供のcontainerd設定テンプレートは、
{{ template "base" . }}
を使用してデフォルトのK3sテンプレート内容を含めることができるようになりました。これにより、ファイルに追加セクションを追加するだけでユーザー設定を維持するのが容易になります。 - golangの最近のリリースによってdockerクライアントが送信する無効なホストヘッダーが拒否される問題を修正するために、docker/dockerモジュールのバージョンを更新しました。
- kineをv0.10.2に更新しました。
- K3sのetcdスナップショット削除がs3フラグを使用して呼び出されたときにローカルファイルを削除できない問題を修正しました (#8146)
- etcdスナップショットが無効になっている場合のs3からのクラスタリセットバックアップの修正 (#8168)
- 日付に基づいて孤立したスナップショッ トを削除するためのetcd保持の修正 (#8191)
- 2023-08リリースの追加バックポート (#8214)
- バンドルされたhelmコントローラーのジョブイメージで使用される
helm
のバージョンがv3.12.3に更新されました。 - apiserver/supervisorリスナーがetcd専用ノードでリクエストを処理しなくなる問題を解決するためにdynamiclistenerを更新しました。
- K3sの外部apiserver/supervisorリスナーがTLSハンドシェイクで完全な証明書チェーンを送信するようになりました。
- バンドルされたhelmコントローラーのジョブイメージで使用される
- runcバージョンの更新を修正 (#8243)
- v1.24.17に更新 (#8240)
- TLS SAN CNフィルタリングを有効にする新しいCLIフラグを追加 (#8260)
- 新しい
--tls-san-security
オプションを追加しました。このフラグはデフォルトでfalseですが、trueに設定すると、クライアントが要求する任意のホスト名を満たすためにサーバーのTLS証明書にSANを自動的に追加することを無効にできます。
- 新しい
- アドレスコントローラーにRWMutexを追加 (#8276)
リリース v1.24.16+k3s1
このリリースはKubernetesをv1.24.16に更新し、多くの問題を修正します。
新機能の詳細については、Kubernetesリリースノートを参照してください。
v1.24.14+k3s1以降の変更点:
- コードのスペルチェックを修正 (#7861)
- file_windows.goを削除 (#7857)
- helm-controllerでapiServerPortをカスタマイズできるようにk3sを許可 (#7872)
- ルートレスノードのパスワードを修正 (#7899)
- 2023-07リリースのバックポート (#7910)
- kubeadmスタイルのブートストラップトークンで参加したエージェントが、ノードオブジェクトが削除されたときにクラスターに再参加できない問題を解決しました。
k3s certificate rotate-ca
コマンドがdata-dirフラグをサポートするようになりました。
- カ スタムklipper helmイメージにCLIを追加 (#7916)
- デフォルトのhelm-controllerジョブイメージは、--helm-job-image CLIフラグで上書きできるようになりました。
- etcdが無効になっている場合、etcdの証明書とキーの生成をゲートするようにしました (#7946)
- apparmorプロファイルが強制されている場合、
check-config
でzgrepを使用しないようにしました (#7955) - image_scan.shスクリプトを修正し、trivyバージョンをダウンロード (#7950) (#7970)
- デフォルトのkubeconfigファイルの権限を調整 (#7985)
- v1.24.16に更新 (#8023)
リリース v1.24.15+k3s1
このリリースはKubernetesをv1.24.15に更新し、多くの問題を修正します。
新機能の詳細については、Kubernetesリリースノートを参照し てください。
v1.24.14+k3s1以降の変更点:
- E2Eバックポート - 6月 (#7726)
- バージョンまたはヘルプフラグでコマンドをショートサーキット #7683
- 回転証明書チェックを追加し、エージェントを再起動する関数を削除 #7097
- E2E: RunCmdOnNodeのためのSudo #7686
- スペルチェックを修正 (#7753)
- バージョンバンプとバグ修正のバックポート (#7719)
- バンドルされたmetrics-serverがv0.6.3にバンプされ、デフォルトで安全なTLS暗号のみを使用するようになりました。
coredns-custom
ConfigMapは、.:53
デフォルトサーバーブロックに*.override
セクションを含めることができるようになりました。- K3sのコアコントローラー(supervisor、deploy、helm)は、もはやadmin kubeconfigを使用しません。これにより、アクセスおよび監査ログからシステムによって実行されたアクションと管理ユーザーによって実行されたアクションを区別しやすくなります。
- klipper-lbイメージをv0.4.4にバンプし、Service ExternalTrafficPolicyがLocalに設定されている場合にlocalhostからServiceLBポートにアクセスできない問題を解決しました。
- k3sをコンパイルする際にLBイ メージを構成可能にしました。
- ノードがクラスターに参加する際にノードパスワードシークレットを作成できない場合でも、ノードがクラスターに参加できるようになりました。シークレットの作成はバックグラウンドで再試行されます。これにより、シークレット作成をブロックする失敗閉鎖の検証Webhookが新しいノードがクラスターに参加してWebhookポッドを実行するまで利用できない場合に発生する可能性のあるデッドロックが解消されます。
- バンドルされたcontainerdのaufs/devmapper/zfsスナップショットプラグインが復元されました。これらは、前回のリリースでcontainerdをk3sマルチコールバイナリに戻す際に意図せず省略されました。
- 組み込みのhelmコントローラーがv0.15.0にバンプされ、ターゲットネームスペースが存在しない場合にチャートのターゲットネームスペースを作成することをサポートするようになりました。
- 未使用のlibvirt設定を削除 (#7759)
- Makefileにフォーマットコマンドを追加 (#7764)
- Kubernetesをv1.24.15に更新 (#7785)
リリース v1.24.14+k3s1
このリリースはKubernetesをv1.24.14に更新し、多くの問題を修正します。
新機能の詳細については、Kubernetesリリースノートを参照してください。
v1.24.13+k3s1以降の変更点:
- DroneでE2Eテストを追加 (#7376)
- etc-snapshotサーバーフラグの統合テストを追加 (#7379)
- CLI + 設定の強化 (#7407)
--Tls-sans
は複数の引数を受け入れるようになりました:--tls-sans="foo,bar"
Prefer-bundled-bin: true
はconfig.yaml.d
ファイルに設定された場合に正しく動作するようになりました。
- netutilメソッドを/utils/net.goに移行 (#7435)
- CVE修正のためにRunc + Containerd + Dockerをバンプ (#7453)
- ポート名が使用される場合のバグを修正するためにkube-routerバージョンをバンプ (#7462)
- Kubeフラグとlonghornテスト1.24 (#7467)
- ローカルストレージ: 権限を修正 (#7472)
- バージョンバンプとバグ修正のバックポート (#7516)
- K3sは、etcdから「too many learners」エラーを受け取ったときにクラスター参加操作を再試行するようになりました。これは、複数のサーバーを同時に追加しようとしたときに最も頻繁に発生しました。
- K3sは再びページサイズ> 4kのaarch64ノードをサポートします。
- パッケージされたTraefikバージョンがv2.9.10 / チャート21.2.0にバンプされました。
- K3sは、
noexec
でマウントされたファイルシステムから実行しようとしたときに、より意味のあるエラーを表示するようになりました。 - K3sは、サーバートークンがブートストラップトークン
id.secret
形式を使用している場合に適切なエラーメッセージで終了するようになりました。 - Addon、HelmChart、およびHelmChartConfig CRDが構造的スキーマなしで作成され、これらのタイプのカスタムリソースを無効な内容で作成できる問題を修正しました。
- (実験的な) --disable-agentフラグで開始されたサーバーは、トンネル認証エージェントコンポーネントを実行しようとしなくなりました。
- Podおよびクラスターのイグレスセレクターモードが正しく機能しない問題を修正しました。
- K3sは、管理されたetcdノードを再起動するときにクラスターブートストラップデータを抽出するために使用される一時的なetcdにetcd-argsを正しく 渡すようになりました。
- K3sは、新しいサーバーが管理されたetcdクラスターに参加するときに現在のetcdクラスターメンバーリストを取得する際のエラーを適切に処理するようになりました。
- 組み込みのkineバージョンがv0.10.1にバンプされました。これにより、従来の
lib/pq
postgresドライバーがpgx
に置き換えられました。 - バンドルされたCNIプラグインがv1.2.0-k3s1にアップグレードされました。バンドルにはbandwidthおよびfirewallプラグインが含まれています。
- 組み込みのHelmコントローラーは、シークレットに保存された資格情報を介してチャートリポジトリに認証すること、およびConfigMapを介してリポCAを渡すことをサポートするようになりました。
- containerd/runcをv1.7.1-k3s1/v1.1.7にバンプ (#7536)
- バンドルされたcontainerdおよびruncバージョンがv1.7.1-k3s1/v1.1.7にバンプされました。
- netpolからのエラーをラップ (#7549)
- v1.24.14-k3s1に更新 (#7577)
リリース v1.24.13+k3s1
このリリースはKubernetesをv1.24.13に更新し、多くの問題を修正します。
新機能 の詳細については、Kubernetesリリースノートを参照してください。
v1.24.12+k3s1以降の変更点:
check-config
を強化 (#7165)- 廃止されたnodeSelectorラベルbeta.kubernetes.io/osを削除 (#6970) (#7122)
- バージョンバンプとバグ修正のバックポート (#7229)
- バンドルされたlocal-path-provisionerバージョンがv0.0.24にバンプされました。
- 同梱の runc バージョンが v1.1.5 にバンプされました
- 同梱の coredns バージョンが v1.10.1 にバンプされました
- 外部データストアを使用する場合、K3s は初期クラスターのブートストラップデータを作成する際にブートストラップキーをロックし、複数のサーバーが同時にクラスターを初期化しようとする際の競合状態を防ぎます。
- アクティブなサーバーノードへの接続を維持するクライアントロードバランサーは、サーバーがクラスターから削除されたときに接続を閉じるようになりました。これにより、エージェントコンポーネントが直ちに現在のクラスターのメンバーに再接続することが保証されます。
- クラスターリセット中の競合状態を修正し、操作がハングしてタイムアウトする可能性を防ぎました。
- デフォルトの ACCEPT ルールをチェーンの最後に移動するように kube-router を更新しました (#7222)
- 埋め込みの kube-router コントローラーが更新され、ホスト上のデフォルトのドロップ/拒否ルールによってポッドからのトラフィックがブロックされる回帰を修正しました。ユーザーは依然として外部で管理されているファイアウォールルールがポッドおよびサービスネットワークへの/からのトラフィックを明示的に許可することを確認する必要がありますが、これは一部のユーザーが依存していた以前の動作に戻ります。
- klipper lb と helm-controller を更新しました (#7241)
- Kube-router の ACCEPT ルール挿入とインストールスクリプトを更新し、開始前にルールをクリーンアップするようにしました (#7277)
- 埋め込みの kube-router コントローラーが更新され、ホスト上のデフォルトのドロップ/拒否ルールによってポッドからのトラフィックがブロックされる回帰を修正しました。ユーザーは依然として外部で管理されているファイアウォールルールがポッドおよびサービスネットワークへの/からのトラフィックを明示的に許可することを確認する必要がありますが、これは一部のユーザーが依存していた以前の動作に戻ります。
- v1.24.13-k3s1 に更新しました (#7284)
リリース v1.24.12+k3s1
このリリースは Kubernetes を v1.24.12 に更新し、多くの問題を修正します。
新機能の詳細については、Kubernetes リリースノート を参照してください。
v1.24.11+k3s1 からの変更点:
- flannel と kube-router を更新しました (#7063)
- CVE のためにさまざまな依存関係をバンプしました (#7042)
- dependabot を有効にしました (#7046)
- kubelet ポートが準備完了になるのを待ってから設定するようにしました (#7065)
- エージェントトンネル認証者は、kubelet ポートをノードオブジェクトから読み取る前に kubelet が準備完 了になるのを待つようになりました。
- デフォルトの自己署名証明書のローテーションサポートを改善しました (#7080)
k3s certificate rotate-ca
チェックは、--force
オプションなしで自己署名証明書のローテーションをサポートするようになりました。
- containerd config.toml ファイルの編集に関する警告を追加しました (#7076)
- v1.24.12-k3s1 に更新しました (#7105)
リリース v1.24.11+k3s1
このリリースは Kubernetes を v1.24.11 に更新し、多くの問題を修正します。
新機能の詳細については、Kubernetes リリースノート を参照してください。
v1.24.10+k3s1 からの変更点:
- スケジュールされたスナップショットにジッターを追加し、競合時に再試行を強化しました (#6783)
- スケジュールされた etcd スナップショットは、数秒以内の短いランダムな遅延によってオフセットされるようになりました。これにより、複数サーバークラスターがスナップショットリスト ConfigMap を同時に更新しようとする際の病理的な動作を防ぐことができます。スナップショットコントローラーは、スナップショットリストの更新を試みる際により粘り強くなります。
- cri-dockerd をバンプしました (#6799)
- 埋め込みの cri-dockerd が v0.3.1 に更新されました
- バグ修正: pprof が有効な場合に cert-manager を壊さないようにしました (#6838)
- vagrant ボックスを fedora37 にバンプしました (#6859)
- cronjob の例を修正しました (#6865)
- フラグタイプの一貫性を確保しました (#6868)
- cri-dockerd ソケットを待機するようにしました (#6854)
- E2E テストを統合しました (#6888)
- シークレットの再暗号化時に値の競合を無視するようにしました (#6918)
- ServiceLB が
ExternalTrafficPolicy=Local
を尊重するようにしました (#6908)- ServiceLB は、サービスの ExternalTrafficPolicy を尊重するようになりました。Local に設定されている場合、ロードバランサーはサービスのポッドを持つノードのアドレスのみを広告し、他のクラスター メンバーにトラフィックを転送しません。
- kubernetes サービスアドレスを SAN リストに追加する際にデフォルトのアドレスファミリを使用するようにしました (#6905)
- apiserver 広告アドレスと IP SAN エントリは、デフォルトの IP ファミリとして IPv6 を使用するクラスターで正しく設定されるようになりました。
- servicelb の起動失敗時に検証 webhook が作成をブロックする問題を修正しました (#6920)
- 埋め込みのクラウドコントローラーマネージャーは、起動時に無条件に名前空間とサービスアカウントを再作成しようとしなくなりました。これにより、フェイルクローズドの webhook が使用されている場合にデッドロッククラスターが発生する問題が解決されます。
- ユーザー提供の CA 証明書と
kubeadm
ブートストラップトークンのサポートをバックポートしました (#6930)- K3s は、クラスター CA 証明書が既存のルートまたは中間 CA によって署名されてい る場合に正しく機能するようになりました。K3s が開始する前にそのような証明書を生成するためのサンプルスクリプトは、github リポジトリの contrib/util/certs.sh にあります。
- K3s は
kubeadm
スタイルの参加トークンをサポートするようになりました。k3s token create
は、オプションで制限付き TTL を持つ参加トークンシークレットを作成するようになりました。 - 期限切れまたは削除されたトークンで参加した K3s エージェントは、ノードオブジェクトがクラスターから削除されない限り、NodeAuthorization アドミッションプラグインを介して既存のクライアント証明書を使用してクラスターに留まります。
- egress-selector-mode=agent の場合に NodeIP 上の hostNetwork ポートへのアクセスを修正しました (#6937)
- apiserver egress プロキシが、エージェントまたは無効モードでもサービスエンドポイントに接続するためにエージェントトンネルを使用しようとする問題を修正しました。
- flannel を v0.21.1 に更新しました (#6925)
- 複数のリーダー選出コントローラーセットを許可するようにしました (#6942)
- 管理された etcd のリーダー選出コントローラーが etcd 専用ノードで実行されない問題を修正しました
- etcd と ca-cert のローテーション問題を修正しまし た (#6955)
- ServiceLB のデュアルスタックインバウンド IP リストの問題を修正しました (#6988)
- ServiceLB がノードの IPv6 アドレスを広告する問題を解決しました。クラスターまたはサービスがデュアルスタック操作を有効にしていない場合でも発生していました。
- kine を v0.9.9 にバンプしました (#6976)
- 埋め込みの kine バージョンが v0.9.9 にバンプされました。コンパクションログメッセージは、可視性を高めるために
info
レベルで省略されるようになりました。
- 埋め込みの kine バージョンが v0.9.9 にバンプされました。コンパクションログメッセージは、可視性を高めるために
- v1.24.11-k3s1 に更新しました (#7009)
リリース v1.24.10+k3s1
このリリースは Kubernetes を v1.24.10+k3s1 に更新し、多くの問題を修正します。
新機能の詳細については、Kubernetes リリースノート を参照してください。