規模、性能、彈性全面升級,讓天下沒有難用的 K8s
- 2019 年 10 月 3 日
- 筆記
作者 | 湯志敏 阿里雲容器服務開發負責人
Kubernetes 是雲原生時代的基礎設施、雲上的分散式作業系統。
9 月 26 日雲棲大會容器專場,在《拐點已至,雲原生引領數字化轉型升級》的演講中,容器服務開發負責人湯志敏表示:「阿里雲容器服務已經擁有中國最大規模的公共雲容器集群,據各大國際評測機構顯示,其市場份額和產品綜合能力中中國第一。
本次容器服務 ACK2.0 在規模、性能和彈性能力上全面升級,支援單集群萬節點、90% 原生性能的安全沙箱容器、分鐘級千節點彈性。此外,容器服務已經在全球 20 個地域部署,推出雲原生混合雲 2.0 架構和 ACK@Edge,打造安全智慧的無邊界雲計算。
本文根據演講內容整理,關注阿里巴巴雲原生公眾號,回復「雲原生」獲得本文 PPT。
K8s,雲原生時代的重要生產力
在早期,K8s 上跑的應用多是無狀態的應用,而現在越來越多的企業核心業務、數據智慧業務和創新業務也跑在 K8s 之上。以阿里雲自身的雲產品舉例,包括企業級分散式應用服務 EDAS、微服務引擎 MSE、智慧數據管理平台 Dataphin、數據湖分析 Data Lake Analytics 也部署在容器服務 ACK 之上。
如今,阿里雲實時計算產品也推出了雲原生實時計算 Flink 版本,讓 Flink 可以部署在用戶的 K8s 集群之上,讓在線業務和流計算共享一個 K8s 集群,降低運維成本的同時可以享受彈性。我們正在見證 K8s 成為雲原生時代的基礎設施,成為雲上分散式作業系統,成為平台的平台。大量企業在享受雲原生帶來的敏捷、彈性和可移植能力。
為什麼我們認為 「雲原生拐點已至」?
CNCF 在 8 月份頒布了雙年度報告,結果表明:
- 在生產環境的雲原生應用和項目增長超過 200%
- StackOverflow 在今年的年度開發者報告中指出,容器和 Kubernetes 已經成為 Linux 之後最受歡迎的項目
- Gartner 在今年的容器最佳實踐中預測:「到 2022 年有 75% 的全球化企業將在生產中使用容器化的應用」
種種跡象表明容器技術已經逐漸深耕落地。
致敬容器領域的先行者
我們不妨先來共同回顧下阿里雲容器服務的發展之路。2011 年,阿里率先在中國布局容器技術。2015 年底,容器服務公測上線,到今天已經有 4 個年頭,目前已經在全球 20 個地域開服,服務了來自中國、北美、歐洲、東南亞等地的來自互聯網、金融、政務、製造等行業的數萬用戶和企業,擁有中國最大的公共雲容器集群。感謝大家的陪伴,容器服務連續三年業務增長超400%,截止 8 月份每月鏡像下載量超 3 億,容器服務已經逐漸成為雲原生應用的首選。
此外,容器服務也獲得了國際權威諮詢師的認可。6 月 Gartner 發布的公有雲容器服務競爭格局中,阿里雲是唯一進入該報告的中國雲廠商。今年 7 月,在 Forrester 的容器報告中,阿里雲在全球處於強力表現者,在市場份額和產品綜合競爭力位列中國第一。
除了阿里自身,越來越多的企業也享受到了雲原生技術的紅利。三維家基於容器快速遷雲,提升雲資源利用率。民生銀行基於 Kubernetes 優化其核心應用架構,加速業務迭代。微博基於 Kubernetes 統一管理異構資源,加速 AI 計算,促進應用數據化智慧化;跨國企業西門子將其開放式物聯網作業系統 MindSphere 部署在 ACK 之上,屏蔽底層基礎設施差異,實現多雲戰略。
三維家是一家來自廣東的企業,他將 3D 全景技術應用到家居設計,引領家裝行業變革。過去,三維家採用自建 IDC 的傳統方式,運維團隊「一攬子包干」,耗時費力,團隊疲於奔命,很難跟上業務發展對算力的需求。
2018 年,三維家開始將部分業務遷移到雲上,基於容器服務 ACK 和近千台裸金屬服務進行統一的任務調和家居渲染業務。三維家通過容器化技術,分批切換完成了最終的業務上線,整體應用搬遷上雲累計只用三天。上雲前,當遇到資源擴展時,工作量就非常大。現在可以利用容器的自動彈性伸縮,3 分鐘即可開通 100 台裸金屬伺服器,應對波峰波谷的業務特性。此外,利用 Kuberentes 內置灰度發布能力,可以依據客戶的級別、付費模式提供不同版本的渲染技術和不同的服務迭代。
相信大家都使用過微博,對微博的大 V 和熱門微博非常感興趣。微博目前有超 2 億日活用戶,那微博是如何把這些熱點內容根據用戶的不同興趣推送給每個人,實現千人千面的。這背後就有微博在線機器學習的功勞。微博機器學習平台可以把實時計算和在線學習能力應用到熱門微博和 feed 流等業務場景,通過海量實時樣本分析,進行模型的訓練和服務。
整個在線學習服務鏈路長,對離在線服務實時性與穩定性要求非常高。為了充分發揮離在線混部優勢,提供高效穩定的服務治理,動態地彈性調度資源,微博採用了 all on K8s 的方案:
- 在樣本拼接方面,通過採用阿里雲 Blink on ACK 方案,在相同資源下,實時計算的性能較開源方案有 2.4 倍提升;
- 在實時訓練方面,支援百億級實時樣本和萬億級緯度超大規模稀疏模型;
- 模型推理方面,通過自研推理框架 on ACK 方案,對異構集群資源進行統一混合調
- 度,提供高性能線上服務能力,支援 50 萬峰值 QPS。
ACK 2.0 全新升級,讓天下沒有難用的 K8s
很多還沒有大規模實踐 Kubernetes 的企業和用戶,可能想了解 Kubernetes 生產落地有哪些經驗和痛點。我們做了一些調查,大家普遍存在以下痛點問題:如何保證 K8s 及其上應用的安全合規?如何統一管理雲上和雲下的 K8s 集群?如何運維大規模的 K8s 集群?如何充分利用豐富的 K8s 上下游生態?
針對上述問題,阿里雲容器服務團隊結合企業生產環境的大量實踐,推出一系列功能來全面協助企業真正將 Kubernetes 落地。
端到端的企業級安全能力
首先我們來看安全領域,如何保障雲原生時代的端到端的企業級安全能力。
容器和雲原生時代的安全挑戰和傳統安全有什麼不同?
- 第一個是高動態和高密度。傳統時代一台機器只跑幾個應用,而現在在一台伺服器會運行上百個應用,是原來十幾倍的密度。另外考慮到容器的自動恢復等特性,上一刻的容器在A機器,下一刻就會隨時漂移到另一台機器。
- 第二個是敏捷和快速迭代,容器 +DevOps 化的應用發布非常頻繁,是傳統的幾倍。
- 第三,在開放標準、軟體行業社會化大分工的時代,越來越多不可信三方開源軟體的引入也加劇了安全風險。而容器的這些特點都會對雲原生安全提出了更高的要求。
為了應對這些安全風險,容器服務推出了立體式的端到端雲原生安全架構升級。他會從三個層面來解決安全問題:
- 最底層是基礎架構安全,支援全方位網路安全隔離管控和全鏈路數據加密,提供阿里雲主子帳號和 K8s RBAC 許可權體系的聯動,支援細粒度的許可權和審計能力;
- 中間是安全軟體供應鏈,支援鏡像掃描、磁碟 BYOK 加密等能力,打造完整的 DevSecOps。
- 最上層是運行時安全,提供了運行時安全掃描、多租戶管理、KMS支援等能力;接下來我們重點看下安全軟體供應鏈和安全沙箱容器。
業務的頻繁調整和上線對業務流程安全提出了更高的要求,將安全工作前置,從源頭上做好安全才能消除隱患。基於容器鏡像服務的雲原生安全軟體供應鏈,可以將安全內置到全流程的開發過程中,確保上線即安全。有三個優勢:
- 第一個提供容器運行時掃描,在阿里雲的安全中心,可以一站式的查看容器和非容器的運行時威脅監控與阻斷。實現靜態到動態的全生命周期管理。
- 第二個提供完整的軟體交付鏈,交付鏈全鏈路可觀測、可追蹤、可自主設置,智慧優化提升交付效率。在漏洞識別後,會阻斷髮布。做到可阻斷可編排。
- 第三個提供全球分發能力,分發到不同的後端,鏡像全球同步效率提升7倍。
我們希望打造新一代的 DevSecOps 安全開發流程,做到斬隱患於萌芽,遁威脅於無形。
如果您在 K8s 集群內部署了開源的或第三方不可信的應用,那麼可以考慮看下我們的安全沙箱容器功能。相比於普通的 Pod,安全沙箱容器具有獨立內核,保證安全隔離。大家都知道,安全、兼容性和性能是一個三角,同時做到會比較難。
而經過我們的大量性能優化,安全沙箱容器的性能,已經可以接近 90% 的原生 runC 性能。此外,值得一提的是,可以在一台雲伺服器上同時部署普通 Pod 和安全沙箱 Pod,做到混部能力。用戶完全可以根據自己的業務特性做自主選擇。在可觀測性方面,我們提供了安全沙箱場景下完整的日誌監控等能力增強。
拓展雲計算的邊界
我們回到第二個問題,如何解決雲上雲下統一管理的問題。接下來我會介紹容器服務 ACK 的無邊界雲計算解決方案。
很多企業在思考上雲策略的時候,出於數據主權和安全合規的考慮,會將部分業務彈性遷移到雲上。比如微博和B站在有一些熱門活動時,應用會從 IDC 彈性到雲上,應對突發流量。一些銀行和政府在考慮搭建災備中心的時候,選擇阿里雲作為低成本的雲容災或者多活方案。混合雲已經成為企業上雲的新常態。不過混合雲帶來的挑戰是:雲上和雲下的基礎設施能力不一致,安全管理不統一,如何統一管理應用?
容器服務 ACK 本次推出了以應用為中心的混合雲 2.0 架構,
在納管能力上,可以在用戶 IDC 的 K8s 集群上輕鬆安裝一個 agent,一鍵被雲上的容器服務納管。如果您不想管理 IDC 的 K8s 集群,也可以選擇我們的 ACK 敏捷版。在所有的集群註冊完畢之後。可以通過 ACK 的集群聯邦能力提供統一的應用部署、安全治理和可觀測性能力。
此外,如果您想配置不同集群的負載均衡和流量和發布策略,可以通過容器服務的服務網格能力統一管理。
通過使用容器服務的雲原生混合雲管理能力,可以有三個方面的優勢:
- 第一個:可以實現統一的集群管理,統一的安全治理、應用管理和可觀測性。以及跨雲的彈性伸縮
- 第二個:可以通過阿里雲的雲企業網,將多個地域的 VPC 和 IDC 網路組成一張環網,實現全網互聯、全球就近接入,保證高速低延時
- 第三個:可以通過智慧流量管理,優化不同地域的服務訪問策略,提升業務連續性
如果您想嘗試雲原生混合雲,但是還未開始搬遷上雲,我們提供了一攬子云原生平滑遷雲工具集,簡化您的搬遷成本。他可以從三個方面來簡化搬遷的過程,包括應用鏡像、應用配置、應用狀態和數據。我們提供了 Packer 能力,可以將您的 OS 鏡像打包成 ECS 的自定義鏡像。通過 Docker 鏡像遷移工具,將容器鏡像自動遷移到阿里雲的容器鏡像倉庫。通過 velero 工具,將您的 K8s 應用配置無縫遷移到阿里雲的 ACK。通過 DTS 幫助您無縫同步資料庫。
隨著 5G 和物聯網時代的到來,通過傳統雲+數據中心來集中存儲、計算的模式已經無法滿足終端設備對於時效、容量、算力的需求。將雲計算的能力下沉到邊緣側、設備側,並通過中心進行統一交付、運維、管控,將是雲計算的重要發展趨勢。
為此容器服務正式推出 ACK@Edge,支援統一管理雲端和邊緣節點,支援統一應用發布,發布效率提升 3 倍。基於邊緣的應用部署,可以降低網路延遲 75%。考慮到邊緣的特性,提供了額外的單元化隔離和斷連自治。同樣,如果想在邊緣部署不可信三方應用,我們在 ACK@Edge 也提供了安全沙箱容器能力。
接下來介紹下優酷是如何基於 ACK@Edge 來完成他的架構演進。大家都知道優酷是可以播放海量的影片。隨著優酷業務的發展,他需要支援數百個城市。這時候優酷需要考慮將原來在 IDC 內的集中式架構,演進到邊緣架構。
這時候需要考慮一種方式,來統一管理阿里雲幾十個 region 和上千個邊緣節點。優酷選擇了 ACK@Edge,可以統一管理 ECS 和邊緣的節點,並做統一的應用發布和彈性擴縮容。通過動態擴縮容能力,節省了機器成本 50%。採用新的架構之後,原來播放影片的鏈路也從公網變成骨幹網到邊緣節點再到終端,優化了網路延遲 75%。
無伺服器化的基礎設施
我們回到第三個問題,如何去管理K8s集群的海量節點的升級和運維。我們希望通過 serverless化的方案,幫助企業降低運維成本。
2018 年,容器服務發布了 Serverless k8s 1.0版本,用戶完全不需要管理他的 K8s worker 節點,從而不用關注節點的環境配置、伺服器管理、維護升級等環節,從根源上解決了 Kubernetes 運維難題。將開發人員的效率最大化,無需容量管理,無懼安全風險。
今天阿里雲容器服務正式推出 Serverless Kuberentes 2.0 升級,同時結束公測開始商業化。Serverless Kuberentes 2.0 全面提升了 K8s 兼容性、安全性和極致彈性。在兼容性方面支援多命名空間、RBAC 安全模型,支援 Istio 和 Knative 等框架,是業界兼容 Kubernetes 最好的 Serverless 服務;在彈性能力上支援 GPU 實例,500 pod 啟動小於 50s。
目前 Serverless Kuberentes 在 Job 任務、在線彈性等多個場景中廣泛應用,幫助用戶輕鬆擁抱「以應用為中心」的雲原生架構。
我們並未止步於 Kubernetes 本身,我們還在 Serverless Kubernetes 之上基於 Knative 構建了一套 Serverless Framework 套件。Serverless Framework 可以簡化事件處理、程式碼構建、服務部署等,同時無縫集成阿里雲的各種事件源,包括消息服務、服務服務等事件源。以及可觀測性能力。可以讓企業自己搭建各類 Serverless 產品,無論是面嚮應用、容器還是函數。希望可以助力大家一起打造下一代的無服務應用。
保持開放,容器應用市場發布
最後,在雲原生日趨成熟的年代,我們希望合作共贏,打造開放雲原生生態。
容器服務積极參与並回饋雲原生社區,在 moby/kubernetes 等開源項目社區貢獻領先。目前已經是 CNCF 雲原生計算基金會的白金會員,李響也成為 CNCF 技術監督委員會的唯一華人成員。OCI 開放容器聯盟的成員,CNIA 雲原生產業聯盟的理事成員。阿里雲容器服務也成為Kubernetes 一致性認證產品和認證服務提供商。
除了開源和雲原生社區之外,我們也致力於尋求打造全球合作夥伴生態。在 2019 年,我們的全球生態夥伴又多了一些新面孔。SAP Cloud Platform 基於開源項目 Gardener,已經支援容器服務 ACK,為企業提供大規模混合雲集群管理能力。
隨著在容器服務上運行人工智慧應用的越來越流行,來自英國的人工智慧服務提供商 Seldon提供了雲原生 AI 模型推理服務。來自印度的 Click2Cloud,他們在最新的 Cloubbrain 支援 ACK,為企業客戶向雲原生應用遷移提供了完整的解決方案。來自歐洲的容器平台廠商 BanzaiCloud 有一套完整的混合雲與 Istio 的產品,他們的 pipeline 產品已經支援 ACK,從而使得客戶可以從成本優化的角度創建和管理不同雲廠商的容器集群。
除了合作方面,今年我們在阿里雲市場全新上線容器應用的一級類目,希望可以鏈接企業和雲原生創新。對於雲原生的開發者來說,可以便捷的找到經過阿里雲認證的、標準的容器生態產品,包含開源免費的、商業化收費的容器產品,快速在集群上使用,滿足您多場景下的業務需求。對於我們的合作 ISV 來說,您可以使用標準化的交易流程及豐富客戶資源,降低售前、交易、交付、售後等流程的複雜度。
接下來我會隆重介紹一期即將入住阿里雲容器應用市場的合作夥伴:
- Intel 全球最大的個人電腦零件和CPU製造商。其 Intel Clear Linux 將基於 Aliyun Linux 2 製作優化過的應用軟體的基礎鏡像,後續將以容器鏡像的形式輸出阿里雲容器應用雲市場,幫助更多容器客戶更安全、輕量、高效運行容器。
- 奧哲網路科技有限公司,是中國領先的流程管理系統(BPM)供應商,後續奧哲BPM 管理產品-雲樞將在容器應用市場上商業化售賣,幫助企業通過業務、管理在線實現數字化經營。
- Fortinet 是行業領先的網路安全和惡意軟體防護公司,能夠為業務通訊提供最佳安全、高性能、低成本的安全解決方案。後續 Fortinet 將在容器應用市場提供容器安全防護套件,為容器企業客戶提供完整運行時的容器安全解決方案。
新基石、新算力、新生態
最後我們一起來回顧下本次容器服務 ACK 2.0 的雲原生進化和願景:讓我們一起打造雲原生時代的新基石、新算力、新生態。
在新基石方面,容器服務致力成為全場景化的雲原生技術設施,提供全鏈路安全架構,支援全球部署,單集群支援萬節點規模。容器服務提供了雲邊端一體化解決方案和混合雲 2.0 架構,助力邊緣延時降低 75,提升交付效率 3 倍。
在新算力方面,容器服務 ACK 2.0 支援極速彈性,分鐘級千節點伸縮;支援異構算力,通過增強調度實現利用率提升 5 倍;支援安全沙箱容器,強隔離,90% 原生性能。
在新生態方面,容器服務希望攜手雲原生開發者和雲原生合作夥伴,共創雲原生未來。感謝大家,感謝各行各業的客戶和我們一路同行。拐點已至,讓我們一起通過雲原生引領數字化轉型。
「 阿里巴巴雲原生微信公眾號(ID:Alicloudnative)關注微服務、Serverless、容器、Service Mesh等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術公眾號。」