v1.0 版本發佈

發佈於:2021-11-08,  修訂於:2023-08-03

公告 Knative v1.0 版本發佈

Knative 的新版本現在可在多個元件中使用。

請依照文件中的指示 安裝 Knative 以取得各自的元件。

目錄

重點

  • 所有元件版本現在都標記為 knative-v1.0.0,對於使用 go 程式庫的使用者,請使用 v0.27 版本
  • 每個命名空間的萬用字元憑證佈建器已整合到基本控制器中
  • 預設情況下,Prefer: 回覆標頭會轉發到 Broker Triggers 的訂閱者

Serving v1.0

🚨 重大或值得注意的變更

  • 每個命名空間的萬用字元憑證佈建器已整合到基本控制器中,現在由 namespace-wildcard-cert-selector 欄位控制。此欄位可讓您使用 Kubernetes LabelSelector 來選擇應佈建憑證的命名空間。

  • 若要移轉現有 serving-nscert 控制器的使用方式,請執行下列動作

    • 將 namespace-wildcard-cert-selector 設定為值
      matchExpressions:
      - key: "networking.knative.dev/disableWildcardCert"
        operator: "NotIn"
        values: ["true"]
      
    • 移除先前版本中由 serving-nscert.yaml 資源定義的 Deployment、Service 和 ClusterRole (#12174)

💫 新功能與變更

  • 每個命名空間的萬用字元憑證佈建已整合到主要的 Knative 控制器中,不再是單獨的安裝。現在由 Kubernetes 命名空間上的標籤選取器控制。
  • 新的實驗性功能「concurrencyStateEndpoint」可讓 webhook 在容器的並行狀態進入/離開零時收到通知 (#11802, #12162, #11917)
  • 當網路設定對應中未將網格相容模式設定為「auto」時,activator 將會尊重 Kubernetes 的就緒狀態,並在 Kubernetes 就緒狀態傳播速度快於 activator 的探測時避免探測。( #12086)

🐞 Bug 修正

  • 修正了在建立網域擁有權之前要求 TLS 憑證的問題。( #12080)

Eventing v1.0

🚨 重大或值得注意的變更

  • 如果設定了「strict-subscriber」功能旗標,訂閱將會要求設定 spec.subscriber。先前,訂閱將接受純粹的 spec.reply。此功能將在 1.1 版本中啟用;它會破壞與先前版本的相容性,以追蹤事件規格並改善使用訂閱時的使用者體驗。( #5762)

💫 新功能與變更

  • 預設情況下,Prefer: 回覆標頭會轉發到 Broker Triggers 的訂閱者 ( #5773)
  • 如果設定了 spec.reply 欄位,標頭 Prefer: 回覆將會新增至傳送給訂閱訂閱者的請求。( #5764)
  • 如果未指定 Broker、Trigger、Channel 和 Subscription 的欄位 spec.delivery.deadLetterSink.ref.namespace,則會預設為 metadata.namespace。( #5748)
  • 將 deadLetterSinkUri 新增至 Channel 狀態。
    • 使用 1 年計時器將 deadLetterChannel 標記為已淘汰。( #5746)
  • Channel 和 Subscription 現在將強制驗證「delivery」欄位。( #5777)
  • 下一代多租戶排程器和取消排程器:使用外掛程式介面來指定排程器設定檔,其中包含謂詞和優先順序,這些謂詞和優先順序分別執行 Pod 的篩選和評分,以計算最佳 vreplica 位置。當 autoscaler 新增新的 Pod 時,排程器會重新平衡已放置的 vreplica 以及新的 vreplica。當需要縮減 vreplica 和移除位置時,必須安裝取消排程器設定檔。( #5818)
  • 將 UID 新增至可用的 Kreference 對應解析器範本欄位 ( #5810)

🐞 Bug 修正

  • 修正了 Parallel 更新洩漏資源的問題。為了讓修正生效,提供的 Channel 必須在標記為 duck.knative.dev/channelable 的 ClusterRole 中包含 delete 動詞。( #5775)
  • 修正了 Sequence 更新洩漏資源的問題。為了讓修正生效,提供的 Channel 必須在標記為 duck.knative.dev/channelable 的 ClusterRole 中包含 delete 動詞。( #5718)

Eventing 擴充功能

Apache Kafka Broker v1.0

💫 新功能與變更
  • KafkaBroker 的 ClusterRole knative-kafka-data-plane 已重新命名為 knative-kafka-broker-data-plane ( #1315)
  • KafkaBroker 的 ServiceAccount knative-kafka-data-plane 已重新命名為 knative-kafka-broker-data-plane ( #1315)
  • 針對 KafkaBroker 的 ClusterRoleBinding knative-kafka-data-plane 已重新命名為 knative-kafka-broker-data-plane (#1315)
  • 針對 KafkaSink 的 ClusterRole knative-kafka-data-plane 已重新命名為 knative-kafka-sink-data-plane (#1315)
  • 針對 KafkaSink 的 ServiceAccount knative-kafka-data-plane 已重新命名為 knative-kafka-sink-data-plane (#1315)
  • 針對 KafkaSink 的 ClusterRoleBinding knative-kafka-data-plane 已重新命名為 knative-kafka-sink-data-plane (#1315)
  • 將 Broker 和 Trigger 的 status.deadLetterSinkUri 設定為 spec.delivery.deadLetterSink 解析後的 URI (#1349)

RabbitMQ Broker 和 Source v1.0

💫 新功能與變更
  • 現在,觸發器將以平行方式將事件傳送給其訂閱者,預設的 in-flight 訊息數量為 10,並且可以透過註解 rabbitmq.eventing.knative.dev/prefetchCount 進行設定。(#418)
  • 現在強制執行觸發器篩選器為不可變的,因為底層的 RMQ 綁定是不可變的 (#468)
🐞 Bug 修復
  • 如果未定義死信接收器,Brokers 將不再為死信事件建立佇列 (#453)

Client v1.0

💫 新功能與變更

  • 移除已棄用的旗標 --lookup-path (#1506)
  • --extra-containers 重新命名為 --containers (#1499)
  • 移除已棄用的旗標 --min-scale--max-scale (#1498)
  • 移除已棄用的旗標 --limits-cpu--limits-memory (#1498)
  • 為遺失的 API 錯誤訊息新增更多說明 (#1497)
  • 棄用 --concurrency-target--concurrency-utilization,改用 --scale-target--scale-utilization (#1490)
  • 棄用 --autoscale-window,改用 --scale-window (#1489)
  • 當指定 N-1 個修訂版本時,計算流量分割 (#1483)
  • 如果不存在,則建立預設的設定檔 (#1472)

🐞 Bug 修復

  • 修正網域描述參考,以顯示正確的種類 (#1477)

Operator v1.0

💫 新功能與變更

  • 新增 COC,貢獻文件 (#790)
  • 從不受支援的 HA 清單中移除 pingsource-mt-adapter (#788)
  • 將高可用性套用至 Operator 管理的所有部署 (#749) 修正 with 的拼寫錯誤 (#781)
  • 新增對 spec.deployments.affinity 的支援 (#777)
  • 當高可用性具有較大的數值時,調整 HPA 中的 maxReplicas (#748)
  • 為標籤 app.kubernetes.io/version 準備 Knative Operator (#738)
  • 允許透過 spec.deployments.tolerations 設定 Tolerations (#747)
  • 從 HA 擴展中移除 pingsource (#740)
  • 捨棄已棄用的 enabledComponents 欄位設定 (#735)
  • 在 hack/update-codegen.sh 中使用 knative.dev/hack/codegen-library.sh (#734)
  • 移除 eventing 的心跳 (#792)

🐞 Bug 修復

  • 修復安裝 spec.manifests 時的錯誤問題 (#750)

感謝貢獻者

了解更多

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

我們使用分析和 Cookie 來了解網站流量。為了這個目的,您使用我們網站的資訊會與 Google 分享。了解更多。