v0.20リリース

公開日: 2021-01-20、  改訂日: 2023-08-03

Knative v0.20リリースの発表

Knativeの新しいバージョンが、複数のコンポーネントで利用可能になりました。それぞれのコンポーネントについては、ドキュメントのKnativeのインストールの手順に従ってください。

目次

ハイライト

  • ServingはDomainMappingの改良を続けています。
  • 段階的なトラフィックロールアウト機能が導入されました。
  • Eventingに、サブスクリプションへの配信仕様の伝播が追加されました。
  • Eventing Kafkaブローカーが、メトリクスとトレースに関する複数の可観測性で強化されました。
  • kn CLIに、リソースファイル内でローカルにKnativeサービスを作成できる、新しい実験的なオフラインモード(--target)がkn service createに追加されました。

Serving v0.20

🚨 破壊的変更

  • DomainMappingの名前が完全修飾されているかどうかを検証します。(#10379
  • GC機能フラグとv1 GC/Labelerを削除します。(#10084
  • コードからwebhook名を削除し、キーWEBHOOK_NAMEを使用してwebhookデプロイメントyamlでwebhook名を設定します。(#10205

💫 新機能と変更点

  • KnativeサービスでhostAliasesを有効にするための機能フラグが利用可能になりました。詳細については、config-featuresを参照してください。(#10301
  • DomainMappingのAutoTLSサポートを追加します。(#10467
  • DomainMappingは、Knativeサービスだけでなく、任意のターゲット参照をサポートするようになりました。ターゲットは、Addressableコントラクト(Kubernetesサービスを含む)に準拠する必要があり、解決されたURIは{name}.{namespace}.svc.{cluster-suffix}の形式である必要があります。(#10210
  • DomainMappingによって生成されたIngressにserving.knative.dev/domainmappingラベルを導入します。(#10370
  • リーダー選出の移行改善(#10131
  • プロファイリングポートが、環境変数PROFILING_PORTで設定可能になりました(knative/pkg#1950
  • 構成ターゲットの段階的なトラフィックロールアウトがKnativeで利用可能になりました。現在は、config-network configmapのrolloutDurationエントリによって駆動されます。これが正の場合、この設定は、この期間にわたって、以前のリビジョンから現在のリビジョンに徐々にトラフィックを移行します。これは、3つの次元で同時に複数のロールアウトを処理できます。
    • 異なるタグが異なる構成を指している場合、個別にロールアウトできます。
    • 同じ構成ターゲットの異なるパーセンテージは、異なる速度でロールアウトされます(ただし、ほぼ同じ期限までに完了します)。
    • 以前のロールアウトがまだ完了していないときに新しいリビジョンが作成された場合、システムはそれらをドレインし、すべてを最新のリビジョンに移動します。

🐞 バグ修正

  • DomainMappingが削除されたときにClusterDomainClaimsがクリーンアップされる方法を変更します。(#10503
  • アクティベータープローブとプロキシ間の接続再利用を有効にして、コールドスタート後の初回リクエストパフォーマンスを向上させます(#10228
  • Webhooksは、他のコンポーネントによって追加されたネームスペースセレクターを削除しません(knative/pkg#1949

Eventing v0.20

💫 新機能と変更点

  • チャネル仕様の配信フィールドをデフォルト設定すると、すべてのサブスクリプションがその特定の配信仕様になります(#4652

🐞 バグ修正

  • 高可用性を無効にすることなく、インメモリチャネルディスパッチャーのスケーリングを許可します。(#4675

🧹 クリーンアップ

  • Webhookには、クラスター全体のシークレット権限がなくなりました。現在、Webhookのシークレット権限はknative-eventingネームスペースに制限されています。(#4684
  • 各テストイテレーションでブローカーの名前をバンプします(#4716
  • メッセージレシーバーは、カスタマイズされた活性プローブと準備状況プローブをサポートします(#4707
  • apiserversources.sources.knative.devリソースをv1beta1からv1に移行するには、アップグレード後にストレージ移行ツールを実行する必要があります。(#4655
  • containersources.sources.knative.devリソースをv1beta1からv1に移行するには、アップグレード後にストレージ移行ツールを実行する必要があります。(#4657
  • sinkbindings.sources.knative.devリソースをv1beta1からv1に移行するには、アップグレード後にストレージ移行ツールを実行する必要があります。(#4658

Eventing拡張機能

Eventing Kafkaブローカー v0.20

eventing-kafka-brokerのリリースノート

💫 新機能と変更点

  • kafka-broker-receiverkafka-broker-dispatcher、およびkafka-sink-receiverは、Kafkaクライアントメトリクスを公開します。(#435
  • kafka-broker-receiverkafka-broker-dispatcher、およびkafka-sink-receiverは、JVMメトリクス(デフォルトで無効)を公開します(#435
  • データプレーンポッドは、分散トレーススパンを生成します。(#421
  • レシーバーは、レプリカが併置されないようにアンチアフィニティを指定するようになりました(#483

🐞 バグ修正

  • コントローラーは、管理対象リソースが変更されると状態を再同期します。(#420
  • リーダー選出の移行改善(#449

🧹 クリーンアップ

  • データプレーンは完全にノンブロッキングです。(#438
  • 変更がない場合は、ConfigMapの更新をスキップします(#511
  • リリースラベルをeventing.knative.devからkafka.eventing.knative.devに変更します。(#480

クライアント v0.20

  • kn v0.20.0では、リソースファイル内でローカルにKnativeサービスを作成できる、新しい実験的なオフラインモード(--target)がkn service createに追加されました。クラスターに接続する必要はありません。さらに、通常のバグ修正といくつかの小さな機能が追加されました。

💫 新機能と変更点

オフラインモード

新しい実験的なオフラインモードが kn service create に追加されました。これは、既存のディレクトリまたはファイル名を指すことができる --target オプションを使用することで有効になります。kn は、--target が指定されると、kn service create -fkn service apply -f、または kubectl で直接使用できるリソースファイルを作成します。--target の引数がファイル名または存在しないパスの場合、単一のファイルが作成されます。ファイル形式(YAML または JSON)は、ファイル拡張子によって決定されます。--target の引数がディレクトリの場合、リソースファイルは、名前空間とタイプごとにサブディレクトリを作成し、サービス名をファイル名のベース名として使用して、このディレクトリ内に作成されます。

# Create a YAML resource file "myservice.yml" with the custom resource definition of
# the specified Knative service
kn service create myservice --image quay.io/myuser/myservice:latest --target ./myservice.yml

# Create a YAML resource file with the service definition in "service-dir/default/ksvc/myservice.yml"
# The directory "service-dir/" must already exist
kn service create myservice --image gcr.io/myproject/myservice:latest --target service-dir/

スケールオプション

kn service create および kn service update--scale オプションで、値として範囲を指定できるようになりました。 - --scale 1..5: 最小 1 レプリカまでスケールダウンし、最大 5 レプリカまでスケールアップします。 - --scale 1..: scale-min を 1 に設定しますが、scale-max は変更しません(サービス更新で使用した場合)。 - --scale ..5: scale-max を 5 に設定しますが、scale-min は変更しません(サービス更新で使用した場合)。 - --scale 5..5: scale-min と scale-max の両方を 5 に設定します(--scale 5 と同じ)。

新しいアーキテクチャのサポート

linux/s390x および linux/ppc64le が、サポートされているアーキテクチャのリストに追加されました。現在、次のプラットフォームが含まれています: darwin/amd64linux/amd64linux/arm64linux/ppc64lelinux/s390x、および windows/amd64

🧹 クリーンアップ

  • ヘルプとエラーメッセージの修正が適用されました。

その他のCLI機能

  • -o urlkn broker describe および kn channel describe でサポートされるようになりました。
  • 機械可読な出力 (例: -o json) が、これまで欠落していたコマンドに追加されました。

Operator v0.20

新しい Operator は、Serving および Eventing コンポーネントの新しいバージョン v0.20 をデプロイできるようになりました。

🐞 バグ修正

  • pingsource-mt-adapter のデプロイリソースの環境変数の値を保持します ( #394)
  • カスタマイズされた YAML のための追加のマニフェストを実装します ( #374)

🧹 クリーンアップ

  • どのファイルが生成またはベンダーされているかを記述するための属性を更新します ( #423)
  • 構成生成のコード自動生成を有効にします ( #417)
  • リリースを自動的に取得して kodata にステージングするツールを追加します ( #360)

v0.20 の貢献者の皆様、ありがとうございます

詳細はこちら

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

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