集羣規劃構建
容器部署中的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高度相關的認證會有越來越多的人進行考取。
我這裏也只是將自己的筆記整理之後進行的重新發布,如果對將來立志於此的同學們有些許幫助的話,那真是我莫大的榮幸!
以上,完結!
各位兄弟江湖再見~