1.8.14. ノード
- このアップデート以前は、動的システム予約割り当てが有効になっているノード (4.21 以降にインストールされたすべてのワーカーを含む) は、ノードのメモリーが 8 GiB しかない場合 (OpenShift Container Platform でサポートされている最小ワーカーサイズとして記載されている値) はスケールダウンできませんでした。今回のリリースでは、メモリー予約のスケーリングでは最初の 8 GiB のうち 1 GiB、次の 120 GiB のうち 6%、残りのメモリー全体の 2% のみが予約されます。その結果、8 GiB という小さなノードも自動スケーリングによって適切に削除されます。(OCPBUGS-75869)
-
今回のアップデート以前は、コンテナー停止パスで競合状態が発生し、最初の呼び出したすでに完了して、内部の停止チャネルを終了した後に 2 番目の
StopContainerの呼び出しが到着すると、CRI-O が "send on closed channel" メッセージでパニックを起こす可能性がありました。その結果、CRI-O プロセスがクラッシュし、Pod が終了状態のままになることがありました。今回のリリースでは、WaitOnStopTimeoutメソッドにstopDoneガードが追加され、停止ライフサイクルが完了した後、早期にメソッドが戻るようになりました。その結果、同時実行されるStopContainer呼び出しは、閉じられたチャネルにメッセージを送信したことが原因でパニックを引き起こすことはありません。(OCPBUGS-76415) - 今回のアップデート以前は、Tekton Pipelines の初期化コンテナーが CRI-O で終了コードを取得するには処理が速すぎたため、高性能環境で断続的な障害が発生していました。その結果、これらの非決定論的なパイプライン障害が発生した。今回のリリースでは、高速に完了する初期化コンテナーにおける CRI-O の終了コード処理が改善されています。その結果、高性能な Tekton Pipelines は、init コンテナーにおける非決定的な終了コードの問題が原因で断続的に失敗することがなくなりました。(OCPBUGS-82162)
-
今回のアップデート以前は、アップグレード中やネットワーク負荷時などに、API サーバーが一時的に利用不能になったことが原因で
パフォーマンスプロファイルの状態が更新されず、プロファイルが劣化状態のままになる可能性がありました。その結果、クラスターが正常な状態に戻った後でも、オペレータが次の調整イベントまで再試行しないため、劣化状態が解消されずに放置される可能性があります。このアップデートにより、オペレーターはステータス更新が成功するまで再試行をスケジュールし、約 30 秒ごとに再試行します。その結果、スタックした劣化状態は一時的なものであり、次回の再試行時に自動的に解消されます。(OCPBUGS-62277) -
以前は、
MachineConfigPoolリソースが一時停止されると、NUMA Resources Operator が無限のリコンシリエーションループに陥る可能性がありました。これにより、一時停止中のプールに関連付けられていないノードグループも含め、すべてのノードグループが更新を完了できなくなりました。今回のアップデートにより、一時停止中のMachineConfigPoolリソースがオペレーターの動作を妨げなくなり、一時停止されていないプールによってサポートされているノードグループは引き続き正常に調整されます。さらに、NUMAResourcesOperatorカスタムリソースのステータスにMachineConfigPoolPaused状態が報告されるようになり、どのプールが一時停止していて、注意が必要かがわかるようになりました。その結果、カナリアアップグレードなど、一時停止中のMachineConfigPoolリソースを含むワークフローによって NUMA Resources Operator が停止することはなくなりました。(OCPBUGS-84690)