v0.22 版本發布

發布於:2021-04-23 ,  修訂於: 2023-08-03

公告 Knative v0.22 版本發布

Knative 的新版本現在可在多個元件中使用。請按照文件中安裝 Knative 的說明進行操作,以了解各個元件。

目錄

重點

  • Serving 網域對應改善多租戶支援,以避免網域名稱被叢集中不合法擁有它們的使用者宣告。
  • Eventing 現在允許一起使用來自不同命名空間的訂閱者和觸發器。
  • 1.18 現在是使用 Knative Eventing v0.22 的 Apache Kafka Broker 所需的最低 Kubernetes 版本。
  • Apache Kafka Broker 現在支援在有序和無序傳遞之間選擇的功能
  • CLI kn v0.22.0 隨附一些錯誤修復和小功能增強。這主要是潤飾版本。如果您正在使用 Client API,則需要進行重大變更才能與 Kubernetes Client API 對齊
  • 有兩個新的 CLI 外掛程式與 v0.22 版本對齊,kn-plugin-adminkn-plugin-source-kafka
  • Knative Operator v0.22 版本包含錯誤修復,並支援 Knative Serving 和 Eventing 的 v0.22 版本。

Serving v0.22

💫 新功能和變更

  • 新增自動調整規模註釋,以選擇自動調整規模指標的不同匯總演算法。目前這是實驗性的。 #10840
  • autocreateClusterDomainClaims 旗標新增至網路 ConfigMap。 networking/#330

🐞 錯誤修復

  • 新增驗證,如果自動調整規模 ConfigMap 中指定了 max-scale-limit,則會設定預設的 max-scale。否則,預設的 max-scale0 = 無最大值)將因高於 max-scale-limit 而無法通過驗證。 #10921
  • 將自動調整規模器的資源請求和限制分別提高到 100m/100Mi、1000m/1000Mi。 #10865
  • 修復了啟動 Pod 的延遲可能為 10 秒或更長的迴歸問題。 #10992
  • 大幅減少了啟動器中所需的記憶體配置,尤其是在關閉追蹤時。 #11016#11013#11009#11008
  • 修復了 net-istio 實作的網域對應自動 TLS 功能不正確的閘道名稱格式。 net-istio#532

Eventing v0.22

🚨 API 變更

  • 不再支援 v1alpha1 通道鴨子類型。 #5005

🐞 錯誤修復

  • 修復了導致 PingSource 配接器在終止時不總是釋放領導者選舉租約的錯誤。 #5162
  • 修復了導致 PingSource 物件在主要配接器未能續約其租約時傳送重複事件的錯誤。 #4908
  • 修復了導致命名空間範圍內的 InMemoryChannel 物件無法進入 READY 狀態的錯誤。 #4906
  • 修復了為 eventing-webhook 建立過多複本的問題。 #5112
  • API 伺服器呼叫的 Webhook 超時已增加到 10 秒。 #5175

🧹 清理

  • 不要為 PingSource 控制器設定終結器。改為使用 reconcilekind#5002

Eventing 擴充功能

Apache Kafka Broker v0.22

🚨 重大或值得注意

💫 新功能和變更

  • Kafka Broker 現在支援有序傳遞。您可以透過在觸發器規格中使用 kafka.eventing.knative.dev/delivery.order 標籤,在有序和無序傳遞之間選擇。請參閱 Kafka Broker 文件。 #589

🐞 錯誤修復

  • 新增了一個生產者攔截器 io.cloudevents.kafka.PartitionKeyExtensionInterceptor,以根據 CloudEvents 規範的分區擴充功能提供有序傳遞。 #751
  • 修復了在未安裝 Kafka Broker 的情況下無法部署 KafkaSink 的問題。 #714

Client v0.22

管理自訂網域對應

此版本新增了對網域對應的 CRUD 管理的支援。您可以使用 kn domain CLI 命令及其子命令 createupdatedescribelistdelete,來完全管理 DomainMapping 資源,以將自訂網域用於 Knative 服務。

# Create a domain mappings 'hello.example.com' for Knative service 'hello'
kn domain create hello.example.com --ref hello

# Update a domain mappings 'hello.example.com' for Knative service 'hello'
kn domain create hello.example.com --refFlags hello

# List all domain mappings
kn domain list

# Delete domain mappings 'hello.example.com'
kn domain delete hello.example.com
請參閱 kn domain help 以取得更多資訊。

Client API 簽章變更

為了與 Kubernetes Client API 簽章對齊,將 context.Context 物件新增為每個 Client API 方法的第一個引數。此變更不會影響用戶端 CLI 使用,除非用於與 Knative 後端通訊的用戶端特定 Golang API 已變更。若要遷移至更新的 API 簽章,您可以將已存在的上下文傳遞給呼叫,或使用可用的標準上下文之一,例如 context.TODO()

CLI 外掛程式

💫 新功能和變更

與 v0.22 對齊發布的外掛程式為

次要 CLI 更新

  • kn export 現在預設使用 Export 格式。
  • kn source list-types 中新增了 S 欄位,以指定內建來源。
  • 為所有接受 --sink 選項的指令新增了命名空間的支援。

Operator v0.22

🐞 Bug 修正

  • 僅刪除已安裝的 ingress 資源。 #548
  • 允許使用 spec.additionalManifests 更新 ingress 資源。 #531
  • 重構快取機制。 #532
  • 過濾目標清單中多餘的資源。 #509

🧹 清理

  • 移除不必要的 master 用法 #513
  • 新增 DEVELOPMENT.md #503

感謝貢獻者

了解更多

Knative 是一個開放原始碼專案,社群中的任何人都可以使用、改進和享受它。我們很樂意您加入我們!

我們使用分析和 cookies 來了解網站流量。有關您使用我們網站的資訊會與 Google 分享以用於該目的。 了解更多。