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 - 您需要使用我們的 post-install job 將這些資源的儲存版本遷移至 v1

重大變更 EnableVarLogCollection 行為 - 我們總是在我們的用戶容器中將一個空的空目錄卷掛載到 /var/log。這會影響一些常用的容器映像(例如 nginx),導致它們無法啟動。- 在下一個版本 (v0.19) 中,我們計劃變更此預設行為,僅在 EnableVarLogCollection 設定為 true 時才掛載卷。- 如果您對方法和時間表有任何問題/意見,請在 #7881 中聯繫我們。

net-contour 已移至穩定狀態

Kubernetes 最低版本變更為 1.17

核心 API

  • #9264 在 projected 卷中新增對 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 socket 進行探測
  • #9133#9113 隨機調整 Pod 抓取順序,以提高自動縮放器中抓取的 Pod 多樣性
  • 允許並使用 Activator 中快取連線數量的配置
  • #9358 現在會驗證 Service 和 Configuration 的頂層中繼資料中是否缺少自動縮放註解。這會給使用者一個可操作的錯誤訊息,但可能會導致舊的 (有缺陷) YAML 現在開始無法被接受。

網路

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 允許通過 ENV 變數設定 MTChannelBroker TTL。
  • #4009 PingSource 适配器現在使用基於 bucket 的領導者選舉
  • #3987 PingSource 适配器部署現在可以在安裝時進行自訂

錯誤修復

  • #4115 預設指數退避持續時間現在與 DeliverySpec.BackoffDelay 註解中宣告的演算法相符。需要使用者操作來評估 Subscription.spec.delivery 中的 DeliverySpec.BackoffDelay 設定是否仍然適當
  • #4112 Channels 和 Brokers 在非 2xx HTTP 狀態碼時正確重試
  • #4099 將 pingsource 适配器控制器設為唯讀
  • #3946 如果您建立一個 Parallel,然後稍後向其中新增分支,將會導致 panic。
  • #3897 在 Filter 發送訊息且失敗或回應為 nil 的情況下,它會因為使用它而 panic。
  • #3906 當 webhook 失敗時,測試有時會不穩定。
  • #4042 訂閱協調器會正確地將交付配置傳播到通道(retrybackoffDelaybackoffPolicy)。
  • #3966 Trigger 協調器在平行更新 Trigger 和參考的 Broker 時,會正確地協調 Triggers。
  • #4030 當不協調不屬於我的 brokerclass 的觸發器時,會列印錯誤的訊息,但邏輯是正確的,只是記錄訊息錯誤。
  • #3870 更新 spec 以包含 channelable 的 v1 版本。

Eventing 貢獻 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 事件功能的一些額外支援

事件支援

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

其他變更

  • 您現在可以使用 --annotation-service--annotation-revision 來選擇要將註解放在 Knative 服務的哪個部分。使用 --annotation,您可以將註解新增到兩個部分:Knative 服務的註解以及用於建立修訂版本的 Pod 範本的註解。
  • 新的選項 --scale-init 允許指定建立 Knative 服務時應建立的初始 Pod 數目。預設情況下,此數字為 1,但如果您不想在建立服務期間建立 Pod,則可以將其設定為 0。

操作器 v0.18

新的操作器現在可以部署服務和事件元件的新版本 v0.18

錯誤修復

  • #202 在 OperatorHub 中發佈操作器的文件
  • #299 不要等待 Ksvc 縮放為零

其他變更

  • #266 跳過網路入口部署的版本檢查
  • #275 將 k8s 升級至 1.18
  • #273 新增 linting 配置並修正問題
  • #278 先轉換作業,以便映像可覆寫
  • #280 將 deps 釘選到 release-0.18

了解更多

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

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