前言
《雲原生生態週報》由阿里雲容器平臺聯合螞蟻金服共同發佈,每週一期。衆多一線社區專家與您一起“跟蹤動態,讀懂社區”,分享雲原生社區項目進展、活動發佈、精選博客等信息。以下是第三十三期雲原生生態週報的內容。
業界要聞
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 和服務網格技術的增長。
相關閱讀
雲原生生態週報 Vol. 32:Istio 1.5 版本開發中
雲原生生態週報 Vol. 31:Kubernetes v1.17 版本解讀
雲原生生態週報 Vol. 30:Rancher 新版本默認支持 Kubernetes 1.16
雲原生生態週報 Vol. 29:Kubernetes 擬支持 Cgroup v2
雲原生生態週報 Vol. 28:Mirantis 收購 Docker 企業業務
雲原生生態週報 Vol. 27:Helm 3 發佈
雲原生生態週報 Vol. 26:2019 年容器生態統計報告發布
雲原生生態週報 Vol. 25:Canonical 開源 MicroK8
雲原生生態週報 Vol. 24:Ubuntu 19.10 發佈
雲原生生態週報 Vol. 23:全球首個開放應用模型 OAM 開源
雲原生生態週報 Vol. 22:Knative 暫時不會捐給任何基金會
雲原生生態週報 Vol. 21:Traefik 2.0 正式發佈
雲原生生態週報 Vol. 20:Kubernetes v1.16 發佈
雲原生生態週報 Vol. 19:Helm 推薦用戶轉向 V3
雲原生生態週報 Vol. 18:獨家解讀 etcd 3.4 新特性
雲原生生態週報 Vol. 17 :Helm 3 發佈首個 beta 版本
雲原生生態週報 Vol. 16:CNCF 歸檔 rkt,容器運行時“上古”之戰老兵凋零
雲原生生態週報 Vol. 15:K8s 安全審計報告發布
雲原生生態週報 Vol. 14:K8s CVE 修復指南
雲原生生態週報 Vol. 13 | Forrester 發佈企業級容器平臺報告
雲原生生態週報 Vol. 12 |K8s 1.16 API 重大變更
雲原生生態週報 Vol. 11 | K8s 1.16 早知道
雲原生生態週報 Vol. 10 | 數據庫能否運行在 K8s 當中?
雲原生生態週報 Vol. 9 | K8s 1.15 後的性能提升
雲原生生態週報 Vol. 8 | Gartner 發佈雲原生趨勢
雲原生生態週報 Vol. 7 | Docker 再爆 CVE
雲原生生態週報 Vol. 6 | KubeCon EU 亮點彙總
雲原生生態週報 Vol. 5 | etcd 性能知多少
雲原生生態週報 Vol.4 | Twitter 從 Mesos 全面轉向 Kubernetes
雲原生生態週報 Vol. 3 | Docker Hub 遭入侵,Java 8 開始提供良好的容器支持
雲原生生態週報 Vol. 2 | Godaddy 開源 KES、CNCF 提供免費雲原生課程
雲原生生態週報 Vol. 1 | Google 發佈 Cloud Run,開源項目 Kubecost 讓 K8s 花費一目瞭然
本文轉載自阿里巴巴雲原生微信公衆號(ID:Alicloudnative)。