Categories
程式開發

雲原生生態週報 Vol. 33:CNCF 宣布 TUF 畢業


前言

《雲原生生態週報》由阿里雲容器平台聯合螞蟻金服共同發布,每週一期。眾多一線社區專家與您一起“跟踪動態,讀懂社區”,分享雲原生社區項目進展、活動發布、精選博客等信息。以下是第三十三期雲原生生態週報的內容。

業界要聞

  1. CNCF 宣布 TUF 畢業

CNCF 宣布 TUF(The update Framework)項目正式畢業,成為繼 Kubernetes、Premetheus、Envoy、CoreDNS、containerd、Fluentd Jaeger 以及 Vitess 之後,第九個正式畢業的項目。 TUF 是一項用於保護軟件更新系統的開源安全技術,也是從雲原生計算基金會畢業的第一個以規範與安全性為重點的項目。與此同時,TUF 還是首個源自高校的 CNCF 畢業項目。

  1. Istio 發布安全公告
  • 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 或以上。

  1. 2020 年 Service Mesh 三大發展趨勢
  • 隨著 Kubernetes 的愈發普及和標準化,應用場景越來越複雜,服務網格的需求會快速增加;

  • Istio 的先發優勢會越來越明顯,以至於它很難被擊敗,因為越來越多的軟件供應商會提供 Istio 的解決方案;

  • 更多的使用場景會出現,目前服務網格的使用場景主要在“mTLS(統一鑑權解決方案)”,“應用可觀測性解決方案”,“流量管理解決方案”,2020 年會出現服務網格技術的殺手級解決方案。

上游重要進展

Kubenetes

  1. add KEP: Node Maintenance Lease

增加用於Node 協作的租約,該提案主要解決的是多個組件對Node 均有操作,加鎖獨占的問題,比如在線debug Node 問題的時候,又比如Node 更新系統起作用的時候,不希望Node快照備份系統起作用。

  1. K8s 調度器升級計劃進入到階段二
  • 一階段是構建了新的調度框架,目標是把 scheduler 變成一個執行不同擴展插件的 callback 的引擎,可以註冊 callback 函數,把一系列調度計算、預測相關的函數作為 plugin;

  • 二階段的主要目標是把原先內置在 K8s scheduler 裡面的預測和調度算法移入對應的 plugin 中通過調度框架調用,許多 PR 圍繞該目標在展開。

  1. K8s 社區子項目 rktlet 正式被歸檔

rktlet 是基於容器運行時 rkt 項目的 CRI(Container Runtime Interface) 實現,類似 kubelet,隨著 rkt 項目退出 CNCF,rktlet 也無人維護,如今正式被移出。

Knative

  1. Knative serving PodSpec 功能性

在 Knative 中,RevisionTemplateSpec 像 PodSpec 的一個子集,只實現了部分功能。為了保持 Knative 的簡易性,哪些字段需要加,哪些字段不需要加,文檔中列出了一些條件。另外針對運維角色,有些字段不是面向開發的,但K8s 都把字段暴露出來了,K8s 這樣做不意味著Knative 也需要這樣做,可以把它作為一個Configmap 的配置值或者新增運維的CRD 。

  1. 關於事件域 Eventing domains

在事件系統中,事件生產者和消費者通常不直接通信。在許多情況下,都涉及充當事件總線的消息中間件。通過這種方式,可以對事件進行集中管理,消費者和生產者可以發出和訂閱哪些內容,並且可以設置過濾器或策略。因此,引入了事件域的定義。

Istio

  1. 社區在討論如何緩解 Istio CNI 競爭問題

Istio CNI 競爭問題是指在通過使用Istio CNI 插件配置容器網絡安裝iptables 規則時,可能會遇到應用程序的pod 在Istio CNI 配置完成之前就啟動,導致出現沒有配置iptables 規則的應用程序pod 出現,這會導致安全問題,因為可以繞開所有的Istio 策略檢查。

社區討論了可能在 Istio1.5 中提供的短期方案,並提出長期方案是希望 K8s 提供標準方法:在節點調度 Pod 之前,確保關鍵守護程序已經準備好;如果關鍵守護程序失敗,請污染節點。後續將與 K8s 社區繼續討論。

開源項目推薦

  1. OAM Go SDK

基於OAM(開放應用模型)的 Go 語言 SDK,SDK 中包含了 OAM Spec 的解析和 Controller 框架,可以快速構建 OAM 的實現,快速對接標準應用模型。

  1. Vault

Vault 是HashiCorp公司(旗下還有Vagrant,Terraform,Consul 等知名產品)維護的開源軟件,它的設計思想基於雲原生背景下動態基礎設施的特點,在雲上的不同網絡層以及不同的服務之間已經很難找到傳統的信任邊界,服務之間更加強調以身份(identity)為核心的認證和訪問控制,而不是像傳統靜態基礎設施中以IP、主機地址作為信任憑證(與 K8s 對接)。

  1. kube-score

kube-score 是 K8s 對象靜態檢查工具,通過分析 K8s 對象的 Yaml 文件做一些推薦,以提升可靠性和安全性。

本週閱讀推薦

  1. 《The Open Application Model from Alibaba’s Perspective》

InfoQ 國際總站發表文章《阿里巴巴視角下的開放應用模型》,詳細講述了 OAM 的由來以及阿里巴巴在 K8s 應用管理上的實踐。

  1. 《Dynamic Database Credentials with Vault and Kubernetes》

使用 Vault 在 Kubernetes 體系中提供動態數據庫鑑權信息,文中針對雲原生場景下 Pod 生命週期短、變化快等問題,Vault 提供了一系列 Policy 解決動態鑑權信息注入的問題。

  1. 《Debugging and Monitoring DNS issues in Kubernetes》

在 Kubernetes 上 debug DNS 問題的指南。

  1. 《將 Sidecar 容器帶入新的階段 | KubeCon NA 2019》

本文介紹了螞蟻金服和阿里巴巴集團場景下對 Sidecar 容器的各種使用方式。

  1. 《容器十年:隔離性、效率與兼容性》

從2008 年基於內核cgroup 的LXC 誕生至今,現代Linux 的容器化已逾10 年,先後有基於cgroup/namespace 的進程隔離容器技術、基於CPU 硬件指令集的虛擬化技術,以及通過重寫內核功能實現的用戶空間內核容器技術紛紛登場,各有千秋。

  1. 《StackRox 2020 預測:從 Kubernetes 到 DevOps》

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)。