v0.26 リリース

公開日: 2021-10-05 、  更新日: 2023-08-03

Knative v0.26 リリースの発表

Knative の新しいバージョンが複数のコンポーネントで利用可能になりました。

それぞれのコンポーネントについては、ドキュメントの Knative のインストールの手順に従ってください。

目次

ハイライト

  • Kubernetes 1.20+ が必須になりました
  • Istio メッシュ互換モードの改善。
  • eventing kafka の新機能
  • 新しい CLI プラグインが利用可能
  • インストール オペレーターの多くの改善

Serving v0.26

🚨 破壊的または注目すべき変更

  • Kubernetes 1.20+ が必須になりました

💫 新機能と変更

  • ユーザーが container[*].securityContext.runAsGroup を設定できるようにする (#12003)
  • ネットワーク構成マップの新しい設定 mesh-compatibility-mode を使用すると、管理者は、アクティベーターとオートスケーラーに、Direct Pod IP (最も効率的ですが、メッシュが有効になっている場合は互換性がありません)、Cluster IP (効率は低いですが、メッシュが有効になっている場合は必要)、または自動検出 (現在の動作であり、デフォルトでは、アクティベーターとオートスケーラーが最初に Direct Pod IP 通信を試み、メッシュ関連のエラー ステータス コードが表示された場合は Cluster IP にフォールバックします) を明示的に指示できます。 (#11999)
  • バックグラウンド ダイジェスト リゾルバーにデバッグ ログを追加 (#11959)
  • キュープロキシの起動プローブを削除しました。これにより、ポッドの起動が平均で約 500 ミリ秒速くなります。 (#11965)
  • いくつかのリリースで非推奨になった RevisionStatus から ServiceName フィールドを削除します。このフィールドは事実上、リビジョン名と同じでした。 (#11817)
  • 有効にすると、キュー プロキシは各ポッドの要求数を追跡します (デフォルトでは無効)。(#11783)

🐞 バグ修正

  • probePeriod がゼロより大きい値に設定されたユーザー指定の readinessProbes は、ポッドの起動後にサイレントに無視されなくなりました。 (#11190)

Eventing v0.26

🚨 破壊的または注目すべき変更

  • Kubernetes 1.20+ が必須になりました

💫 新機能と変更

  • 新しい kreference-naming 実験的機能を追加します。有効にすると、デフォルトの Knative 参照リゾルバーの動作をオーバーライドできます。詳細については、ドキュメントを参照してください。(#5599)
  • heartbeats サンプル アプリは、期間の間隔として Golang スタイルの時間期間をサポートするようになりました (#5683)
  • 特定のチャネルからのデッド レター シンク CloudEvents には、失敗したイベントの元の宛先 URL を示す knativeerrordest 拡張属性が含まれます。(#5727)
  • イベント表示およびハートビート サンプル プログラムは、トレース エンドポイントが構成されている場合、トレースをトレース エンドポイントに送信します (#5631)
  • トレースは mtbroker コントローラーによってエクスポートされます (#5634)
  • トリガーは、配信パラメーター spec.delivery.timeout にタイムアウト フィールドを受け入れます (#5687)

🐞 バグ修正

  • CloudEvent 仕様で定義されている CloudEvent オーバーライドを検証します。(#5730)
  • DeadLetterSinkURI がトリガー ステータスに永続化されない問題を修正しました (#5642)

🧹 クリーンアップ

  • NewListableTracker は非推奨になりました。代わりに NewListableTrackerFromTracker を使用してください。(#5651)
  • app.kubernetes.io ラベルを採用しました (#5628)
  • ceOverrides のセマンティクスを明確にします (#5641)
  • ポストジョブは、保守されていないバージョン付きの名前ではなく、生成された名前を持つようになりました。(#5664)

Eventing 拡張機能

Apache Kafka ブローカー v0.26

🚨 破壊的または注目すべき変更
  • Kubernetes 1.20+ が必須になりました
🐞 バグ修正
  • フィールド Broker.spec.delivery.deadLetterSink.ref.namespace および Trigger.spec.delivery.deadLetterSink.ref.namespace はオプションです。デフォルトでは、コントローラーはオブジェクトの名前空間を使用します。(#1254)

Apache Kafka ソースとチャネル v0.26

💫 新機能と変更
  • KafkaChannel CRD 仕様に RetentionDuration フィールドが含まれるようになり、チャネルごとに保持を制御できます。このフィールドに入力して既存の KafkaChannel を移行するために、ポストインストール ジョブ (config/post-install/retentionupdate) が利用可能です。動作していなかった "topic" 構成のデフォルトは、config-kafka ConfigMap から削除されました。(#828)
  • KafkaChannel ConfigMap が、動的に生成されたリソースのカスタム ラベルとアノテーションをサポートするようになりました。(#806)
  • Kafkaソースにおいて、コンシューマーグループの初期オフセットを指定するオプションが提供されました。このフィールドは、コンシューマーグループに以前のオフセットがコミットされていない場合にのみ有効になります。(#779
  • KafkaSourceがceOverridesをサポートするようになりました。(#811
  • マルチテナントのKafkaSourceは、Kafkaソースのパーティション数に基づいて、最適な最大許容レプリカ数を計算します。これにより、スケジューラが計算された数よりも多くのvレプリカをスケジュールしないようにします。(#822
  • オートスケーリングのアノテーションをKafkaSourceオブジェクトに自動的に追加できるようになりました。詳細については、ドキュメントを参照してください。(#855
🐞 バグ修正
  • バグ修正:KafkaChannelのstatus.addressが不要になったため、初期段階のエラーの場合でも条件が正常に反映されるようになりました(#857
  • 紛らわしいエラーメッセージKafka source is not readyを削除しました。このエラーは、Kafkaソースに実際の問題があるかどうかに関わらずイベントとして返され、ユーザーは正当なエラーであるか、修正可能なエラーである場合を除き、このエラーメッセージを目にすべきではありません。(#809
  • マルチテナントソースのWebhookクラスターロールには、namespaces/finalizersに対する更新権限が付与されました。(#854
🧹 クリーンアップ
  • KafkaChannelおよびResetOffset specフィールドの固有の不変性が、kafka-webhookによって強制されるようになりました。(#863
  • 次世代のマルチテナントスケジューラとデスケジューラ:プラグインインターフェースを使用して、ポッドのフィルタリングとスコアリングを実行する述語と優先度を持つスケジューラプロファイルを指定し、最適なvレプリカ配置を計算します。オートスケーラーが新しいポッドを追加すると、スケジューラは新しいvレプリカとともに既に配置されているvレプリカのリバランスを実行します。vレプリカをスケールダウンして配置を削除する必要がある場合は、デスケジューラプロファイルをインストールする必要があります。(#768
  • 統合されたKafkaChannelディスパッチャは、コントローラーによって所有されるようになりました。(#798

Eventing Kogito v0.26

💫 新機能と変更点
  • 新しいKogito Source CRDを導入し、KogitoサービスへのK_SINK環境変数のサポートを追加しました。(#1

Client v0.26

💫 新機能と変更点

  • 関数作成/更新コマンドに--env-fileオプションを追加しました。(#1433
  • 新しいCLIプラグインkn-plugin-kamelet:KameletとKameletBindingsをKnativeイベントソースとして管理するためのKnative CLIプラグインです。最新リリースはこちらからダウンロードしてください。
    • 利用可能なKameletを一覧表示します
    • Kameletを記述し、詳細情報(プロバイダー、サポートレベル、プロパティなど)を出力します
    • KameletをKnativeシンク(ブローカー、チャネル、サービス)へのソースとしてバインドします
    • Kameletバインディングを一覧表示します
    • ソースをKnativeシンク(ブローカー、チャネル、サービス)にバインドするためのKameletバインディングを作成します
  • 新しいCLI実験的関数プラグインkn-plugin-func:最新リリースはこちらからダウンロードしてください。
  • 新しいCLI実験的クラウドイベントプラグインkn-plugin-event:最新リリースはこちらからダウンロードしてください。

🧹 クリーンアップ

  • DeprecatedImageDigestフィールドを削除しました。(#1454
  • client-go/util/retryから競合再試行ループを再利用しました。(#1441

Operator v0.26

💫 新機能と変更点

  • Istioの必須要件の欠落を検出し、Istio Gateway CRDをインストールするようにユーザーに提案します。(#697
  • COC、貢献ドキュメントを追加しました。(#790
  • サポートされていないHAのリストからpingsource-mt-adapterを削除しました。(#788
  • オペレーターによって管理されるすべてのデプロイメントに高可用性を適用しました。(#749
  • withのスペルミスを修正しました。(#781
  • spec.deployments.affinityのサポートを追加しました。(#777
  • 高可用性がより大きい数の場合、HPAのmaxReplicasを調整します。(#748
  • ラベルapp.kubernetes.io/versionのKnative Operatorを準備します。(#738
  • spec.deployments.tolerationsを介してTolerationsを設定できるようにしました。(#747
  • HAスケーリングからpingsourceを削除しました。(#740
  • 非推奨のenabledComponentsフィールドの設定を削除しました。(#735
  • hack/update-codegen.shでknative.dev/hack/codegen-library.shを使用します。(#734
  • イベントのハートビートを削除しました。(#792

🐞 バグ修正

  • spec.manifestsのインストールに関するエラーの問題を修正しました。(#750

コントリビューターの皆様、ありがとうございました。

詳細はこちら

Knativeは、コミュニティの誰もが利用、改善、そして楽しむことができるオープンソースプロジェクトです。ぜひご参加ください!

サイトのトラフィックを理解するために、アナリティクスとクッキーを使用しています。この目的のために、サイトの利用に関する情報はGoogleと共有されます。詳細はこちら。