v1.4 リリース

公開日:2022-04-26、改訂日:2023-08-03

Knative 1.4 リリース発表

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

必要なコンポーネントをインストールするには、Knative のインストールの手順に従ってください。

目次

ハイライト

  • サポートされる最小の Kubernetes バージョンは、1.22 になりました。

Serving v1.4

🚨 ブレーキング変更または注目点

  • サポートされる最小の Kubernetes バージョンは、1.22 になりました (#12753)
  • Horizontal Pod Autoscaler (HPA) を使用する場合、リビジョンは、初期スケール/最小スケール値に達した後にのみ準備済みとしてマークされます。たとえば、min-scale: "4" の場合、4 つのポッドすべてが準備済みになるまで、リビジョンは準備済みとしてマークされません。この変更後、リビジョンが準備済みになるまでに少し時間がかかる場合があります。詳細については、https://knative.dokyumento.jp/docs/serving/autoscaling/scale-bounds/ を参照してください。(#12811)

💫 新機能と変更点

  • DomainMapping CRD でサービスごとにデフォルトの HTTP 動作をオーバーライドするための注釈 'networking.knative.dev/http-protocol' をサポートします。(#12786)
  • v1.3 で非推奨になった serving.knative.dev/release ラベルが削除されました。app.kubernetes.io/name: knative-serving および app.kubernetes.io/version: $VERSION の使用に切り替えてください。(#12754)
  • ユーザーは、.spec.template.metadata.annotations 内で serving.knative.dev/progress-deadline アノテーションを設定することで、リビジョンごとの進捗期限を設定できます。(#12751)

🐞 バグ修正

  • アクティベータのパス内/外での迅速な交換を引き起こした構成の問題を修正するために、デフォルトの target-burst-capacity を 210 に変更しました。(#12774)
  • 正しい順序でリビジョンの削除を行う gc の修正 (#12752)
  • imagePullSecrets を使用する場合のタグからダイジェストへの解決の修正 (#12836)

Eventing v1.4

🚨 ブレーキング変更または注目すべき変更点

  • 最小の Kubernetes バージョンは 1.22 です。(#6280)
  • シュガーリコンサイラーは基本イベントコントローラーに統合され、2 つの LabelSelector フィールドによって制御されるようになりました。knative-eventing 名前空間の config-sugar ConfigMap 内の namespace-sugar-selector フィールドと trigger-sugar-selector フィールドを使用すると、Kubernetes LabelSelector を使用して、ブローカーがプロビジョニングされる名前空間またはトリガーをそれぞれ選択できます。

シュガーコントローラーの既存の使用を移行するには、次の手順を実行します。

  1. namespace-sugar-selector を次の値に設定します:matchExpressions

    • key: "eventing.knative.dev/injection" operator: "In" values: ["enabled"]
  2. trigger-sugar-selector を次の値に設定します:matchExpressions

    • key: "eventing.knative.dev/injection" operator: "In" values: ["enabled"]
  3. 以前のリリースで eventing-sugar-controller.yaml リソースによって定義された Deployment を削除します。(#6027)

💫 新機能と変更点

  • "config/channels/in-memory-channel/configmaps/observability.yaml" を "config/core/configmaps/observability.yaml" にシンボリックリンクすることで、複数の場所に存在していた observability.yaml config map の重複を削減しました。(#6301)
  • "config/channels/in-memory-channel/configmaps/tracing.yaml" を "config/core/configmaps/tracing.yaml" にシンボリックリンクすることで、複数の場所に存在していた tracing.yaml config map の重複を削減しました。(#6295)
  • sendevent ツールは Eventing コアの一部ではなくなりました。代替手段として kn プラグイン https://github.com/knative-extensions/kn-plugin-event があります。(#6284)

🐞 バグ修正

  • Channel ステータスにデッドレターシンクURIを設定しました。(#6256)
  • MTChannelBroker は、他のブローカー実装と共存できるようになりました。(#6265)
  • inmemorychannel のディスパッチャー用に作成されたサービスには、他のサービスと同様にポートが定義されます。(#6283)

Eventing 拡張機能

Apache Kafka ブローカー v1.4

💫 新機能と変更点

  • チャネルインスタンスの識別のために、データプレーンでホストヘッダーを処理します (#1990)
  • 古い統合された KafkaChannel から新しい KafkaChannel への自動移行が可能です。Sarama 設定などの低レベルの構成オプションは新しいチャネルに移行されません。ただし、チャネルの URL と認証設定は移行されます。(#2004)
  • CloudEvents ではない Consumer レコードを破棄します (#2066)
  • 配信仕様に基づいて max.poll.interval.ms を動的に設定します (#2058)
  • デフォルトのリクエストタイムアウトは、以前は 10 秒でしたが、現在は 10 分です。
  • Broker、Trigger、KafkaChannel、Subscriptionにおいて、`spec.delivery.timeout`を使用して上書きできます。(#2057)
  • 新しい実験的機能である`new-trigger-filters`を追加しました。有効にすると、TriggerはCloudEvents Subscriptions APIで定義されているfilters APIフィールドに準拠した新しい`filters`フィールドをサポートします。これにより、強力なフィルタ式を複数指定できます。各式は、イベントごとに真または偽のいずれかを評価します。(#1992)

RabbitMQ BrokerとSource v1.4

🚨 変更点・重要な変更点

  • マネージドRabbitMQブローカーのサポートを削除しました (#708)

💫 新機能と変更点

  • RabbitMQ Brokerのパフォーマンスグラフは、メジャーバージョンリリースごとにパフォーマンステストディレクトリ内に生成されるようになりました。(#668)
  • RabbitMQ Sourceは、イベントの送信に失敗した場合、メッセージが到着するたびに再キューイングするサイクルにスタックしなくなりました。リトライベースのバックオフ戦略に従います(prefetchCountが1の場合は再キューイングしません)。(#614)
  • RabbitMQのBroker Ingress Podは、閉じたチャネルまたは接続から回復できるようになりました。(#648)
  • TriggerとSourceの両方において、prefetchCount環境変数名を`Parallelism`に変更しました。機能をより適切に反映するためです。(#676)

クライアント v1.4

💫 新機能と変更点

  • コンパイル依存関係がKnative Serving v1.4.0、Knative Eventing v1.4.0に更新されました (Goモジュールバージョンはv0.31.0です)。
  • `kn service create`、`kn service update`、`kn service apply`に新しいフラグがいくつか追加されました。
  • `--timeout` タイムアウトエラーで返す前にアプリケーションがリクエストに応答するのを待つ時間(秒単位)を指定します。このオプションの値は、サービスの`.spec.template.spec.timeoutSecond`フィールドを設定します。指定しない場合は、サーバー側のデフォルト(デフォルトで300秒)が使用されます。(#1643)
  • `--pull-policy` アプリケーションのイメージの`imagePullPolicy`を設定します。Podのコンテナと同様に、`Always`、`Never`、`IfNotPresent`のいずれかになります。プルポリシーは、解決されたイメージのダイジェスト(Knativeは常にイメージタグをダイジェストに解決します)に対して適用され、イメージタグに対しては適用されません。(#1644)
  • `--wait-window` サービスの準備状態を待機している間に中間エラーを許可するエラーウィンドウを設定します。指定しない場合、デフォルトで2秒が使用されます(つまり、エラー状態が発生しても2秒以内に成功状態に戻った場合、`kn`はエラーを返さず、調整プロセス中の予期される変動と見なされます)。(#1645)
  • `--scale-metric` オートスケーラーがスケーリングするメトリックを指定するサービスの`autoscaling.knative.dev/metric`アノテーションを設定します。可能な値は`concurrency`、`cpu`、`memory`、`rps`です。(#1653)
  • `--mount`フラグにサブパス機能を追加しました。これにより、ボリュームのサブディレクトリをマウントできます。たとえば、`--mount /mydir=cm:myconfigmap/cmkey`は、ConfigMap `myconfigmap`のキー`cmkey`の値をサービスのアプリケーションコンテナ内のディレクトリ`/mydir`にマウントします。(#1655)

リリース済みのプラグイン

  • このリリース以降、kn-plugin-eventプラグインが含まれています。
  • Knative v1.4.0と並行してリリースされ、連携しているプラグインは次のとおりです。
  • Kubernetes上で実行されているKnativeインストールの管理用`kn-plugin-admin` | ダウンロード
  • コマンドラインからローカルKnative環境をすばやく設定するための`kn-plugin-quickstart` | ダウンロード
  • バックエンドでeventing-kafka経由でインストールされたKafka Sourceを管理するための`kn-plugin-source-kafka` | ダウンロード
  • バックエンドでCamel-K経由でインストールされたKamelet Sourceを管理するための`kn-plugin-source-kamelet` | ダウンロード
  • クラスタの内外からCloudEventsを作成および送信するための`kn-plugin-event` | ダウンロード

注:これらのプラグインは別々にリリースされており、技術的にはこのknative/clientリリースの一部ではありませんが、同じKnative依存関係を共有するように調整されており、インライン化の対象となります。

Operator v1.4

💫 新機能と変更点

  • API移行のためのポストインストールYAMLファイルのリファクタリング (#996)
  • ラベル変更によるKnativeのRBAC問題の修正 (#1010)
  • シームレスアップグレード機能の設定 (#1014)
  • サービスのラベルとアノテーションの上書きの実装 (#1033)
  • knative/communityの行動規範を参照するための行動規範の追加 (#1003)

🐞 バグ修正

  • 必要ない場合は無効にするために、Knativeデプロイメントをゼロにスケールできるようにしました。(#1029)

貢献者への感謝

リリースリード

貢献者

詳細情報

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

サイトトラフィックを理解するために、分析とCookieを使用しています。当社のサイトのご利用に関する情報は、その目的でGoogleと共有されます。詳細はこちら。