CNCF 宣布 TUF 毕业 | 云原生生态周报 Vol. 33
作者 | 孫健波、汪萌海、陳有坤、李鵬
業界要聞
CNCF 宣布 TUF(The update Framework)項目正式畢業,成為繼 Kubernetes、Premetheus、Envoy、CoreDNS、containerd、Fluentd Jaeger 以及 Vitess 之后,第九個正式畢業的項目。TUF 是一項用于保護軟件更新系統的開源安全技術,也是從云原生計算基金會畢業的第一個以規范與安全性為重點的項目。與此同時,TUF 還是首個源自高校的 CNCF 畢業項目。
-
CVE-2019-18801:該漏洞通過向下游發送 HTTP/2 大 header 請求影響 Envoy 的 HTTP/1 編解碼器,利用此漏洞可能導致拒絕服務、權限逃逸或信息泄露;
-
CVE-2019-18802:HTTP/1 編解碼器沒有修剪掉 header 值之后的空格,使攻擊者可以繞開 Istio 的策略,最終導致信息泄露或特權升級;
-
CVE-2019-18838:收到不帶 “Host” header HTTP 請求后, Envoy 路由管理器會由于空指針導致 Envoy 進程異常終止。
解決方案
- 對于 Istio 1.2.x 版本:升級到 Istio 1.2.10 或以上;
- 對于 Istio 1.3.x 版本:升級到 Istio 1.3.6 或以上;
- 對于 Istio 1.4.x 版本:升級到 Istio 1.4.2 或以上。
-
隨著 Kubernetes 的愈發普及和標準化,應用場景越來越復雜,服務網格的需求會快速增加;
-
Istio 的先發優勢會越來越明顯,以至于它很難被擊敗,因為越來越多的軟件供應商會提供 Istio 的解決方案;
-
更多的使用場景會出現,目前服務網格的使用場景主要在 “mTLS(統一鑒權解決方案)”,“應用可觀測性解決方案”,“流量管理解決方案”,2020 年會出現服務網格技術的殺手級解決方案。
上游重要進展
Kubenetes
增加用于 Node 協作的租約,該提案主要解決的是多個組件對 Node 均有操作,加鎖獨占的問題,比如在線 debug Node 問題的時候,又比如 Node 更新系統起作用的時候,不希望 Node 快照備份系統起作用。
- 一階段是構建了新的調度框架,目標是把 scheduler 變成一個執行不同擴展插件的 callback 的引擎,可以注冊 callback 函數,把一系列調度計算、預測相關的函數作為 plugin;
- 二階段的主要目標是把原先內置在 K8s scheduler 里面的預測和調度算法移入對應的 plugin 中通過調度框架調用,許多 PR 圍繞該目標在展開。
rktlet 是基于容器運行時 rkt 項目的 CRI(Container Runtime Interface) 實現,類似 kubelet,隨著 rkt 項目退出 CNCF,rktlet 也無人維護,如今正式被移出。
Knative
在 Knative 中,RevisionTemplateSpec 像 PodSpec 的一個子集,只實現了部分功能。為了保持 Knative 的簡易性,哪些字段需要加,哪些字段不需要加,文檔中列出了一些條件。另外針對運維角色,有些字段不是面向開發的,但 K8s 都把字段暴露出來了,K8s 這樣做不意味著 Knative 也需要這樣做,可以把它作為一個 Configmap 的配置值或者新增運維的 CRD。
在事件系統中,事件生產者和消費者通常不直接通信。在許多情況下,都涉及充當事件總線的消息中間件。通過這種方式,可以對事件進行集中管理,消費者和生產者可以發出和訂閱哪些內容,并且可以設置過濾器或策略。因此,引入了事件域的定義。
Istio
Istio CNI 競爭問題是指在通過使用 Istio CNI 插件配置容器網絡安裝 iptables 規則時,可能會遇到應用程序的 pod 在 Istio CNI 配置完成之前就啟動,導致出現沒有配置 iptables 規則的應用程序 pod 出現,這會導致安全問題,因為可以繞開所有的 Istio 策略檢查。
社區討論了可能在 Istio1.5 中提供的短期方案,并提出長期方案是希望 K8s 提供標準方法:在節點調度 Pod 之前,確保關鍵守護程序已經準備好;如果關鍵守護程序失敗,請污染節點。后續將與 K8s 社區繼續討論。
開源項目推薦
基于OAM(開放應用模型)的 Go 語言 SDK,SDK 中包含了 OAM Spec 的解析和 Controller 框架,可以快速構建 OAM 的實現,快速對接標準應用模型。
Vault 是 HashiCorp公司(旗下還有Vagrant,Terraform,Consul 等知名產品)維護的開源軟件,它的設計思想基于云原生背景下動態基礎設施的特點,在云上的不同網絡層以及不同的服務之間已經很難找到傳統的信任邊界,服務之間更加強調以身份(identity)為核心的認證和訪問控制,而不是像傳統靜態基礎設施中以 IP、主機地址作為信任憑證(與 K8s 對接)。
kube-score 是 K8s 對象靜態檢查工具,通過分析 K8s 對象的 Yaml 文件做一些推薦,以提升可靠性和安全性。
本周閱讀推薦
InfoQ 國際總站發表文章《阿里巴巴視角下的開放應用模型》,詳細講述了 OAM 的由來以及阿里巴巴在 K8s 應用管理上的實踐。
使用 Vault 在 Kubernetes 體系中提供動態數據庫鑒權信息,文中針對云原生場景下 Pod 生命周期短、變化快等問題,Vault 提供了一系列 Policy 解決動態鑒權信息注入的問題。
在 Kubernetes 上 debug DNS 問題的指南。
本文介紹了螞蟻金服和阿里巴巴集團場景下對 Sidecar 容器的各種使用方式。
從 2008 年基于內核 cgroup 的 LXC 誕生至今,現代 Linux 的容器化已逾 10 年,先后有基于 cgroup/namespace 的進程隔離容器技術、基于 CPU 硬件指令集的虛擬化技術,以及通過重寫內核功能實現的用戶空間內核容器技術紛紛登場,各有千秋。
StackRox 的聯合創始人,首席技術官Ali Golshan 對 2020 年技術發展做了一些預測,這些預測涉及 Kubernetes 和服務網格技術的增長。
“阿里巴巴云原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦云原生流行技術趨勢、云原生大規模的落地實踐,做最懂云原生開發者的技術圈。”
總結
以上是生活随笔為你收集整理的CNCF 宣布 TUF 毕业 | 云原生生态周报 Vol. 33的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go 开发关键技术指南 | Go 面向失
- 下一篇: 开放应用模型操作指南(一)| 云服务一键