雲原生生態週報 Vol. 13 | Forrester 發佈企業級容器平臺報告

業界要聞

一、近日,全球知名市場調研機構Forrester發佈首個企業級公共雲容器平臺報告其中,阿里雲容器服務的市場表現全球前3、中國第一,同時創造中國企業最好成績,進入強勁表現者象限。報告顯示,阿里雲容器服務市場表現爲中國第一,與谷歌雲並列全球第三。 Forrester 分析師認爲,「阿里雲容器服務提供了普遍的開發和應用服務支持能力,而且具有豐富的市場生態和合做夥伴體系,是企業在中國尋求完備容器雲服務能力的最佳選擇。node

二、 Virtual Kubelet 開源項目發佈第一個可商用1.0版本,本次發佈的主要特色包括:git

  • API將趨於穩定
  • 發佈版再也不提供二進制文件,用戶能夠自定義發行版。
  • 提供測試用的CLI
  • 非通用版的 Charts 也將從庫中移除

上游重要進展

Kubernetes 項目
1 Kubernetes 設計加強提議(KEP):github

  • Even Pods Spreading,這個設計提議經過 MaxSkew 算法來儘可能均勻的調度 Pod 到目的節點,相關的PR(#77760、# 7782八、# 7906二、#79063)。
  • 加強 DaemonSet 灰度能力: 新增SurgingRollingUpdate,並在RollingUpdate和SurgingRollingUpdate中增長灰度升級的能力。

2 Scheduler Framework 特性添加了Filter插件,Filter插件用於過濾掉沒法運行Pod的節點,可將全部現有的predicates 函數轉換爲Filter插件。https://github.com/kubernetes/kubernetes/pull/78477正則表達式

Knative 項目算法

  1. Importers 中事件類型命名空間該如何設置?GitHub社區關於該問題展開了討論,首先關於Importer中功能定位進行了確認。包括
  • 針對事件生產者進行事件訂閱及管理
  • 從事件生產者獲取事件信息
  • 將事件轉化成標準的CloudEvent
  • 將事件發送到相應的Sink

其中針對將事件轉換成CloudEvent時,事件的類型的命名空間前綴須要進行修改。以githhub事件爲例,當前轉換成CE(CloudEvent)時,設置爲dev.knative.source.github., 是否應該以事件生產者做爲命名空間com.github.,參考CloudEvent給出的映射處理:https://github.com/cloudevents/spec/blob/master/adapters/github.md後端

  • CloudEvent事件屬性過濾。針對Cloud Event中除了data以外的其它屬性,都應該能夠經過Trigger進行過濾。
  • 修改事件註冊 Registry: 經過修改eventtypes ,支持發現Importer事件類型,加強事件註冊Registry機制。該方案進行了進一步的討論,包括經過eventTypesSupported替換eventTypes,這樣表述更能讓end-user清晰明白。
  • Make it easier to consume events directly from specific sources。針對事件源,優化用戶使用場景本週肯定了Decision,預計會在 0.9 以後實現。大體方案是用戶能夠直接在Eventype以及Trigger中指定事件源進行建立,參考Demo

Istio 項目服務器

Istio 發佈了 1.2.x 和1.1.x 系列的最新版本1.2.3和1.1.12,加強了在虛擬服務中定義基於正則表達式的HTTP URI匹配時支持大小寫的能力,這樣用戶能夠定義出更加靈活的匹配路由規則。此外,Istio在多集羣管理方面也提供了3種不一樣方式:多個控制平面、同VPC網絡下的單控制平面與多個VPC網絡下的單控制平面。值得注意的是,這幾種方式並非互斥的,在一個大型多集羣網格環境下,既能夠多個集羣共享一個控制平面,同時也能夠與其餘集羣保持獨立的控制平面。這種場景在混合雲多雲環境下比較常見,例如在阿里雲ACK容器服務控制檯中能夠接入外部已有集羣,並與ACK集羣造成一個服務網格。網絡

開源項目推薦

  1. IBM推出的Kabanero項目:它將基礎開源技術整合到了一個微服務的框架中,包括Knative、Istio與Tekton,還有Appsody、Codewind和Razee,幫助用戶構建、部署和管理基於 Kubernetes 的應用程序的生命週期。快速建立雲原生的 App,目前支持多種語言。包括nodeJS,Java,Swift等。[](https://github.com/kabanero-io)
  2. Kyverno,K8s Admission Controller 擴展項目它能夠設置各類policy做爲自定義admission的補充,能夠約束用戶的某些行爲,例如必設置資源時必須設置limit和request,設置鏡像版本時,必須按照指定的拉取策略設置等等。[](https://github.com/nirmata/kyverno#1-validating-resources)
  3. [k6](https://k6.io]:k6 是一個以開發人員爲中心的開源負載和性能迴歸測試工具,用於測試雲原生後端基礎架構的性能:API、微服務、無服務器、容器和網站。它能夠很好地集成到開發工做流程和 CI/CD 自動化管道中。

本週閱讀推薦

  1. 在 Kubernetes 上使用 Jenkins(https://mp.weixin.qq.com/s/-uCMaAr38B0Ge-cn5WQcVA) 本文描述了基於Kubernetes + Jenkins的一種DevOps的解決方案。
  2. Cluster Monitoring With Prometheus Operator https://containerjournal.com/2019/07/29/cluster-monitoring-with-prometheus-operator/ 本文簡要描述了Prometheus Operator 在Kubernetes的無縫安裝和其做用、工做原理以及幫助監控經過 Prometheus Operator發揮做用以發現目標並削減冗餘指標。
  3. 基於邊緣容器的阿里雲CDN雲原生實踐 , 阿里雲容器服務於8月1號正式公測「邊緣Kubernetes集羣託管」服務,該服務面向CDN、IoT等諸多邊緣計算場景,提供雲邊一體的雲原生體驗。CDN場景中不只規模比較大,並且也能錘鍊整個邊緣集羣的穩定性和大規模的服務能力。
  4. Knative 基本功能深刻剖析:Knative Serving 自動擴縮容 Autoscaler 。Knative Serving 默在認狀況下,提供了開箱即用的快速、基於請求的自動擴縮容功能 - Knative Pod Autoscaler(KPA)。本文旨在分享如何在 Knative 中玩轉 Autoscaler。

 

本文做者:木環架構

原文連接框架

 本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索