Knativeコミュニティは、複数のコンポーネントにまたがるKnativeプロジェクトのバージョン1.1をリリースした。コアコンポーネントのServingとEventingには注目すべき変更があった。そして、グローバルなmin-scale
構成、429/503応答のRetry-Afterヘッダーを処理する機能などの実験的な機能が導入されている。
実験的機能のプロセスにより、イノベーションが加速し、コアプロジェクトの安定性に影響を与えることなく、コミュニティが新しい実験的機能を提供およびテストできるようになる。Eventing 1.1では、すべてのコアKnative Eventing Podは、制限付きポッドセキュリティ標準プロファイルで実行できる。これは、セキュリティが重要なアプリケーションのオペレーターと開発者を対象としている。CloudEventsプロジェクトによってSubscriptions APIが追加された。このAPIによって、CNCF CloudEventsイベントコンシューマーがイベントプロデューサーから発信されたイベントをサブスクライブするための定義が提供される。これは、フィルターフィールドを含むイベントソースに代わるものだ。そのため、Trigger Filter APIはCNC FCould Events Subscriptions APIに準拠するようになり、より複雑な述語をサポートできるようになる。
さらに、Serving v1.1には、グローバルなmin-scale構成が追加されている。固定ウィンドウはスライド時間ウィンドウを定義するものである。このウィンドウでメトリックの平均値が算出され、自動スケーラーがパニックモードでないときに、スケーリングの判断のためのインプットが提供される。これは、KPAウィンドウと類似している。HPAのデフォルトの固定ウィンドウは300秒だが、さまざまな値に設定できるようになった。
Apache Kafka Brokerは、ネットワークホップを削減するネイティブブローカーの実装である。このリリースでは、KafkaSource APIの新しい実装が追加されている。指定された間隔でオフセットをコミットすると、Kafkaクラスターの負荷が軽減され、イベント配信が数百倍速くなる。詳細は、コンシューマーオフセットのコミット間隔を参照してください。
RabbitMQ Broker and Source v1.1では、ディスパッチャーとイングレスにopencensusを使ったトレースが追加されている。これで、Apache SkyWalking、Zipkin、Jaegerを利用して、Knativeを使った分散トレースを構築できる。Knativeブログ「Knative、OpenTelemetry、Jaegerを使用した分散トレース」のユースケースの例を参照してください。
Knativeクライアントは、コマンドラインまたはスクリプトからインタラクティブにKnativeリソースを作成できるCLIである。service create
に--tag
を追加し、@latest
が指定されている場合には100未満のトラフィック分割を許可する。@latest
が--traffic
の引数として指定され、sum <100の場合、残りのリビジョンが計算される。
Knativeプロジェクトは、Alibaba Cloud、Cloud RunIBM Cloud Code Engine、OpenFunctionなどのサーバーレスコンピューティングプラットフォームを構築する際にクラウドプロバイダーや組織に広く採用されている。過去3年間、Google、IBM、Red Hat、SAP、 VMWare、および50を超えるさまざまな企業がKnativeプロジェクトに貢献している。
Knativeにおける、コミュニティ主導のイノベーションの次フェーズを実現するために、GoogleはKnativeをインキュベーションプロジェクトとしてCNCFに提出した。この寄付は、コミュニティからのKnativeの採用および投資と認識することができる。そして、さらなるマルチベンダーの革新とコラボレーションが促進されるであろう。
Knative 1.1の詳細については、公式リリースの発表をご覧ください。それぞれのコンポーネントにKnativeをインストールするときにはドキュメントの指示に従ってください。