v0.18 リリース
公開日:2020-10-09 、改訂日:2023-08-03
Knative v0.18 リリースのお知らせ¶
複数のコンポーネントにわたって、新しいバージョンの Knative が利用できるようになりました。それぞれのコンポーネントについては、ドキュメントのKnative のインストールの手順に従ってください。
- Kubernetes の最小バージョンが v1.17 に変更されました。
- K8s 最小バージョン原則をご覧ください。
- Eventing API が v1beta1 から v1 に卒業しました。
- Eventing のコントリビューションソースが新しい GitHub 組織 knative-extensions に移動されました。
kn
CLI には、コマンドのエイリアスとその他の新しい機能が追加されました。
最新バージョンにアップグレードする前に、現在のバージョンに適用される懸念事項については、アップグレードドキュメントを確認してください。
Serving v0.18¶
Serving v1alpha1 と v1beta1 は次のリリース (v0.19) で EOL になります - これは、Service、Route、Revision、Configuration のリソースに適用されます - これらのリソースのストレージバージョンを、ポストインストールジョブを使用して v1 に移行する必要があります。
EnableVarLogCollection の動作が変更されました - ユーザーコンテナには常に `/var/log` に空の emptyDir ボリュームをマウントしていました。これにより、一部の人気のあるコンテナイメージ (例:nginx) の起動が妨げられていました。- 次のリリース (v0.19) では、このデフォルトの動作を変更し、EnableVarLogCollection が true に設定されている場合にのみボリュームをマウントする予定です。- アプローチとタイムラインについて問題やコメントがある場合は、#7881 にお問い合わせください。
net-contour が安定状態になりました。
Kubernetes の最小バージョンが 1.17 に変更されました。
コアAPI¶
- #9264 プロジェクトされたボリュームで serviceAccountToken のサポートを追加。
- #9072 RuntimeClassName 機能フラグを追加。
- #9325 Route コントローラーが準備完了を早期に報告する競合状態を修正。
- #9489 セキュリティ上の理由により、TLS バージョン 1.0 または 1.1 でイメージメタデータを配信しているレジストリは、今後サポートされなくなります。
- #9455、#9354、#9442 ダイジェスト解決の改善とタイムアウト。
- #9335 応答性の高いリビジョンガベージコレクションがデフォルトで有効になりました。
- knative/pkg#1464 Webhook メトリクスのカーディナリティを減らし、メモリ使用量を削減。
オートスケーリング¶
- #9506、#9502、#9503、#9566、#9501、#9488、#9344、#9338、#9287、#9184 コードベースのパフォーマンス、メモリ割り当て、テスト容易性、可読性の向上
- #9419、#9426、#9434 最大スケール制限の設定
- #9211、#9176 QueueProxy でのプローブに Unix ソケットを使用。
- #9133、#9113 オートスケーラーでスクレイピングするポッドのバリエーションを向上させるためのポッドスクレイピングのランダムシャッフル。
- アクティベーターでキャッシュされた接続数に設定を許可して使用します。
- #9358 Service と Configuration のトップレベルメタデータの両方でオートスケーリングアノテーションがないことが検証されるようになりました。これにより、ユーザーは実行可能なエラーメッセージを取得できますが、古い(誤った)YAML が今後拒否される可能性があります。
ネットワーキング¶
- knative/docs#2808 Net-contour が安定段階に移行しました。
- #9194 アノテーションを使用して AutoTLS を無効化できるようにしました。
- #9013 serving.knative.dev/visibility の代わりに networking.knative.dev/visibility を使用。
- knative/networking#164 全て数値のトップレベルドメインを持つゲートウェイの短縮名を削除。
- knative/networking#154 Serving リポジトリから Networking リポジトリに Kcert と KIngress CRD の YAML を移動。
- #9375 Serving リポジトリは、Networking リポジトリからのシンボリックリンクとして CRD YAML を保持しています。
- knative/networking#139 KinD に適合する Kingress コンプライアンスを実現。
- knative/networking#129、knative/networking#132、knative/networking#137 Ingress の retry、ingress.spec.visibility、ingress.status.LoadBalancer を非推奨に。
- knative/networking#107 RewriteHost を分割を要求するように変更。
- #8856
config-network
のtagHeaderBasedRouting
フラグがconfig-features
のtag-header-based-routing
に移動されました。 - knative-extensions/net-istio#237 将来のクラスタローカルゲートウェイの非推奨化のために、イングレスゲートウェイと同じデプロイメントを共有する新しいローカルゲートウェイを追加。
Eventing v0.18¶
Eventing API が v1beta1 から v1 に卒業しました。
アップグレードに必要なアクション¶
- #4031 apiserversource を v1beta1 API に取得するには、アップグレード前にプリインストールジョブを実行する必要があります。
- #3936 残りの messaging.- リソースのストレージバージョンを v1beta1 から v1 に変更。
- “Subscriptions.messaging.knative.dev”
- messaging.- リソースを v1 API に取得するには、アップグレード前にプリインストールジョブを実行する必要があります。
- #3951 pingsource リソースのストレージバージョンを v1alpha2 から v1beta1 API に変更。
- pingsource リソースを v1beta2 API に取得するには、アップグレード前にプリインストールジョブを実行する必要があります。
- #3923 Eventingのリソースのストレージバージョンをv1beta1からv1に変更
- “brokers.eventing.knative.dev”
- “Triggers.eventing.knative.dev”
- Eventingのリソースをv1 APIに移行するには、アップグレード前にプリインストールジョブを実行する必要があります。
- #3925 Flowsのリソースのストレージバージョンをv1beta1からv1に変更
- “Channels.messaging.knative.dev”
- “Inmemorychannels.messaging.knative.dev”
- messaging.- リソースを v1 API に取得するには、アップグレード前にプリインストールジョブを実行する必要があります。
- #3924 Flowsのリソースのストレージバージョンをv1beta1からv1に変更
- “Parallels.flows.knative.dev”
- “Sequences.flows.knative.dev”
- Flowsのリソースをv1 APIに移行するには、アップグレード前にプリインストールジョブを実行する必要があります。
新機能¶
- #3962 環境変数を使用してMTChannelBrokerのTTLを設定可能に。
- #4009 PingSourceアダプタがバケットベースのリーダー選出を使用するようになりました。
- #3987 PingSourceアダプタのデプロイメントをインストール時にカスタマイズできるようになりました。
バグ修正¶
- #4115 デフォルトの指数バックオフ期間が、DeliverySpec.BackoffDelayコメントで宣伝されているアルゴリズムと一致するようになりました。`Subscription.spec.delivery`内のDeliverySpec.BackoffDelay設定が適切かどうかを評価するために、ユーザーによる操作が必要です。
- #4112 チャンネルとブローカーが2xx以外のHTTPステータスコードで正しく再試行するようになりました。
- #4099 pingsourceアダプタコントローラーをリードオンリーにしました。
- #3946 Parallelを作成した後、後でブランチを追加すると、パニックが発生していました。
- #3897 Filterがメッセージを送信し、失敗した場合、またはレスポンスがnilの場合、それを使用する都合上パニックが発生していました。
- #3906 Webhookが失敗すると、テストが時々不安定になることがありました。
- #4042 サブスクリプションリコンサイラーが、配信設定(`retry`、`backoffDelay`、`backoffPolicy`)をチャンネルに正しく伝播するようになりました。
- #3966 トリガーリコンサイラーが、トリガーと参照されているブローカーの並列更新中にトリガーを正しくリコンサイルするようになりました。
- #4030 自分のブローカークラスが所有していないトリガーをリコンサイルしていない場合、誤ったメッセージを出力していました。ロジック自体は正しかったものの、ログメッセージが間違っていました。
- #3870 仕様にチャネラブルのv1を含めるように更新しました。
Eventing Contributions v0.18¶
コードがknative-extensions GitHub組織に移行されました。
必要なアクション¶
- knative/eventing#3924、knative/eventing#3925 Flowsのリソースのストレージバージョンをv1beta1からv1に変更
channels.messaging.knative.dev
inmemorychannels.messaging.knative.dev
parallels.flows.knative.dev
sequences.flows.knative.dev
- Eventingのリソースをv1 APIに移行するには、アップグレード前にプリインストールジョブを実行する必要があります。
新機能¶
- #1510 Kafka ChannelとKafka SourceがKafka 2.6をサポート (#1510, @pierDipi)
バグ修正¶
- #1536 クラスタスコープのKafkaChannelディスパッチャーは、事前にレプリカ数0で作成されるようになり、最初のKafkaChannelの作成でスケールアップされます。アップグレード時に手動操作は必要ありません。
- #1533 kafkasourceが「シンクが見つかりません」状態になると、レシーバーアダプターが削除されます。シンクが利用可能になり、イベントを受信できる状態になると、レシーバーアダプターが再度作成されます。
異なるGitHub組織へのコードの移動¶
- #1576 AWSSQSソースアーティファクトがhttps://github.com/knative-extensions/eventing-awssqsに移行されました。
- #1574 Camelアーティファクトがhttps://github.com/knative-extensions/eventing-camelに移行されました。
- #1585 Cephソースアーティファクトがhttps://github.com/knative-extensions/eventing-cephに移行されました。
- #1583 CouchDBソースアーティファクトがhttps://github.com/knative-extensions/eventing-couchdbに移行されました。
- #1573 GitHubアーティファクトがhttps://github.com/knative-extensions/eventing-githubに移行されました。
- #1584 GitLabソースアーティファクトがhttps://github.com/knative-extensions/eventing-gitlabに移行されました。
- #1587 Natssアーティファクトがhttps://github.com/knative-extensions/eventing-natssに移行されました。
- #1586 Prometheusソースアーティファクトがhttps://github.com/knative-extensions/eventing-prometheusに移行されました。
- #1555 このリポジトリからCamelソースを削除し、https://github.com/knative-extensions/eventing-camelに移行しました。
- #3923 Eventingのリソースのバージョンをv1beta1からv1に変更
brokers.eventing.knative.dev
triggers.eventing.knative.dev
- Eventingのリソースをv1 APIに移行するには、アップグレード前にプリインストールジョブを実行する必要があります。
クライアントv0.18¶
Knativeクライアント`kn`のリリース0.18.0には、いくつかのバグ修正と、Knative eventing機能の追加サポートが含まれています。
Eventingサポート¶
`kn channel`サポートは`kn channel list-types`によって拡張され、クラスタで使用可能なすべてのチャネルタイプが表示されます。この情報は、`kn channel create`でチャネルを作成するときにタイプを選択するために使用できます。
シンクとチャネルを接続するサブスクリプションは、`kn subscription`コマンドで完全に管理できるようになりました。
エイリアス¶
より良いユーザーエクスペリエンスのために、一般的に使用されるコマンドのエイリアスを追加しました。
コマンド | エイリアス |
---|---|
service | ksvc, services |
revision | revisions |
route | routes |
source | sources |
broker | brokers |
trigger | triggers |
channel | channels |
subscription | subscriptions, sub |
plugin | plugins |
list | ls |
その他の変更¶
- Knativeサービスのアノテーションを付ける場所を選択するために、`--annotation-service`と`--annotation-revision`を使用できるようになりました。`--annotation`を使用すると、Knativeサービスのアノテーションと、リビジョンを作成するために使用されるPodテンプレートのアノテーションの両方にアノテーションを追加できます。
- 新しいオプション`--scale-init`を使用すると、Knativeサービスの作成時に作成する必要があるポッドの初期数を指定できます。デフォルトではこの数は1ですが、サービス作成時にポッドを作成したくない場合は0に設定できます。
Operator v0.18¶
新しいオペレーターは、サービングとイベントングコンポーネントの新しいバージョン`v0.18`をデプロイできるようになりました。
バグ修正¶
その他の変更¶
- #266 ネットワークイングレスデプロイメントのバージョンのチェックをスキップします。
- #275 k8sを1.18に更新しました。
- #273 lint設定を追加し、問題を修正しました。
- #278 まずジョブを変換して、イメージをオーバーライドできるようにしました。
- #280 依存関係をrelease-0.18に固定しました。
詳細情報¶
Knativeは、コミュニティの誰でも使用、改善、そして楽しむことができるオープンソースプロジェクトです。ぜひご参加ください!
- Knativeへようこそ
- 入門ドキュメント
- サンプルとデモ
- Knativeミーティングとワーキンググループ
- 質問と問題
- Knativeユーザーメーリングリスト
- Knative開発メーリングリスト
- Knative on Twitter @KnativeProject
- Knative on StackOverflow
- Knative Slack
- Knative on YouTube