云計算

K8S容器云CaaS平臺的落地實踐

前言

在移動互聯網時代,新的技術需要新技術支持環境、新的軟件交付流程和IT架構,從而實現架構平臺化,交付持續化,業務服務化。容器將成為新一代應用的標準交付件,容器云將幫助企業用戶構建研發流程和云平臺基礎設施。縮短應用向云端交付的周期,降低運營門檻。

加速向互聯網技術和業務的雙轉型。容器云將對接各類代碼托管庫,實現自動化持續集成和DOCKER鏡像構建,為新一代應用交付和開發運維一體化奠定了基礎。容器云將支持應用的一鍵式部署交付,提供負載均衡,私有域名綁定,性能監控等應用生命周期管理服務。是微服務架構,輕量級應用部署和運維的理想平臺。

未來IT界會以容器化應用作為交付的標準。容器云為開發者和企業提供了一個快速構建、集成、部署、運行容器化應用的平臺,從而提高應用開發的迭代效率,簡化運維環節,降低運維成本。

對于企業來說,容器云價值體現在:

  1. 作為內部技術紐帶,多應用統一部署平臺,提高開發效率,減少運維成本。
  2. 平臺產品化過程中,投入少且產出價值高。可依托現有的IaaS平臺資源,相對于傳統的承接項目獲益的方式,容器云會積累寶貴的客戶資源及數據資源,這些無形資產最終會為公司贏得巨大戰略價值。
  3. 增加云企業辨識度,如果只具有IaaS層服務的云平臺是不完整的,對用戶的云服務是不充分的,應該具有為用戶提供全方位的云服務體系,應該具有先進且高附加值的云平臺。

應用功能架構

基于Kubernetes實現的容器云平臺,就功用而言可以分為四大部分:

  1. 自動化容器的部署、升級和復制;
  2. 隨時擴展或收縮容器規模,實現容器的彈性擴展;
  3. 以集群的方式運行、管理跨機器的容器,并且提供容器間的負載均衡;
  4. Kubernetes的自我修復機制使得容器集群總是運行在用戶期望的狀態。

未來容器云也可能會成為云管理平臺的統治者,也還會有更多的應用在容器云上原生運行起來。因為對于容器云,它可以把很多分散的物理計算資源抽象成一個大的資源池,利用這些資源來執行用戶的計算任務。

對于用戶來說,操作一個分散的集群資源就像在使用一臺計算機。人工智能的集中式爆發,機器學習的訓練過程對于快速迭代的高要求,讓能夠輕量級接入,并且可以對用戶提供秒級響應的容器云發揮了巨大的優勢。

師出同門的Google Tensorflow項目很早也進行了與Kubernetes的集成,人工智能平臺上實現了Spark on Kubernetes和 Hadoop on Kubernetes。無論是容器技術,還是DevOps和微服務,都說明靈活、彈性、輕量化的IT應用模式逐漸形成。

而這種模式的形成對于復雜產品的快速開發有著積極意義,谷歌等IT巨頭對產業的貢獻,讓初創企業與大型IT企業之間的差距縮短,迎來最好的IT時代。容器云架構方案,具有六大功能模塊,每個部分包含對應的容器技術棧。具體架構如下

存儲方案

后端存儲主要采用 Ceph 驅動。Ceph 獨一無二地用統一的系統提供了對象、塊、和文件存儲功能,它可靠性高、管理簡便、并且是自由軟件。Ceph 的強大足以改變貴公司的 IT 基礎架構、和管理海量數據。

?Ceph 可提供極大的伸縮性——供成千用戶訪問 PB 乃至 EB 級的數據。?Ceph 節點以普通硬件和智能守護進程作為支撐點, Ceph 存儲集群組織起了大量節點,它們之間靠相互通訊來復制數據、并動態地重分布數據。Ceph在容器云中主要應用場景是有狀態服務。包括關系型數據庫和nosql數據庫等數據需要持久化的業務。

網絡方案


底層容器網絡我們最初使用的是Calico。?Calico基本架構圖 Calico是一個純三層網絡,沒有引入一個DP,沒有封包。在主機內部做另外一個容器,可以三條到達終端,你可以知道是誰出了問題,調試的時候很容易,很好管理。

容器內的應用數據傳出來,和二層完全隔離,對于我們絕大多數的應用來講只需要三層就夠了,很少有應用處理二層。而且Calico支持豐富的網絡策略,可以實現多租戶管理,對于未來對外提供容器云服務至關重要。

容器編排方案

Kubernetes是谷歌開源的容器集群管理系統,是Google多年大規模容器管理技術Borg的開源版本,主要功能包括:

  • 1.基于容器的應用部署、維護和滾動升級
  • 2.負載均衡和服務發現
  • 3.跨機器和跨地區的集群調度
  • 4.自動伸縮
  • 5.無狀態服務和有狀態服務
  • 6.廣泛的Volume支持
  • 7.插件機制保證擴展性

Kubernetes發展非常迅速,已經成為容器編排領域的領導者。Kubernetes提供了很多的功能,它可以簡化應用程序的工作流,加快開發速度。通常,一個成功的應用編排系統需要有較強的自動化能力,這也是為什么 Kubernetes 被設計作為構建組件和工具的生態系統平臺,以便更輕松地部署、擴展和管理應用程序。

