v0.17 リリース
公開日:2020-09-05、改訂日:2023-08-03
Knative v0.17 リリース発表¶
複数のコンポーネントにわたって、新しいバージョンの Knative が利用可能になりました。それぞれのコンポーネントについては、ドキュメントのKnative のインストール手順に従ってください。- Serving は、既に v1 API バージョンでテストとベンチマークの最適化を進めています。- Eventing は、ContainerSource と PingSource を v1beta1 として提供するようになりました。- kn
CLI は、Channel リソースを追加して、Eventing の完全サポートに向けた取り組みを継続しています。- Operator は、Knative インストールのカスタマイズされたマニフェストのサポートを追加しました。
アップグレードする前に、現在のバージョンに適用される懸念事項については、アップグレードに関するドキュメントを確認してください。
Serving v0.17¶
初期展開サイズを制御するための InitialScale アノテーション
新しいリビジョンがロールアウトされたときに、最初にデプロイされるポッドの数を制御するために使用できる新しいアノテーションがあります。
net-contour と net-kourier がベータ版に移行
net-istioに加えて、Knativeはベータ版の他の3つのネットワーキングレイヤーをサポートするようになりました。
Kubernetes の最小バージョンに変更はありません
Kubernetes 1.16 が最小バージョンとして残っています。
オートスケーリング
- [ [#8613](https://github.com/knative/serving/pull/8613), [#8846](https://github.com/knative/serving/pull/8846) ] 0 から開始できる初期スケールを導入しました(@taragu さんありがとうございます)- 新しい KPA ステータスを導入しました。これにより、リビジョンと KPA 自体のステートマシンを大幅に簡素化できます。- 初期スケールに到達(@markusthoemmes さんと @taragu さんありがとうございます)- SKS 準備完了(@vagababov さんありがとうございます)- [ [#8787](https://github.com/knative/serving/pull/8787), [#8796](https://github.com/knative/serving/pull/8796) ] アクティベーターでの同時実行性と統計レポートの書き換え(@markusthoemmes さんありがとうございます)- [ [#8810](https://github.com/knative/serving/pull/8810), [#9027](https://github.com/knative/serving/pull/9027) ] ホストあたりのアイドル接続/接続の構成可能化(@vagababov さんと @julz さんありがとうございます)- [ [#8759](https://github.com/knative/serving/pull/8759),[#8762](https://github.com/knative/serving/pull/8762) ] KPA でのポッドカウントの最適化(ポッドの3パスから1パスへ)(@vagababov さんありがとうございます)- [#8851](https://github.com/knative/serving/pull/8851) アクティベーターの返されたラムダの巧妙な最適化により、アクティベーターの各リクエストで16bの割り当てを削減(@julz さんありがとうございます)- 多くの新しいベンチマーク(@julz さんと @markusthoemmes さんありがとうございます)- さまざまなクリーンアップ、テストの安定性、コードの最適化など(@julz さん、@markusthoemmes さん、@vagababov さん、@skonto さんありがとうございます)コアAPI
- リーダー選挙がデフォルトで有効化されました(@mattmoor さんありがとうございます)- デフォルトでは、コントロールプレーンコンポーネントはリーダー選挙を有効にします。これは(今のところ)--disable-ha で無効にすることができます。- 新しい機能フラグが利用可能になりました。詳細については、config-features を参照してください- [#8645](https://github.com/knative/serving/pull/8645) アフィニティ、nodeSelector、およびトレランスの有効化(@emaildanwilson さんありがとうございます)- [#9060](https://github.com/knative/serving/pull/9060) 追加のコンテナーとポッドのセキュリティコンテキスト属性の有効化(@dprotaso さんありがとうございます)- [pkg#1512](https://github.com/knative/pkg/pull/1512) グローバルな再同期中のスタベーションを防ぐため、コントローラーに2レーンワークキューを採用(@vagababov さんありがとうございます)- [#8951](https://github.com/knative/serving/pull/8951) "autoscaling.knative.dev/maxScale" アノテーションを持たないリビジョンの最大スケールのクラスタ全体の値を設定できる設定ノブ "max-value" の追加(@arturenault さんありがとうございます)- [#8724](https://github.com/knative/serving/pull/8724) 遅いレジストリに対する保護策として、イメージダイジェスト解決に60秒のタイムアウトを追加(@julz さんありがとうございます)- [#8621](https://github.com/knative/serving/pull/8621) 古いリビジョンの自動削除のために、時間ベースまたは最小/最大カウント境界のいずれかを許可する新しいガベージコレクターを実装しました(@whaught さんありがとうございます)- これを有効にするために、新しい v2 ラベラーがリビジョンに RoutingState と RoutingStateModified アノテーションを設定します- [#8828](https://github.com/knative/serving/pull/8828) PodSpec DryRun は、親のない(サービスレスの)構成も検証します @whaught さんありがとうございます)- [#8846](https://github.com/knative/serving/pull/8846) ユーザーは、クラスタ全体のフラグ initial-scale とアノテーション "autoscaling.internal.knative.dev/initialScale" の両方を使用して、初期デプロイメントのサイズを指定できます。クラスタ全体のフラグ allow-zero-initial-scale は、クラスタ全体の初期スケールとリビジョンの初期スケールを 0 にできるかどうかを制御します(@taragu さんありがとうございます)- [#8757](https://github.com/knative/serving/pull/8757) 有効にすると、ResponsiveGC 機能フラグは lastPinned アノテーションのタイムスタンプの更新を無効にします(@whaught さんありがとうございます)- [pkg#1592](https://github.com/knative/pkg/pull/1592) Knative が AKS 1.17+ で動作するように回避策を追加(@n3wscott さんありがとうございます)- [pkg#1517](https://github.com/knative/pkg/pull/1517) シャットダウン時に Webhook のドレイン時間を長くしました(@mattmoor さんありがとうございます)ネットワーキング
- [#2737](https://github.com/knative/serving/pull/2737) Net-contour がベータ段階に移行しました(@mattmoor さんありがとうございます)- [#2738](https://github.com/knative/serving/pull/2738) Net-kourier がベータ段階に移行しました(@mattmoor さんありがとうございます)- [#8965](https://github.com/knative/serving/pull/8965) デフォルトの Kingress タイムアウトが 48 時間に増えました(gRPC ストリームタイムアウトを防ぐため)(@tcnghia さんありがとうございます)- knative/serving/pkg/network のコードは、knative/networking リポジトリに完全に移動されました(@tcnghia さんありがとうございます)- [#8798](https://github.com/knative/serving/pull/8798) プレースホルダーサービスのラベルとアノテーションがルートから伝播されます(@nak3 さんありがとうございます)- [knative-extensions/net-istio#170](https://github.com/knative-extensions/net-istio/pull/170) auto TLS が有効な場合、net-istio コントローラーは、knative-ingress-gateway Gateway の調整ではなく、Kingress ごとに Istio TLS Gateway を生成するようになりました(@ZhiminXiang さんありがとうございます)- [knative-extensions/net-istio#174](https://github.com/knative-extensions/net-istio/pull/174) Kingress(net-istio)は RewriteHost 機能を導入しました(@julz さんありがとうございます)- [knative-extensions/net-istio##190](https://github.com/knative-extensions/net-istio/pull/190) net-istio の Kingress プローバーの改善:すべてのホストではなく、単一のホストをプローブすることで、プローバーキューのスループットを向上(@JRBANCEL さんありがとうございます)Eventing v0.17¶
必要なアクション - #3564 コントロールプレーンコンポーネントでは、高可用性がデフォルトで有効になりました。今のところ、--disable-ha で無効にすることができます。(@mattmoor さんありがとうございます)- (以前は 0 にスケールされていた)デプロイメントを手動で削除する必要があります。
metadata:
name: broker-controller
namespace: knative-eventing
新機能
- [#3661](https://github.com/knative/eventing/pull/3661) ContainerSourceがv1beta1になりました([@bharattkukreja](https://github.com/bharattkukreja)さんありがとうございます) - [#3577](https://github.com/knative/eventing/pull/3577) SinkBindingがv1beta1になりました([@nachocano](https://github.com/nachocano)さんありがとうございます) - [#3605](https://github.com/knative/eventing/pull/3605) Eventingコンフォーマンステストで、Sourcesステータスのコンフォーマンンス検証が可能になりました([@devguyio](https://github.com/devguyio)さんありがとうございます) - [#3607](https://github.com/knative/eventing/pull/3607) PingSourceでタイムゾーンの設定がサポートされるようになりました。([@lionelvillard](https://github.com/lionelvillard)さんありがとうございます) - [#3741](https://github.com/knative/eventing/pull/3741) APIServerSourceがCloudEventに名前、種類、名前空間を拡張属性として設定するようになりました。([@danyinggu](https://github.com/danyinggu)さんありがとうございます) - [#3632](https://github.com/knative/eventing/pull/3632) ブローカーにRESTクライアントのQPS/バーストを制御する2つのフラグを追加しました。デフォルトは以前と同じです。([@vaikas](https://github.com/vaikas)さんありがとうございます) - [#2932](https://github.com/knative/eventing/pull/2932) インメモリチャネルとマルチテナントチャネルベースのブローカーで、イベントの再送信が実装されました([@pierDipi](https://github.com/pierDipi)さんありがとうございます)削除された機能
- [#3676](https://github.com/knative/eventing/pull/3676) IMCの成功したリコンサイルごとにKubernetesイベントを生成しなくなりました([@vaikas](https://github.com/vaikas)さんありがとうございます) - [#3494](https://github.com/knative/eventing/pull/3494) v1alpha1 CRD APIバージョンを削除しました。([@vaikas](https://github.com/vaikas)さんありがとうございます) - [#3837](https://github.com/knative/eventing/pull/3837) PingSource v1alpha1 APIを削除しました。([@lionelvillard](https://github.com/lionelvillard)さんありがとうございます)バグ修正
- [#3534](https://github.com/knative/eventing/pull/3534) オートインジェクションが有効なIstioクラスタで、移行ジョブが失敗する問題を修正しました([@vayyappaneni](https://github.com/vayyappaneni)さんありがとうございます) - [#3693](https://github.com/knative/eventing/pull/3693) ApiServerSourceにおいて、ReconcileKindメソッドのクリーンな実行では、Kubernetesイベント「ApiServerSourceReconciled」が生成されなくなりました。([@n3wscott](https://github.com/n3wscott)さんありがとうございます) - [#3694](https://github.com/knative/eventing/pull/3694) Channelにおいて、ReconcileKindメソッドのクリーンな実行では、Kubernetesイベント「ChannelReconciled」が生成されなくなりました。([@n3wscott](https://github.com/n3wscott)さんありがとうございます) - [#3696](https://github.com/knative/eventing/pull/3696) EventTypeにおいて、ReconcileKindメソッドのクリーンな実行では、Kubernetesイベント「EventTypeReconciled」が生成されなくなりました。([@n3wscott](https://github.com/n3wscott)さんありがとうございます) - [#3697](https://github.com/knative/eventing/pull/3697) MTBrokerにおいて、FinalizeKindメソッドのクリーンな実行では、Kubernetesイベント「BrokerReconciled」が生成されなくなりました。([@n3wscott](https://github.com/n3wscott)さんありがとうございます) - [#3698](https://github.com/knative/eventing/pull/3698) Parallelにおいて、ReconcileKindメソッドのクリーンな実行では、Kubernetesイベント「ParallelReconciled」が生成されなくなりました。([@n3wscott](https://github.com/n3wscott)さんありがとうございます) - [#3699](https://github.com/knative/eventing/pull/3699) PingSourceにおいて、ReconcileKindメソッドのクリーンな実行では、Kubernetesイベント「PingSourceReconciled」が生成されなくなりました。Sequenceにおいて、ReconcileKindメソッドのクリーンな実行では、Kubernetesイベント「SequenceReconciled」が生成されなくなりました。([@n3wscott](https://github.com/n3wscott)さんありがとうございます) - [#3695](https://github.com/knative/eventing/pull/3695) Subscriptionにおいて、ReconcileKindメソッドのクリーンな実行では、Kubernetesイベント「SubscriptionReconciled」が生成されなくなりました。([@n3wscott](https://github.com/n3wscott)さんありがとうございます) - [#3574](https://github.com/knative/eventing/pull/3574) v1beta1とv1間の変換時にDeadLetterChannelが削除される問題を修正しました([@vaikas](https://github.com/vaikas)さんありがとうございます) - v1beta1とv1間の変換で、すべての条件が正しく変換されていませんでした。基本的にReadyのみが変換されていました。 - [#3596](https://github.com/knative/eventing/pull/3596) Webhookのシャットダウンに関する問題を修正するため、terminationGracePeriodを拡張しました。([@mattmoor](https://github.com/mattmoor)さんありがとうございます) - [#3619](https://github.com/knative/eventing/pull/3619) v1およびv1beta1のDeliverySpec.BackoffDelayでISO8601期間が受け入れられるようになりました([@pierDipi](https://github.com/pierDipi)さんありがとうございます) - [#3831](https://github.com/knative/eventing/pull/3831) PingSourceが分単位でシャットダウンされた場合でも、イベントが失われなくなりました。([@lionelvillard](https://github.com/lionelvillard)さんありがとうございます)その他の変更
- [#3562](https://github.com/knative/eventing/pull/3562) リーダー選出をサポートするために、コントローラーとWebhookに不足していた「leases」RBACを追加しました。([@mattmoor](https://github.com/mattmoor)さんありがとうございます) - [#3795](https://github.com/knative/eventing/pull/3795) コントロールプレーンコンポーネントでアンチアフィニティを指定するようになり、レプリカが同じ場所に配置されなくなりました。([@mattmoor](https://github.com/mattmoor)さんありがとうございます) - [#3451](https://github.com/knative/eventing/pull/3451) マルチテナントPingSourceアダプターのリソース消費量が削減されました。([@lionelvillard](https://github.com/lionelvillard)さんありがとうございます) - [#3587](https://github.com/knative/eventing/pull/3587) eventing.{Broker,Trigger}をv1 APIシェイプを使用してリコンサイルします。依存リソース(サブスクリプションなど)は、それらのv1シェイプを使用して操作します。([@vaikas](https://github.com/vaikas)さんありがとうございます) - [#3643](https://github.com/knative/eventing/pull/3643) Triggerのリコンサイル時に、イベントを生成しなくなりました。([@vaikas](https://github.com/vaikas)さんありがとうございます)Eventing Contributions v0.17¶
Eventing Contributionsには、ソースとチャネルの参照実装が含まれています。v1beta1 APIを使用するソースには、機能強化とバグ修正が加えられています。
新機能
- [#1409](https://github.com/knative/eventing-contrib/pull/1409) Kafka Channelでイベントの再送信が実装されました([@pierDipi](https://github.com/pierDipi)さんありがとうございます)バグ修正
- [#1155](https://github.com/knative/eventing-contrib/pull/1155) KafkaChannelが、config-tracingからのeventing方式のトレース設定を使用して、トレースを正しく実装するようになりました([@slinkydeveloper](https://github.com/slinkydeveloper)さんありがとうございます) - [#1398](https://github.com/knative/eventing-contrib/pull/1398) KafkaChannelのv1beta1とv1alpha1間の変換が修正されました([@aliok](https://github.com/aliok)さんありがとうございます)その他の変更
- [#1407](https://github.com/knative/eventing-contrib/pull/1407) KafkaChannelをv1beta1 APIシェイプを使用してリコンサイルします。依存リソース(サブスクリプションなど)は、それらのv1シェイプを使用して操作します。([@aliok](https://github.com/aliok)さんありがとうございます) - [#1405](https://github.com/knative/eventing-contrib/pull/1405) KafkaSourceとKafkaBindingをv1beta1 APIシェイプを使用してリコンサイルします。依存リソース(サブスクリプションなど)は、それらのv1シェイプを使用して操作します。v1beta1の型では`resource`と`serviceAccountName`フィールドが削除されていることに注意してください。([@aliok](https://github.com/aliok)さんありがとうございます)Client v0.17¶
CLI(コマンドラインインターフェース)は、Eventingの完全サポートに向けた取り組みを続け、このリリースではさらにいくつかの機能を追加しています。
メタデータ
コンパイル依存関係がKnative Serving 0.17.0とKnative Eventing 0.17.0に更新されました。
Eventingサポート
- #967 このリリースでは、Channelリソースの管理に対する完全なサポートが追加されました。作成時にチャネルの種類を指定し、構成でGVK座標のシンボリック名へのマッピングを追加することもできます。
プラグインインラインサポート
- #902 golangベースのプラグインを単一のバイナリにインライン化できるカスタムバージョンのknを作成できるようになりました。プラグインREADMEで、その仕組みの概要を確認してください。詳細なドキュメントと例は準備中です。(@rhussさんありがとうございます)
- clientリポジトリからリリースされたknは、プラグインをインライン化しません。プラグインインライン化を有効にするためのフックを提供するだけです。
新機能
- [#980](https://github.com/knative/client/pull/980) kn source listが、異種リスト用に独自のリストタイプを使用するようになりました([@navidshaikh](https://github.com/navidshaikh)さんありがとうございます) - [#951](https://github.com/knative/client/pull/951) NAMESPACEヘッダー列がkn source list -Aに追加されました([@Kaustubh-pande](https://github.com/Kaustubh-pande)さんありがとうございます) - [#937](https://github.com/knative/client/pull/937) kn service create --filenameとその他のオプションを組み合わせるサポートを追加しました([@dsimansk](https://github.com/dsimansk)さんありがとうございます)バグ修正
- [#975](https://github.com/knative/client/pull/975) クライアント側のボリューム名生成が修正されました([@navidshaikh](https://github.com/navidshaikh)さんありがとうございます) - [#948](https://github.com/knative/client/pull/948) CRDへのアクセスが制限されている場合、組み込みソースのみをリスト表示します([@navidshaikh](https://github.com/navidshaikh)さんありがとうございます)その他の変更
- [#974](https://github.com/knative/client/pull/974) e2eテスト用のテストイメージをビルドし、ベースイメージを指定する`.ko.yaml`を追加しました([@itsmurugappan](https://github.com/itsmurugappan)さんありがとうございます) - [#972](https://github.com/knative/client/pull/972) 動的クライアント用のモックテストクライアントを追加しました([@priyshar01](https://github.com/priyshar01)さんありがとうございます) - [#971](https://github.com/knative/client/pull/971) `kn service delete`と`kn revision delete`の失敗時の終了コードを修正しました([@hemanrnjn](https://github.com/hemanrnjn)さんありがとうございます) - [#957](https://github.com/knative/client/pull/957) 環境変数を使用してknテストイメージをカスタマイズできるようにしました([@mvinkler](https://github.com/mvinkler)さんありがとうございます) - [#943](https://github.com/knative/client/pull/943) PodSpecFlagsとService ConfigurationEditFlagsを分離しました([@daisy-ycguo](https://github.com/daisy-ycguo)さんありがとうございます)Operator v0.17¶
この新しいバージョンのOperatorでは、Knativeインストールのカスタマイズされたマニフェストのサポートが有効になります。operator CRDで、インストールするKnativeコンポーネントのリンクを指定するために、`spec.manifests`フィールドが導入されました。このフィールドは通常、`spec.version`フィールドと併せて使用されます。
バグ修正
- [#236](https://github.com/knative/operator/pull/236) ジョブ用のIstio ignoreアノテーショントランスフォーマーを追加しました([@AceHack](https://github.com/AceHack)さんありがとうございます) - [#224](https://github.com/knative/operator/pull/224) CRD/v1トランスフォーマーの問題を修正するために、最新のmanifestivalに更新しました([@jimoosciuc](https://github.com/jimoosciuc)さんありがとうございます) - [#147](https://github.com/knative/operator/pull/147) カスタマイズされたyamlを指定するサポートを追加しました([@houshengbo](https://github.com/houshengbo)さんありがとうございます) - [#246](https://github.com/knative/operator/pull/246) `spec.version`がマニフェストのバージョンと一致するかどうかを検証します([@houshengbo](https://github.com/houshengbo)さんありがとうございます) - [#255](https://github.com/knative/operator/pull/255) CR仕様に`sinkBindingSelectionMode`を追加しました([@aliok](https://github.com/aliok)さんありがとうございます)その他の変更
- [#220](https://github.com/knative/operator/pull/220) デプロイメントだけがオーバーライド可能なコンテナではないことを明確にしました([@jcrossley3](https://github.com/jcrossley3)さんありがとうございます) - [#211](https://github.com/knative/operator/pull/211) 各種リンティングの修正を行いました([@markusthoemmes](https://github.com/markusthoemmes)さんありがとうございます) - [#235](https://github.com/knative/operator/pull/235) postdowngradeテストを追加しました([@houshengbo](https://github.com/houshengbo)さんありがとうございます) - [#257](https://github.com/knative/operator/pull/257) リリース用にoperatorリソースに`operator.knative.dev/release`ラベルを追加しました([@houshengbo](https://github.com/houshengbo)さんありがとうございます)詳細情報¶
Knativeは、コミュニティの誰でも使用、改善、そして楽しむことができるオープンソースプロジェクトです。ぜひご参加ください!
- Knativeへようこそ
- 入門ドキュメント
- サンプルとデモ
- Knativeミーティングとワーキンググループ
- 質問と問題
- Knativeユーザーメーリングリスト
- Knative開発者メーリングリスト
- Knative on Twitter @KnativeProject
- Knative on StackOverflow
- Knative Slack
- Knative on YouTube