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 現在開始無法被接受。
網路¶
- knative/docs#2808 Net-contour 已移至穩定階段
- #9194 允許使用註解停用 AutoTLS
- #9013 使用 networking.knative.dev/visibility 而非 serving.knative.dev/visibility
- knative/networking#164 移除具有全數值頂層網域的閘道器的簡短名稱
- knative/networking#154 將 Kcert 和 KIngress CRD yaml 從 Serving 移至 Networking 儲存庫。
- #9375 Serving 儲存庫的 CRD yaml 為 Networking 儲存庫的符號連結。
- knative/networking#139 使 kingress 一致性適用於 KinD
- knative/networking#129、knative/networking#132、knative/networking#137 在 Ingress 中棄用 retry、ingress.spec.visibility 和 ingress.status.LoadBalancer
- knative/networking#107 重新設計 RewriteHost 以要求分割。
- #8856 將
config-network
中的tagHeaderBasedRouting
標誌移至config-features
作為tag-header-based-routing
。 - knative-extensions/net-istio#237 為未來叢集本機閘道棄用新增一個與 ingress 閘道使用相同部署的本機閘道
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 訂閱協調器會正確地將交付配置傳播到通道(
retry
、backoffDelay
、backoffPolicy
)。 - #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
。
錯誤修復¶
其他變更¶
- #266 跳過網路入口部署的版本檢查
- #275 將 k8s 升級至 1.18
- #273 新增 linting 配置並修正問題
- #278 先轉換作業,以便映像可覆寫
- #280 將 deps 釘選到 release-0.18
了解更多¶
Knative 是一個開放原始碼專案,社群中的任何人都可以使用、改進和享受。我們很樂意您加入我們!
- 歡迎使用 Knative
- 入門文件
- 範例和示範
- Knative 會議和工作小組
- 問題與錯誤
- Knative 使用者郵件列表
- Knative 開發郵件列表
- Knative 在 Twitter 上 @KnativeProject
- Knative 在 StackOverflow 上
- Knative Slack
- Knative 在 YouTube 上