ACP雲原生容器工程師 - 應用案例

集羣規劃構建

容器部署中的ECS選型

  • 在創建Kubernetes實例時,物理部署實體的選型對上層應用的性能起着非常大的影響。通過大型客戶在雲容器部署實踐的統計,很大一部分應用在容器部署中都沒有采用正確的部署方式。

容器集羣的高可靠配置

  • 在容器集羣部署規劃中,除了ECS選型之外,哎呦很多配置方式會直接影響集羣的可靠性,可總結爲以下5點:

    • 消滅SPOF:SPOF單點故障是高可靠性大敵,因此儘量直接使用Pod部署

    • 單進程容器:單進程容器便於容器內進行監控以及容器重啓操作

    • 配置探活:通過探活和重啓策略的配置監控容器內進程的健康狀態

    • 資源聲明:Pod的資源聲明可以保證K8s對Node資源的有效分配

    • 多可用區:通過多可用區避免物理故障

容器節點操作系統選擇

  • Alibaba Cloud Linux2是新一代阿里雲Linux操作系統,爲雲上應用程序提供安全、穩定、高性能的定製化運行環境,並針對雲基礎設施進行了深度優化,並提供更好的運行時體驗

網絡規劃

  • 在創建K8s集羣時,根據網絡插件的不同,需要指定專有網絡VPC、虛擬交換機、Pod網絡CIDR和Service CIDR,並做好ECS地址、K8s Pod地址和Service地址的規劃工作

  • 可選的網絡插件:Flannel、Terway

集羣接入服務網格ASM

  • 將部署容器集羣中的應用接入阿里雲服務網格ASM,可以簡化服務的網格化治理,實現服務的可觀測性,減輕開發與運維的工作負擔

 

集羣核心組件配置與優化

混合雲部署K8s集羣

  • 對於企業客戶而言,出於數據主權和安全隱私的考慮,大多會考慮使用多雲混合雲方式開展業務,以K8s爲代表的技術屏蔽了基礎設施的差異性,推動了以應用多雲混合雲新架構的到來

使用Terraform創建K8s集羣

  • Terraform是HashiCorp公司提供的一種開源工具,用於安全高效地預覽、配置、管理雲基礎架構和資源,幫助開發者自動化地創建、更新阿里雲基礎設施資源,並進行版本管理

Kubernetes對接ECI

  • ECI爲K8s提供一種層次化的解決方案,即ECI負責底層Pod容器資源的調度和管理工作,K8s在ECI之上作爲PaaS層來管理Deployment、Service、StatefulSet、CronJob等業務負載

  • ECI克承載ACK集羣或者ASK集羣

  • 混合使用ECI和傳統服務器

容器集羣的高彈性架構實現

  • 對於有波峯波谷的在線業務,或者機器學習、基因測序等對實時性要求不高、但是對成本敏感的應用,可以通過容器高彈性架構,全自動實現動態創建或釋放實例,達到成本的最優控制

  • ECI方式高彈性架構:適用於秒殺、爬蟲等短期高峯值應用場景

  • 使用ECS+ECI混合部署方式,保持互通

Ingress最佳實踐

  • 在K8s集羣中,Ingress是授權入站連接到達集羣服務的規則幾何,可以提供七層負載均衡能力,通過Ingress可以實現滾動升級、分批暫停發佈、藍綠髮布以及灰度發佈等發佈方式。以及不同集羣之間的流量複製。作爲集羣流量接入層,Ingress的高可靠顯得尤爲重要

CoreDNS

  • 容器集羣中部署了CoreDNS作爲內部DNS服務器,在集羣中推薦使用Service名作爲服務的訪問地址,通過CoreDNS服務可以實現從Service到Service的ip地址的解析。同時Serverless集羣中支持PrivateZone進行域名解析服務發現

 

使用案例 - 聚石塔

概念

聚石塔業務背景介紹

  • 聚石塔最早上線於2012年,是阿里集團幫助商家打造的開放電商雲工作平臺。它匯聚包括淘寶、天貓、阿里雲等整個平臺資源和資源優勢,同時依託於聚石塔,各種業務類型的服務商商家提供瞭如ERP、CRM、WMS等業務服務

聚石塔的業務痛點

  • 聚石塔的業務大致分爲兩部分:

    • 電商訂單服務連路上的系統如ERP、CRM、WMS

    • 電商行業中直接面向客戶的小程序場景,如手淘與千牛的小程序

其業務痛點如下:

  • 標準化和穩定性問題

  • 突發流量下的彈性問題

  • 效率和成本問題

聚石塔技術特點 - 應用和發佈標準化

  • K8s自帶的滾動發佈,雖然標準化了發佈環節,但在發佈期間無法暫停,即使服務起來了,可能功能和業務存在的問題,最終也會隨着滾動不斷擴大影響面;對此,聚石塔設計了支持暫停的分批發布,通過提前批的“金絲雀”發佈,從而提升系統的穩定性

聚石塔技術特點 - 豐富的彈性擴容

  • 對於電商等零流量波動較大的場景,用戶一般會把集羣資源維持在日常流量的規模,並在流量高峯再來林倩進行集羣資源的擴容。ECI的價格與同等規格的ECS相近,且爲按秒付費,秒級擴容

聚石塔技術特點 - 應用監控

  • 與傳統應用相比,基於K8s容器實例是動態調度的、生命週期短,Deployment、Service等容器上層抽象組件更是難以監控的,此外還需要底層ECS計算資源、實例生命週期、K8s集羣自身以及集羣核心組件的各個維度的監控

聚石塔技術特點 - DNS生產環境優化

  • 聚石塔的用戶大多是電商或小程序的場景,開發語言多樣化,有些語言沒有很好的連接池,導致DNS解析頻繁。K8s默認的CoreDNS在高併發時會遇到性能瓶頸,因此聚石塔對DNS的性能做了深入的優化,優化的手段主要有兩種,分別是Node Local DNS和SideCar DNS

  • Node Local DNS:通過DaemonSet方式在每個節點上運行一個DNS的Pod,設置相應轉發規則,最大可能避免跨節點解析

  • SideCar DNS:在業務Pod中添加DNS解析服務容器,可當做DNS緩存,且只爲當前Pod進行服務,做到資源隔離


 

小結

  • 集羣規劃構建

  • 集羣核心組件配置及優化

  • 使用案例介紹 - 聚石塔平臺

 

完結

ACP雲原生容器工程師相關介紹自此完結,可以說這個證書相比雲計算要困難一些,裏邊涉及到了大量雲原生和K8s的內容,對於初學者並不友好,決定考取這個證書的同學也較少,但是我相信隨着技術的不斷髮展、崗位不斷內卷的大環境之下,這個與K8s高度相關的認證會有越來越多的人進行考取。

我這裏也只是將自己的筆記整理之後進行的重新發布,如果對將來立志於此的同學們有些許幫助的話,那真是我莫大的榮幸!

以上,完結!

各位兄弟江湖再見~

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