v0.24リリース
公開日: 2021-07-08 、 修正日: 2023-08-03
Knative v0.24 リリース発表¶
Knativeの新しいバージョンが複数のコンポーネントで利用可能になりました。
それぞれのコンポーネントについては、ドキュメントのKnativeのインストールの手順に従ってください。
目次¶
ハイライト¶
- Knativeサイトが新しくなりました!Material for MkDocs上に構築されています。
- Knativeサイトに新しい入門チュートリアルが追加されました。
- ドキュメントの再編成を行い、開発者ガイドと管理者ガイドを用意しました。
- DomainMapping機能がベータ版になりました。
- GAに向けて、一部のnet-*コンポーネントの名前が変更されました。Servingセクションの破壊的な変更を参照してください。
- Eventingには新しい実験的機能プロセスと、試してみるための2つの新しい実験的機能があります。
- Kubernetesの最小バージョンが1.19になりました。
Serving v0.24¶
🚨 破壊的または重要な変更¶
-
一部の
net-*
コンポーネントの名前変更 関連する問題:knative/networking#448GA/1.0に向けた取り組みの一環として、Servingとともにインストールされるネットワークプラグインの命名を標準化しました。
kubectl
を使用してKnativeデプロイを手動で管理している場合、これには2段階のアップグレードプロセスが必要になります。以下のセクションを参照してください-
# Apply the new release $ kubectl apply -f net-http01.yaml # Once the deployment is ready delete the old resources $ kubectl delete deployment http01-controller -n knative-serving $ kubectl delete service challenger -n knative-serving
-
net-certmanager v0.24.0へのアップグレード
# Apply the new release $ kubectl apply -f net-certmanager.yaml # Once the deployment is ready apply the same file but # prune the old resources $ kubectl apply -f net-certmanager.yaml \ --prune -l networking.knative.dev/certificate-provider=cert-manager
-
# Apply the new release $ kubectl apply -f net-istio.yaml # Once the deployment is ready apply the same file but # prune the old resources $ kubectl apply -f net-istio.yaml \ --prune -l networking.knative.dev/ingress-provider=istio
-
# Apply the new release $ kubectl apply -f net-contour.yaml # Once the deployment is ready apply the same file but # prune the old resources $ kubectl apply -f net-contour.yaml \ --prune -l networking.knative.dev/ingress-provider=contour
-
net-kourier v0.24.0へのアップグレード。この時点で、名前をnet-kourierに変更することは、次のリリースまで延期しました。アップグレードの一部としてトラフィックの中断がないようにする必要があります。したがって、v0.24.0へのアップグレードには特別な手順は必要ありません。
-
-
Kubernetes 1.19が必須になりました
Kubernetes最小バージョン原則の一環として、Kubernetesバージョン1.19が必須になりました。
-
Webhook/Controller RBACの変更
Knativeインストールの削除に関する推奨される方法は、
kubectl delete -f serving-core.yaml
および適用した可能性のあるその他のリリースYAMLを実行することです。knative-serving
名前空間を削除すると同様のクリーンアップが実行されるという誤解がありましたが、これはクラスターにスコープされたリソースを削除しません。以前のリリースでは、クラスターの状態によってKnative Servingの再インストールが妨げられていました。この問題に対処しましたが、名前空間とファイナライザーに関するいくつかのRBACアクセス許可が必要です。以下の関連する問題とPRを参照してください
- 元の問題:knative/pkg#2044
- 回避策:knative/pkg#2098
knative-serving-core
クラスターロールには、namespaces/finalizersに対するアクセス許可が必要です:#11517
-
DomainMapping機能がベータ版になりました
これは、デフォルトでメインの
serving-core
YAMLに組み込まれていることを意味します。domainmapping-controllerのレプリカ数をゼロに設定することで、この機能をオプトアウトすることもできます。この移行の一環として、
config-network
config mapのautocreateClusterDomainClaimsのデフォルト値がfalseに変更されました。つまり、特定のDomainMappingを名前空間に作成する機能を委任するには、クラスター全体のアクセス許可が必要です。シングルテナントクラスターでは、この値をtrue
に戻すことで、任意のユーザーがDomain Mappingを作成できるようにすることができます。(#11573)
💫 新機能と変更¶
- コンテナのセキュリティコンテキストから機能を削除できるようにする(#11344)
- DomainMappingで、HTTPS証明書として使用されるTLSシークレットを指定できるようになりました(#11250)
- 有効にすると、コンテナのセキュリティコンテキストから機能を追加できるようにする機能ゲートを提供します(#11410)
defaultExternalScheme
を使用して、デフォルトの "http"ではなく、選択したURLスキームを表面化するデフォルトルートに使用できるようになりました。(#11480)- Envoy構成サイズを最小限に抑えるように生成されたルートを最適化しました(net-istio#632)
- 既存のcontourインストールと区別するために、ContourのClusterRoleとClusterRoleBindingの名前を変更します(net-contour#500)
- 新しいConfigMap
config-kourier
を追加しました。最初のenable-service-access-logging
設定を使用します(net-kourier#523)
🐞 バグ修正¶
- アクティベーター数が多く、サービスポッド数が少ないデプロイメントで、トラフィックが一時的に「間違った」ルーティングになり、キューが超過したためにエラーが発生していたバグを修正しました。(#11375)
- トラフィック構成が間違っていた場合、Routeのトラフィックステータスが更新されます。(#11477)
- 他のconfigmapと一貫して、機能ConfigMapの
_example
セクションが誤って変更されていないことを検証します。(#11391)
Eventing v0.24¶
🚨 破壊的または重要な変更¶
- v1beta2からv1の
pingsources.sources.knative.dev
リソースに移行するため、アップグレード後にストレージ移行ツールを実行する必要があります。(#5381)
💫 新機能と変更点¶
新しい機能をテストおよび開発するための新しいプロセスである実験的機能プロセスを導入したことをお知らせします。
このプロセスのおかげで、新しい素晴らしい機能を試して、プロジェクトにフィードバックを提供することができます!
まずは2つの実験的機能を導入します。
kreference-group
:ref
を使用する場合、完全なAPIバージョンではなく、APIグループのみを使用してリソースを参照します。delivery-timeout
:delivery
を使用する場合、リクエストごとのタイムアウトを定義します。
これらの機能を有効にする方法と使用法については、実験的機能ドキュメントで詳しく説明しています。
KReference.Group
はSubscription.Spec.Channel
でも使用できるようになりました。(#5520)DeliverySpec.Timeout
を追加しました。(#5149)- 実験的機能
kreference-group
を追加しました。有効にすると、リソースバージョン(例:v1beta1、v1など)を明示せずに、Subscriber.Ref.APIVersion
の代わりにSubscriber.Ref.Group
を使用して別のリソースを参照できます。(#5440) - 残りのHAコントロールプレーンポッド(オペレーター経由)には、単一障害点が発生しないようにpodAntiAffinityのラベルが付けられるようになりました。(#5409)
🐞 バグ修正¶
- イベントのリスニングを開始する前に準備完了を報告するapiserversourcesでの競合状態を修正しました。(#5446)
- imc-controllerのクラスタロールに、namespaces/finalizersの更新権限が付与されました。(#5539)
- knative-eventing-webhookのクラスタロールに、namespaces/finalizersの更新権限が付与されました。(#5501)
🧹 クリーンアップ¶
Subscription.Spec.Channel
でKReferenceが使用されるようになり、spec.channel
CRDスキーマの許可度が低くなり、KReferenceフィールドのサポートされている使用法に一致するようになりました。YAMLでリソースを作成するSubscriptionのユーザーには影響しません。(#5412)- PingSourceアダプターは、ソースが準備できていない場合、警告イベントの代わりに通常のイベントを生成するようになりました。イベントの名前をPingSourceSkippedに変更しました。
- PingSourceアダプターは、同期されたときに通常のイベントPingSourceSynchronizedを生成するようになりました。(#5549)
Eventing拡張機能¶
Apache Kafka Broker v0.24¶
💫 新機能と変更点¶
- 既存のSubscriber resolved conditionに、配信順序に関する詳細を追加しました。#912
- レシーバーデプロイメントは、利用可能なすべてのCPUを使用します。#985
- 実験的機能delivery-timeoutの一部として、BrokerとTriggerの両方のデリバリー仕様で新しいタイムアウトフィールドを指定できるようになりました。詳細については、実験的機能を参照してください。#1034
- Goをv1.16に更新しました。#886
- protobufをv3.17.xに更新しました。#946
- vert.xをv4.1に更新しました。#900
RabbitMQ Eventing v0.24¶
💫 新機能と変更点¶
- RabbitMQBrokerクラスのブローカーに対して、有効な[secret, rabbitmqcluster]構成をチェックする検証webhookを追加しました。(#324)
- rabbitmqクラスターオペレーターまたはmessaging-topology-operatorに依存しないインストールオプションを提供します。これにより、独自のrabbitmqブローカーを持ち込むことができます。(#309)
- 2種類のブローカーのインストール手順を追加しました。(#315)
🐞 バグ修正¶
- スタンドアロンブローカーがTrigger DeadLetterSinkを適切にサポートするように修正しました。(#341)
- トリガーごとのDeadLetterSinkのサポートを修正しました。(#337)
- 問題#320を修正しました。 nightlyとリリース予定のスタンドアロンブローカーの両方へのリンクの間違いを修正しました。(#325)
- 機能がhttps://github.com/knative-extensions/eventing-autoscaler-kedaに移動したため、不要なkeda権限を削除しました。(#319)
- スタンドアロンブローカーのすべてのRabbitMQリソースに対して、より適切な名前を使用します。k8sリソースとRabbitMQリソースの両方。(#344)
Client v0.24¶
💫 新機能と変更点¶
- webhookの警告の表示を整形しました。#1353
- Kubernetesの依存関係をv0.20.7に更新しました。#1344
- Sourcesのコードカバレッジを増やしました。#1343
- 他のネットワーク上でe2eテストを実行できるようにしました。#1339
--env-value-from
フラグを追加し、指定されたとおりに環境変数の順序を保持します。#1328
🐞 バグ修正¶
- SubscriptionのChannelがKRefenceタイプを使用するように修正しました。#1326
Operator v0.24¶
💫 新機能と変更点¶
- Eventingソースのマニフェストを追加しました。#641
- EventingソースのAPIを変更しました。#613
- ソースをインストールするロジックを追加しました。#645
- pkg/test.KubeClientの使用を停止しました。#655
- デプロイメントとサービスをインストールした後、webhookをインストールします。#674
🐞 バグ修正¶
- バージョンパラメータをサポートすることでフェッチャーを改善しました。#613
- アップグレード後のテストを実行する前に20秒のタイムアウトを追加しました。#623
- e2eテストに$KO_FLAGSを追加しました。#649
- 他のネットワーク上でe2eテストを実行できるようにしました。#650
- spec.deployments.nodeSelectorを介してNodeSelectorを設定できるようにしました。#658
- net-*デプロイメントの名前変更を正常に処理します。#669
コントリビューターの皆様、ありがとうございます¶
- @BbolroC
- @aliok
- @benmoss
- @dprotaso
- @dsimansk
- @houshengbo
- @howardjohn
- @itsmurugappan
- @izabelacg
- @julz
- @lberk
- @lionelvillard
- @markusthoemmes
- @matzew
- @nak3
- @novahe
- @pierDipi
- @psschwei
- @shinigambit
- @slinkydeveloper
- @vaikas
- @zroubalik
詳細情報¶
Knativeは、コミュニティの誰もが使用、改善、楽しむことができるオープンソースプロジェクトです。ぜひご参加ください!
- Knativeへようこそ
- 入門ドキュメント
- サンプル
- Knativeワーキンググループ
- Knativeユーザーメーリングリスト
- Knative開発メーリングリスト
- TwitterのKnative @KnativeProject
- StackOverflowのKnative
- Knative Slack
- YouTubeのKnative