雲原生生態週報 Vol. 5: etcd性能知多少

前言

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

業界要聞

  1. Azure Red Hat OpenShift已經GA。在剛剛結束的Red Hat Summit 2019上,Azure Red Hat OpenShift正式宣佈GA,這是一個微軟和紅帽共同打造的Managed Kubernetes服務:原本的紅帽的OpenShift本身就存在on-premise和公有云兩個選項,Azure Red Hat OpenShift的出現宣告了一個新的方向,即爲公有云廠商提供只在其雲平臺上運行的Managed Kubernetes服務。RHEL 8同樣在Red Hat Summit 2019上進行了發佈。

  2. DOCKER IMAGE VULNERABILITY (CVE-2019-5021):新發現的Docker Image安全漏洞

    • 問題:如果你的Container鏡像中包括 shadow 或者 linux-pam package並且有以non-root身份運行的service,攻擊者只要可以通過任何不安全手段連接系統(who compromised your system via an unrelated security vulnerabillity),或者可以使用shell,那麼攻擊者就可以獲取容器內容的root權限。
    • 被影響對象包括Docker image releases (7 March 2019):edge (20190228 snapshot)、v3.9.2、v3.8.4、v3.7.3、v3.6.5和已經停止維護的v3.5、v3.4和v3.3
    • 如果你的在被影響範圍內,請儘快進行修復,參見詳情
  3. 紅帽發佈Universal Base Image(UBI)。隨着RHEL 7,紅帽發佈了RHEL標準鏡像,爲客戶提供企業級別的容器能力。然而這個標準鏡像只能運行在Red Hat的平臺之上,意味着你必須是他們的客戶。而本次發佈的UBI可以疊加在任何OCI兼容的容器之上,無論你是否是付費客戶。UBI提供了一些列基礎能力,例如基礎鏡像、集中內置的語言(nodejs, ruby, python, php, perl, etc)、常用的RPM包等等。

上游重要進展

Kubenetes項目

  • Control Plane的metrics設計趨於穩定,開始考慮添加設計穩定性標註。目前K8s control plane提供的metrics是缺乏穩定性保障的,這個KEP的目的是爲metrics中的字段(name、type、label等)提供一種表達機制,來表明這些字段是否可以被可靠的修改。隨着目前control plane層的metrics趨於穩定,未來的修改應該謹慎並引入管控機制。具體可以看 Kubernetes Control-Plane Metrics Stability

Knative 項目

  • knative-eventing 0.6.0 發佈,主要特性是:增強易用性,新增Registy,便於事件消費;增強可用性:新增事件跟蹤機制以及 Metrics;簡化依賴,去掉 Istio 依賴,減少了對 Eventing-Sources 組件的依賴,數據源處理遷移到 Eventing 中。詳細說明請見 knative-eventing 0.6.0解讀文章
  • knative-serving 0.6.0 發佈,主要特性是:新api模型,移植v1beta1 API到v1alpha1 API,不兼容的部分預計會在0.7.0+實施;優化scale0實現方式,增加ServerlessService(SKS);集成Auto-TLS;控制器解耦,以便容易替換默認實現。詳細說明請見 knative-serving 0.6.0解讀文章。 ServerlessService(SKS)的詳細介紹請見 SKS解讀文章

更多可參見《Knative Eventing 中如何排查Event事件處理異常

開源項目推薦

  1. KubeOne: A New Lifecycle Management Tool for HA Kubernetes Clusters。KubeOne是一個幫助你部署、配置、升級高可用K8s集羣的工具。以Kubeadm作爲底層,KubeOne定義了Kubermatic machine-controller這個Cluster API,方便用戶可以以K8s的聲明式API方式來管理集羣中的worker節點。更多信息可以參考:KubeOne博文Github鏈接
  2. KEDA: a Kubernetes-based Event Driven Autoscaling component。微軟推出的基於事件的自動彈性方案。區別於傳統反應式的水平彈性方案(例如基於某個metric的變化),很多場景中用事件驅動的方式觸發彈性動作是更加可靠的方案。相關博文介紹了KEDA接入的豐富的事件源,包括Kafka, Azure Queues, Azure Service Bus, RabbitMQ, HTTP, and Azure Event Grid / Cloud Events等等。具體可以看 Announcing KEDA博文Github鏈接

本週閱讀推薦

  1. etcd 在超大規模數據場景下的性能優化,作者:陳星宇(宇慕)來自阿里巴巴。etcd是一個開源的分佈式的kv存儲系統, 最近剛被cncf列爲沙箱孵化項目。etcd的應用場景很廣,很多地方都用到了它,例如kubernetes就用它作爲集羣內部存儲元信息的賬本。本篇文章簡單介紹了阿里巴巴超大規模集羣中對etcd使用的場景也就是優化的背景和優化的必要性。在幹活部分,本文從etcd內部存儲系統的工作方式開始,詳細描述了阿里巴巴超大規模容器調度場景下對etcd進行優化的具體的實現方式,優化後性能提高24倍。總之這是一篇相當硬核的博文,從場景到代碼級別的診斷分析應有盡有。更加值得一提的是,本文得到CNCF官方網站的轉載。中文版鏈接英文版鏈接
  2. To Multicluster, or Not to Multicluster: Inter-Cluster Communication Using a Service Mesh, by Andrew Jenkins. K8s已經成爲容器編排的事實標準。在使用K8s解決了集羣內通訊的問題後,我們發現解決集羣間通訊似乎需要更多的設計以及難以避免的開銷。很多用戶的確有多集羣的需求,但是在你開始設計多集羣方案的時候,你真的瞭解你對多集羣的核心訴求嗎?你對多集羣的訴求和別人的理解真的一致嗎?這篇文章介紹了幾種典型的多集羣需求(統一管控的多集羣 vs 以高可用爲目的的多集羣 vs 組成複雜業務&集羣間密集通訊的多集羣),並指出適配這些需求需要的是不同的設計思路。如果你也在考慮多集羣的需求,不妨看一看。原文鏈接
  3. Kubernetes Operating Systems, by Steven Acreman. 從最早的CoreOS開始,隨着K8s的蓬勃發展,最近出現了k3os、Talos等與K8s息息相關的操作系統紛紛出現,那麼這些操作系統和在基礎Linux環境上安裝K8s有什麼不同?閱讀這篇文章可以幫助你梳理一下思路。原文鏈接
  4. Google Cloud Run詳細介紹: 在Cloud Next 2019 大會上,Google 宣佈了 Cloud Run,這是一個新的基於容器運行 Serverless 應用的解決方案。Cloud Run 基於開源的 knative 項目,宣稱要將 serverless 帶入容器世界。

本週報由阿里巴巴容器平臺聯合螞蟻金服共同發佈

本週作者:臨石,敖小劍,陳有坤,元毅,冬島

責任編輯:木環


前期週報回顧
雲原生生態週報 Vol.4:Twitter 從 Mesos 全面轉向 Kubernetes
雲原生生態週報 Vol. 3:Docker Hub 遭入侵,Java 8 開始提供良好的容器支持
雲原生生態週報 Vol. 2:Godaddy 開源 KES、CNCF 提供免費雲原生課程
雲原生生態週報 Vol. 1:Google 發佈 Cloud Run,開源項目 Kubecost 讓 K8s 花費一目瞭然


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章