用戶可以使用Label以自己的方式組織管理資源,還可以使用Annotation來自定義資源的描述信息,比如為管理工具提供狀態檢查等。此外,Kubernetes控制器也是構建在跟開發人員和用戶使用的相同的API之上。用戶還可以編寫自己的控制器和調度器,也可以通過各種插件機制擴展系統的功能。

這種設計使得可以方便地在Kubernetes之上構建各種應用系統。目前整個kubernetes集群采用高可用部署,架構如下圖:

性能監控方案

容器監控的對象主要包括 Kubernetes 集群(各組件)、應用服務、Pod、容器及網絡等。這些對象主要表現為以下三個方面:

?1.Kubernetes 集群自身健康狀態監控(5個基礎組件、Docker、Etcd、Calico等)

2.系統性能的監控,比如:CPU、內存、磁盤、網絡、filesystem 及 processes 等;

?3.業務資源狀態監控,主要包括:rc/rs/deployment、Pod、Service 等;?針對容器的整體運行狀況及性能狀況監控,采用了自研的監控系統實現整體IT資源的統一監控。

日志收集方案

容器平臺的日志系統一般包括:Kubernetes 組件的日志,資源的事件日志及容器所運行的應用的日志。本容器云平臺,使用fluentd(以DaemonSet的方式啟動)來收集日志,并將收集的日志發送給統一日志平臺。

CI/CD方案

CI/CD(持續集成與部署)模塊肩負著 DevOps 的重任,是開發與運維人員的橋梁,它實現了業務(應用)從代碼到服務的自動上線,滿足了開發過程中一鍵的持續集成與部署的需求。本容器云平臺,對接持續集成&發布系統。

除此之外,實現服務擴縮容,彈性伸縮(HPA)、負載均衡、灰度發布等,也加入了代碼質量檢查(Sonar)、自動化測試及性能測試插件等,這些都是 CI/CD PaaS 平臺的重要組成部分。

云平臺功能

通過可視化界面,可以簡單方便的實現對資源的部署、管理與監控,包括:資源編排。可以實現以下功能:

1.全面監控:主機、路由器、硬盤、公網IP、負載均衡器都具備完整全面的歷史監控和實時監控信息。?

2.開放式的圖形化操作: 直觀展示主機及其相關資源,并可以直接操作圖形,所有改動自動更新。

?3.操作日志記錄: 記錄下用戶所有重要操作歷史,方便定位和查找。?

4.網絡拓撲結構展示: 用圖形展示復雜的網絡拓撲結構,連接私有網絡和主機更加方便直觀。?

5.備份鏈可視化操作: 對于備份各節點一目了然,同時可直接操作新建備份及回滾到之前的狀態。?

6.自動伸縮策略: 根據資源監控信息定義自動伸縮策略,調節資源配置或集群規模,無需人工介入。

?7.通知列表: 用于接收監控告警通知、定時器任務或自動伸縮策略的執行結果。

?8.快速的系統構建: 使用資源編排,可以在短短幾分鐘內迅速復制一套已存在的擁有復雜拓撲的系統;或者迅速規劃您的系統架構并評估成本;還可以實現資源拓撲的跨區域復用。

?9.豐富的模板創建方式: 在控制臺中,用戶可以從無到有構建模板;也可以從系統推薦的常見模板入手創建,或基于已經創建的模板繼續完善;還可以將已經存在的資源抽取出一套拓撲關系成為模板。

總結

caas平臺衍生出來的整個devops體系是至關重要的。最終實現打通日志,監控和apm數據,算法實現根因分析,也就是AIOPS。能夠快速定位故障。快速反饋到運維和開發,形成一個閉環。

Gartner定義的AIOps平臺擁有11項能力,包括歷史數據管理( Historical data management) 、流數據管理( Streaming data management )、日志數據提取( Log data ingestion) 、網絡數據提取( Wire data ingestion )、算法數據提取( Metric data ingestion )、文本和NLP文檔提取( Document text ingestion )、自動化模型的發現和預測( Automated pattern discovery and prediction )、異常檢測( Anomaly detection )、根因分析( Root cause determination )、按需交付( On-premises delivery )和軟件服務交付( Software as a service )等。

當然這是后續和正在做的工作。

我還沒有學會寫個人說明!

Kubernetes Ingress 控制器的技術選型技巧

上一篇

疫情下我對產業的判斷,不忘初心,砥礪前行

下一篇

你也可能喜歡

K8S容器云CaaS平臺的落地實踐

長按儲存圖像,分享給朋友

ITPUB 每周精要將以郵件的形式發放至您的郵箱


微信掃一掃

微信掃一掃
重庆时时后一8码方法 陕西11选5技巧 稳赚 老友内蒙麻将微信群 1分快3破解安装分析软件 3d开机号与试机号 打麻将游戏下载 的3d开奖结果 西安小姐指南 山东老十一选五走势 nba直播老鹰vs步行者 云南十一选五每天开几期 大乐透开奖结果排三开奖结果 石家庄一条龙白云 全民红中麻将代理微信 云南快乐十分基本走 3d开奖试机号 日韩av女优情色电影网