第3章 Custom Metrics Autoscaler Operator を使用した Pod の自動スケーリング
3.1. リリースノート
3.1.1. Custom Metrics Autoscaler Operator リリースノート
Red Hat OpenShift の Custom Metrics Autoscaler Operator のリリースノートでは、新機能および拡張機能、非推奨となった機能、および既知の問題を説明しています。
Custom Metrics Autoscaler Operator は、Kubernetes ベースの Event Driven Autoscaler (KEDA) を使用し、OpenShift Container Platform の Horizontal Pod Autoscaler (HPA) の上に構築されます。
Red Hat OpenShift の Custom Metrics Autoscaler Operator のロギングサブシステムは、インストール可能なコンポーネントとして提供され、コアの OpenShift Container Platform とは異なるリリースサイクルを備えています。Red Hat OpenShift Container Platform ライフサイクルポリシー はリリースの互換性を概説しています。
3.1.1.1. サポート対象バージョン
以下の表は、各 OpenShift Container Platform バージョンの Custom Metrics Autoscaler Operator バージョンを定義しています。
バージョン | OpenShift Container Platform バージョン | 一般公開 |
---|---|---|
2.14.1 | 4.16 | 一般公開 |
2.14.1 | 4.15 | 一般公開 |
2.14.1 | 4.14 | 一般公開 |
2.14.1 | 4.13 | 一般公開 |
2.14.1 | 4.12 | 一般公開 |
3.1.1.2. Custom Metrics Autoscaler Operator 2.14.1-467 リリースノート
Custom Metrics Autoscaler Operator 2.14.1-467 のこのリリースでは、OpenShift Container Platform クラスターで Operator を実行するための CVE とバグ修正が提供されています。RHSA-2024:7348 に関する次のアドバイザリーが利用可能です。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの Kubernetes ベースの Event Driven Autoscaler (KEDA) を削除します。
3.1.1.2.1. バグ修正
- 以前は、Custom Metrics Autoscaler Operator Pod のルートファイルシステムが書き込み可能でした。これは不要であり、セキュリティー上の問題を引き起こす可能性がありました。この更新により、Pod のルートファイルシステムが読み取り専用になり、潜在的なセキュリティー問題が解決されました。(OCPBUGS-37989)
3.1.2. Custom Metrics Autoscaler Operator の過去リリースに関するリリースノート
次のリリースノートは、以前の Custom Metrics Autoscaler Operator バージョンを対象としています。
現在のバージョンについては、Custom Metrics Autoscaler Operator リリースノート を参照してください。
3.1.2.1. Custom Metrics Autoscaler Operator 2.14.1-454 リリースノート
この Custom Metrics Autoscaler Operator 2.14.1-454 リリースでは、OpenShift Container Platform クラスターで Operator を実行するための CVE、新機能、およびバグ修正を使用できます。RHBA-2024:5865 に関する次のアドバイザリーが利用可能です。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの Kubernetes ベースの Event Driven Autoscaler (KEDA) を削除します。
3.1.2.1.1. 新機能および機能拡張
3.1.2.1.1.1. Custom Metrics Autoscaler Operator による Cron トリガーのサポート
Custom Metrics Autoscaler Operator が、Cron トリガーを使用して、時間単位のスケジュールに基づいて Pod をスケーリングできるようになりました。指定した時間枠が開始すると、Custom Metrics Autoscaler Operator が Pod を必要な数にスケーリングします。時間枠が終了すると、Operator は以前のレベルまでスケールダウンします。
詳細は、Cron トリガーについて を参照してください。
3.1.2.1.2. バグ修正
-
以前は、
KedaController
カスタムリソースの監査設定パラメーターに変更を加えても、keda-metrics-server-audit-policy
config map が更新されませんでした。その結果、Custom Metrics Autoscaler の初期デプロイ後に監査設定パラメーターを変更することができませんでした。この修正により、監査設定への変更が config map に適切に反映されるようになり、インストール後いつでも監査設定を変更できるようになりました。(OCPBUGS-32521)
3.1.2.2. Custom Metrics Autoscaler Operator 2.13.1 リリースノート
Custom Metrics Autoscaler Operator 2.13.1-421 のこのリリースでは、OpenShift Container Platform クラスターで Operator を実行するための新機能およびバグ修正が提供されています。RHBA-2024:4837 に関する次のアドバイザリーが利用可能です。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの Kubernetes ベースの Event Driven Autoscaler (KEDA) を削除します。
3.1.2.2.1. 新機能および機能拡張
3.1.2.2.1.1. Custom Metrics Autoscaler Operator によるカスタム証明書のサポート
Custom Metrics Autoscaler Operator は、カスタムサービス CA 証明書を使用して、外部 Kafka クラスターや外部 Prometheus サービスなどの TLS 対応メトリクスソースに安全に接続できるようになりました。デフォルトでは、Operator は自動生成されたサービス証明書を使用して、クラスター上のサービスにのみ接続します。KedaController
オブジェクトには、config map を使用して外部サービスに接続するためのカスタムサーバー CA 証明書を読み込むことができる新しいフィールドがあります。
詳細は、Custom Metrics Autoscaler のカスタム CA 証明書 を参照してください。
3.1.2.2.2. バグ修正
-
以前は、
custom-metrics-autoscaler
およびcustom-metrics-autoscaler-adapter
イメージにタイムゾーン情報がありませんでした。その結果、コントローラーがタイムゾーン情報を見つけられなかったため、cron
トリガーを使用した scaled object は機能しなくなりました。この修正により、Image Build が更新され、タイムゾーン情報が含まれるようになりました。その結果、cron
トリガーを含む scaled object が正常に機能するようになりました。cron
トリガーを含むスケールされたオブジェクトは現在、カスタムメトリクスオートスケーラーではサポートされていません。(OCPBUGS-34018)
3.1.2.3. Custom Metrics Autoscaler Operator 2.12.1-394 リリースノート
Custom Metrics Autoscaler Operator 2.12.1-394 のこのリリースでは、OpenShift Container Platform クラスターで Operator を実行するためのバグ修正が提供されています。RHSA-2024:2901 には、次のアドバイザリーを利用できます。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの Kubernetes ベースの Event Driven Autoscaler (KEDA) を削除します。
3.1.2.3.1. バグ修正
-
以前は、
protojson.Unmarshal
関数は、特定の形式の無効な JSON をアンマーシャリングするときに無限ループに入りました。この状態は、google.protobuf.Any
値を含むメッセージにアンマーシャリングするとき、またはUnmarshalOptions.DiscardUnknown
オプションが設定されているときに発生する可能性があります。このリリースではこの問題が修正されています。(OCPBUGS-30305) -
以前は、
Request.ParseMultipartForm
メソッドを使用して明示的に、またはRequest.FormValue
、Request.PostFormValue
、Request.FormFile
メソッドを使用して暗黙的にマルチパートフォームを解析する場合、解析されたフォームの合計サイズの制限は、消費されるメモリーには適用されませんでした。これによりメモリー不足が発生する可能性があります。この修正により、解析プロセスでは、単一のフォーム行を読み取る際に、フォーム行の最大サイズが正しく制限されるようになりました。(OCPBUGS-30360) -
以前は、一致するサブドメイン上または最初のドメインと完全に一致しないドメインへの HTTP リダイレクトに従う場合、HTTP クライアントは
Authorization
やCookie
などの機密ヘッダーを転送しませんでした。たとえば、example.com
からwww.example.com
へのリダイレクトではAuthorization
ヘッダーが転送されますが、www.example.org
へのリダイレクトではヘッダーは転送されません。このリリースではこの問題が修正されています。(OCPBUGS-30365) -
以前は、不明な公開鍵アルゴリズムを持つ証明書を含む証明書チェーンを検証すると、証明書検証プロセスがパニックに陥っていました。この状況は、
Config.ClientAuth
パラメーターをVerifyClientCertIfGiven
またはRequireAndVerifyClientCert
値に設定するすべての暗号化および Transport Layer Security (TLS) クライアントとサーバーに影響しました。デフォルトの動作では、TLS サーバーはクライアント証明書を検証しません。このリリースではこの問題が修正されています。(OCPBUGS-30370) -
以前は、
MarshalJSON
メソッドから返されるエラーにユーザーが制御するデータが含まれている場合、攻撃者はそのデータを使用して HTML テンプレートパッケージのコンテキスト自動エスケープ動作を破ることができた可能性があります。この条件により、後続のアクションによってテンプレートに予期しないコンテンツが挿入される可能性があります。このリリースではこの問題が修正されています。(OCPBUGS-30397) -
以前は、Go パッケージ
net/http
およびgolang.org/x/net/http2
では、HTTP/2 リクエストのCONTINUATION
フレームの数に制限がありませんでした。この状態により、CPU が過剰に消費される可能性があります。このリリースではこの問題が修正されています。(OCPBUGS-30894)
3.1.2.4. Custom Metrics Autoscaler Operator 2.12.1-384 リリースノート
Custom Metrics Autoscaler Operator 2.12.1-384 のこのリリースでは、OpenShift Container Platform クラスターで Operator を実行するためのバグ修正が提供されています。RHBA-2024:2043 に関する次のアドバイザリーが利用可能です。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの KEDA を削除します。
3.1.2.4.1. バグ修正
-
以前は、
custom-metrics-autoscaler
およびcustom-metrics-autoscaler-adapter
イメージにタイムゾーン情報がありませんでした。その結果、コントローラーがタイムゾーン情報を見つけられなかったため、cron
トリガーを使用した scaled object は機能しなくなりました。この修正により、Image Build が更新され、タイムゾーン情報が含まれるようになりました。その結果、cron
トリガーを含む scaled object が正常に機能するようになりました。(OCPBUGS-32395)
3.1.2.5. Custom Metrics Autoscaler Operator 2.12.1-376 リリースノート
Custom Metrics Autoscaler Operator 2.12.1-376 のこのリリースでは、OpenShift Container Platform クラスターで Operator を実行するためのセキュリティー更新とバグ修正が提供されます。RHSA-2024:1812 には、次のアドバイザリーを利用できます。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの KEDA を削除します。
3.1.2.5.1. バグ修正
- 以前は、存在しない namespace などの無効な値が scaled object メタデータに指定されている場合、基盤となるスケーラークライアントはクライアント記述子を解放または終了できず、低速のメモリーリークが発生していました。この修正により、エラーが発生した場合に基礎となるクライアント記述子が適切に終了され、メモリーのリークが防止されます。(OCPBUGS-30145)
-
以前は、
keda-metrics-apiserver
Pod のServiceMonitor
カスタムリソース (CR) が機能していませんでした。これは、CR がhttp
という誤ったメトリクスポート名を参照していたためです。この修正により、ServiceMonitor
CR が修正され、metrics
の適切なポート名が参照されるようになります。その結果、Service Monitor が正常に機能します。(OCPBUGS-25806)
3.1.2.6. Custom Metrics Autoscaler Operator 2.11.2-322 リリースノート
Custom Metrics Autoscaler Operator 2.11.2-322 のこのリリースでは、OpenShift Container Platform クラスターで Operator を実行するためのセキュリティー更新とバグ修正が提供されます。RHSA-2023:6144 には、次のアドバイザリーを利用できます。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの KEDA を削除します。
3.1.2.6.1. バグ修正
- Custom Metrics Autoscaler Operator バージョン 3.11.2-311 は、Operator デプロイメントで必要なボリュームマウントなしにリリースされたため、Custom Metrics Autoscaler Operator Pod は 15 分ごとに再起動しました。この修正により、必要なボリュームマウントが Operator デプロイメントに追加されました。その結果、Operator は 15 分ごとに再起動しなくなりました。(OCPBUGS-22361)
3.1.2.7. Custom Metrics Autoscaler Operator 2.11.2-311 リリースノート
この Custom Metrics Autoscaler Operator 2.11.2-311 リリースでは、OpenShift Container Platform クラスターで Operator を実行するための新機能とバグ修正を使用できます。Custom Metrics Autoscaler Operator 2.11.2-311 のコンポーネントは RHBA-2023:5981 でリリースされました。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの KEDA を削除します。
3.1.2.7.1. 新機能および機能拡張
3.1.2.7.1.1. Red Hat OpenShift Service on AWS (ROSA) と OpenShift Dedicated がサポートされるようになりました
Custom Metrics Autoscaler Operator 2.11.2-311 は、OpenShift ROSA および OpenShift Dedicated マネージドクラスターにインストールできます。Custom Metrics Autoscaler Operator の以前のバージョンは、openshift-keda
namespace にのみインストールできました。これにより、Operator を OpenShift ROSA クラスターおよび OpenShift Dedicated クラスターにインストールできなくなりました。このバージョンの Custom Metrics Autoscaler では、openshift-operators
や keda
などの他の namespace へのインストールが可能になり、ROSA クラスターや Dedicated クラスターへのインストールが可能になります。
3.1.2.7.2. バグ修正
-
以前は、Custom Metrics Autoscaler Operator がインストールおよび設定されているが使用されていない場合、OpenShift CLI では、
oc
コマンドを入力すると、couldn’t get resource list for external.metrics.k8s.io/v1beta1: Got empty response for: external.metrics.k8s.io/v1beta1
エラーが報告されていました。このメッセージは無害ではありますが、混乱を引き起こす可能性がありました。この修正により、Got empty response for: external.metrics…
エラーが不適切に表示されなくなりました。(OCPBUGS-15779) - 以前は、設定変更後など、Keda Controller が変更されるたびに、Custom Metrics Autoscaler Operator によって管理されるオブジェクトに対するアノテーションやラベルの変更は、Custom Metrics Autoscaler Operator によって元に戻されました。これにより、オブジェクト内のラベルが継続的に変更されてしまいました。Custom Metrics Autoscaler は、独自のアノテーションを使用してラベルとアノテーションを管理するようになり、アノテーションやラベルが不適切に元に戻されることがなくなりました。(OCPBUGS-15590)
3.1.2.8. Custom Metrics Autoscaler Operator 2.10.1-267 リリースノート
この Custom Metrics Autoscaler Operator 2.10.1-267 リリースでは、OpenShift Container Platform クラスターで Operator を実行するための新機能とバグ修正を使用できます。Custom Metrics Autoscaler Operator 2.10.1-267 のコンポーネントは RHBA-2023:4089 でリリースされました。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの KEDA を削除します。
3.1.2.8.1. バグ修正
-
以前は、
custom-metrics-autoscaler イメージ
とcustom-metrics-autoscaler-adapter
イメージにはタイムゾーン情報が含まれていませんでした。このため、コントローラーがタイムゾーン情報を見つけることができず、cron トリガーを使用してスケーリングされたオブジェクトが機能しませんでした。今回の修正により、イメージビルドにタイムゾーン情報が含まれるようになりました。その結果、cron トリガーを含むスケールされたオブジェクトが適切に機能するようになりました。(OCPBUGS-15264) -
以前のバージョンでは、Custom Metrics Autoscaler Operator は、他の namespace 内のオブジェクトやクラスタースコープのオブジェクトを含む、すべてのマネージドオブジェクトの所有権を取得しようとしていました。このため、Custom Metrics Autoscaler Operator は API サーバーに必要な認証情報を読み取るためのロールバインディングを作成できませんでした。これにより、
kube-system
namespace でエラーが発生しました。今回の修正により、Custom Metrics Autoscaler Operator は、別の namespace 内のオブジェクトまたはクラスタースコープのオブジェクトへのownerReference
フィールドの追加をスキップします。その結果、ロールバインディングがエラーなしで作成されるようになりました。(OCPBUGS-15038) -
以前のバージョンでは、Custom Metrics Autoscaler Operator は、
ownshift-keda
namespace にownerReferences
フィールドを追加しました。これによって機能上の問題が発生することはありませんでしたが、このフィールドの存在によりクラスター管理者が混乱する可能性がありました。今回の修正により、Custom Metrics Autoscaler Operator はownerReference
フィールドをopenshift-keda
namespace に追加しなくなりました。その結果、openshift-keda
namespace には余分なownerReference
フィールドが含まれなくなりました。(OCPBUGS-15293) -
以前のバージョンでは、Pod ID 以外の認証方法で設定された Prometheus トリガーを使用し、
podIdentity
パラメーターがnone
に設定されている場合、トリガーはスケーリングに失敗しました。今回の修正により、OpenShift の Custom Metrics Autoscaler は、Pod ID プロバイダータイプnone
を適切に処理できるようになりました。その結果、Pod ID 以外の認証方法で設定され、podIdentity
パラメーターがnone
に設定された Prometheus トリガーが適切にスケーリングされるようになりました。(OCPBUGS-15274)
3.1.2.9. Custom Metrics Autoscaler Operator 2.10.1 リリースノート
この Custom Metrics Autoscaler Operator 2.10.1 リリースでは、OpenShift Container Platform クラスターで Operator を実行するための新機能とバグ修正を使用できます。Custom Metrics Autoscaler Operator 2.10.1 のコンポーネントは RHEA-2023:3199 でリリースされました。
このバージョンの Custom Metrics Autoscaler Operator をインストールする前に、以前にインストールされたテクノロジープレビューバージョンまたはコミュニティーがサポートするバージョンの KEDA を削除します。
3.1.2.9.1. 新機能および機能拡張
3.1.2.9.1.1. Custom Metrics Autoscaler Operator の一般提供
Custom Metrics Autoscaler Operator バージョン 2.10.1 以降で、Custom Metrics Autoscaler Operator の一般提供が開始されました。
スケーリングされたジョブを使用したスケーリングはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
3.1.2.9.1.2. パフォーマンスメトリクス
Prometheus Query Language (PromQL) を使用して、Custom Metrics Autoscaler Operator でメトリクスのクエリーを行えるようになりました。
3.1.2.9.1.3. スケーリングされたオブジェクトのカスタムメトリクス自動スケーリングの一時停止
必要に応じてスケーリングされたオブジェクトの自動スケーリングを一時停止し、準備ができたら再開できるようになりました。
3.1.2.9.1.4. スケーリングされたオブジェクトのレプリカフォールバック
スケーリングされたオブジェクトがソースからメトリクスを取得できなかった場合に、フォールバックするレプリカの数を指定できるようになりました。
3.1.2.9.1.5. スケーリングされたオブジェクトのカスタマイズ可能な HPA 命名
スケーリングされたオブジェクトで、水平 Pod オートスケーラーのカスタム名を指定できるようになりました。
3.1.2.9.1.6. アクティブ化およびスケーリングのしきい値
水平 Pod オートスケーラー (HPA) は 0 レプリカへの、または 0 レプリカからのスケーリングができないため、Custom Metrics Autoscaler Operator がそのスケーリングを実行し、その後 HPA がスケーリングを実行します。レプリカの数に基づき HPA が自動スケーリングを引き継ぐタイミングを指定できるようになりました。これにより、スケーリングポリシーの柔軟性が向上します。
3.1.2.10. Custom Metrics Autoscaler Operator 2.8.2-174 リリースノート
この Custom Metrics Autoscaler Operator 2.8.2-174 リリースでは、OpenShift Container Platform クラスターで Operator を実行するための新機能とバグ修正を使用できます。Custom Metrics Autoscaler Operator 2.8.2-174 のコンポーネントは RHEA-2023:1683 でリリースされました。
Custom Metrics Autoscaler Operator バージョン 2.8.2-174 は、テクノロジープレビュー 機能です。
3.1.2.10.1. 新機能および機能拡張
3.1.2.10.1.1. Operator のアップグレードサポート
以前の Custom Metrics Autoscaler Operator バージョンからアップグレードできるようになりました。Operator のアップグレードの詳細は、関連情報の「Operator の更新チャネルの変更」を参照してください。
3.1.2.10.1.2. must-gather サポート
OpenShift Container Platform must-gather
ツールを使用して、Custom Metrics Autoscaler Operator およびそのコンポーネントに関するデータを収集できるようになりました。現時点で、Custom Metrics Autoscaler で must-gather
ツールを使用するプロセスは、他の Operator とは異なります。詳細は、関連情報の「デバッグデータの収集」を参照してください。
3.1.2.11. Custom Metrics Autoscaler Operator 2.8.2 リリースノート
Custom Metrics Autoscaler Operator 2.8.2 のこのリリースは、OpenShift Container Platform クラスターで Operator を実行するための新機能とバグ修正を提供します。Custom Metrics Autoscaler Operator 2.8.2 のコンポーネントは RHSA-2023:1042 でリリースされました。
Custom Metrics Autoscaler Operator バージョン 2.8.2 は テクノロジープレビュー 機能です。
3.1.2.11.1. 新機能および機能拡張
3.1.2.11.1.1. 監査ロギング
Custom Metrics Autoscaler Operator とその関連コンポーネントの監査ログを収集して表示できるようになりました。監査ログは、システムに影響を与えた一連のアクティビティーを個別のユーザー、管理者その他システムのコンポーネント別に記述したセキュリティー関連の時系列のレコードです。
3.1.2.11.1.2. Apache Kafka メトリクスに基づくアプリケーションのスケーリング
KEDA Apache kafka トリガー/スケーラーを使用して、Apache Kafka トピックに基づいてデプロイメントをスケーリングできるようになりました。
3.1.2.11.1.3. CPU メトリクスに基づくアプリケーションのスケーリング
KEDA CPU トリガー/スケーラーを使用して、CPU メトリクスに基づいてデプロイメントをスケーリングできるようになりました。
3.1.2.11.1.4. メモリーメトリクスに基づくアプリケーションのスケーリング
KEDA メモリートリガー/スケーラーを使用して、メモリーメトリクスに基づいてデプロイメントをスケーリングできるようになりました。