v0.22 版本發布
發布於:2021-04-23 , 修訂於: 2023-08-03
公告 Knative v0.22 版本發布¶
Knative 的新版本現在可在多個元件中使用。請按照文件中安裝 Knative 的說明進行操作,以了解各個元件。
目錄¶
- Serving v0.22
- Eventing v0.22
- Eventing 擴充功能
kn
CLI v0.22kn
CLI 外掛程式
- Operator v0.22
- 感謝貢獻者
重點¶
- 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-admin 和 kn-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-scale
(0
= 無最大值)將因高於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 命令及其子命令 create
、update
、describe
、list
和 delete
,來完全管理 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 對齊發布的外掛程式為
- kn-plugin-admin 用於管理在 Kubernetes 上執行的 Knative 安裝 | 下載
- kn-plugin-source-kafka 用於管理透過後端 eventing-kafka 安裝的 Kafka 來源 | 下載
次要 CLI 更新¶
kn export
現在預設使用 Export 格式。- 在
kn source list-types
中新增了S
欄位,以指定內建來源。 - 為所有接受
--sink
選項的指令新增了命名空間的支援。
Operator v0.22¶
🐞 Bug 修正¶
- 僅刪除已安裝的 ingress 資源。 #548
- 允許使用
spec.additionalManifests
更新 ingress 資源。 #531 - 重構快取機制。 #532
- 過濾目標清單中多餘的資源。 #509
🧹 清理¶
感謝貢獻者¶
- @dsimansk
- @eletonia
- @ericmillin
- @evankanderson
- @faruryo
- @houshengbo
- @itsmurugappan
- @julz
- @Kaustubh-pande
- @lionelvillard
- @markusthoemmes
- @matejvasek
- @n3wscott
- @pierDipi
- @slinkydeveloper
- @vagababov
- @vaikas
- @zhaojizhuang
- @ZhiminXiang
了解更多¶
Knative 是一個開放原始碼專案,社群中的任何人都可以使用、改進和享受它。我們很樂意您加入我們!
- 歡迎使用 Knative
- 開始使用文件
- 範例和演示
- Knative 會議和工作群組
- 問題和錯誤回報
- Knative 使用者郵件列表
- Knative 開發郵件列表
- Twitter 上的 Knative @KnativeProject
- StackOverflow 上的 Knative
- Knative Slack
- YouTube 上的 Knative