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-receiver
、kafka-broker-dispatcher
、およびkafka-sink-receiver
は、Kafkaクライアントメトリクスを公開します。(#435)kafka-broker-receiver
、kafka-broker-dispatcher
、およびkafka-sink-receiver
は、JVMメトリクス(デフォルトで無効)を公開します(#435)- データプレーンポッドは、分散トレーススパンを生成します。(#421)
- レシーバーは、レプリカが併置されないようにアンチアフィニティを指定するようになりました(#483)
🐞 バグ修正¶
🧹 クリーンアップ¶
- データプレーンは完全にノンブロッキングです。(#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 -f
、kn 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/amd64
、linux/amd64
、linux/arm64
、linux/ppc64le
、linux/s390x
、および windows/amd64
。
🧹 クリーンアップ¶
- ヘルプとエラーメッセージの修正が適用されました。
その他のCLI機能¶
-o url
がkn broker describe
およびkn channel describe
でサポートされるようになりました。- 機械可読な出力 (例:
-o json
) が、これまで欠落していたコマンドに追加されました。
Operator v0.20¶
新しい Operator は、Serving および Eventing コンポーネントの新しいバージョン v0.20
をデプロイできるようになりました。
🐞 バグ修正¶
🧹 クリーンアップ¶
- どのファイルが生成またはベンダーされているかを記述するための属性を更新します ( #423)
- 構成生成のコード自動生成を有効にします ( #417)
- リリースを自動的に取得して kodata にステージングするツールを追加します ( #360)
v0.20 の貢献者の皆様、ありがとうございます¶
- @BbolroC
- @Harwayne
- @akerekes
- @antoineco
- @arghya88
- @dprotaso
- @dsimansk
- @evankanderson
- @grac3gao
- @houshengbo
- @itsmurugappan
- @julz
- @markusthoemmes
- @mattmoor
- @mpetason
- @n3wscott
- @nak3
- @navidshaikh
- @pierDipi
- @rhuss
- @slinkydeveloper
- @tcnghia
- @vaikas
- @yselkowitz
詳細はこちら¶
Knative は、コミュニティの誰もが使用、改善、楽しむことができるオープンソースプロジェクトです。ぜひご参加ください!
- Knative へようこそ
- 入門ドキュメント
- サンプルとデモ
- Knative の会議とワーキンググループ
- 質問と問題点
- Knative ユーザーメーリングリスト
- Knative 開発メーリングリスト
- Twitter での Knative @KnativeProject
- StackOverflow での Knative
- Knative Slack
- YouTube での Knative