天天看點

幹貨分享|一文帶你讀懂應用容器化部署

作者:科技百分百
幹貨分享|一文帶你讀懂應用容器化部署

IDC 預測,到 2024 年,數字經濟的發展将孕育出超過 5 億個新應用,這與過去 40 年間出現的應用數量相當。

雲原生讓這些海量新應用在短時間内湧現成為可能,它将成為主流的現代化開發方式。雲原生的基礎架構編排方式也将成為新一代的雲作業系統,助推雲計算平台演進。

然而,企業在引入和運用雲原生時,依然面臨三大難題:

  • 傳統應用需要轉型為雲原生應用嗎?該怎麼做?
  • 雲原生應用的部署有成熟的标準或方法論嗎?
  • 如何利用雲原生的優勢來提升企業服務品質?

針對三大難題,青雲科

技 KubeSphere 解決方案架構師申紅磊在主題為《應用容器化部署,基于 KubeSphere 的務虛與務實探讨》分享中給出了答案。

以下是分享内容精華:

為什麼要雲原生轉型?

雲計算平台已經被企業所接受,但企業在上雲的過程中還需要明白以下幾點:

  • 雲計算最大的困難不是搭建雲平台,而是應用遷移上雲。
  • 非雲原生的傳統應用遷移上雲成本較高。
  • 傳統應用遷移方式如果隻是采用虛拟化的重新部署,則無法發揮雲平台特性。

雲原生可以分成雲和原生兩個部分。雲指的是雲計算;原生就是土生土長的意思。随着雲原生時代的到來,企業在開始設計應用的時候便要考慮到在雲上開發、運作應用。

應用容器化部署有标準麼?

在雲原生的大背景下,到底要如何進行應用容器化部署?是否有一套标準理論呢?

首先,我們就不得不提“雲原生十二要素”。“雲原生十二要素”和《Beyondthe Twelve-Factor App》作為建構 SaaS 服務的一套方法論,可以使開發者花費最少的學習成本加入到項目中去。無論是從研發、應用還是客戶的角度,底層建設基本都會遵循這些原則去做。

幹貨分享|一文帶你讀懂應用容器化部署

第二,我們總結了應用容器化部署的規範标準和遷移流程。企業在應用上雲實踐中無需完全按照标準執行,可因地制宜總結出适合自身的應用容器化部署标準。

幹貨分享|一文帶你讀懂應用容器化部署

應用容器化部署規範标準,具體如下:

  • 準入規範
    • 提供健康檢查接口
    • 鏡像盡可能小
    • 鏡像的軟體包、安全
    • 生産服務必須高可用
  • 負載均衡
    • 東西向-Service
    • 南北向-LB
    • 南北向-Ingress
  • 容器使用者(非root)
    • 不适用root使用者啟動程序,有安全隐患
    • 分層的複用
  • 慎用Alpine鏡像
    • 編譯、構造相容性
    • 各種不可測的問題
  • 高可用
    • 生産配置反親和性
    • PodAntiAffinity
  • 日志輸出
    • 關鍵日志輸出到标準輸出(stdout)
    • 日志持久化存儲到PVC
    • 禁止生産輸出debug
    • 避免包含敏感資訊
幹貨分享|一文帶你讀懂應用容器化部署

應用容器化部署遷移流程,具體如下:

  • 前期調研
    • 應用規模
    • 應用/元件類型
    • 應用/元件的配置
    • 應用/元件業務連續性
    • 應用網絡/IP 要求
    • 應用/元件之間的通路關系
    • 存儲服務
  • 遷移方案設計
    • 熱遷移、冷遷移、資料遷移等方案
    • 按應用運作級别、複雜度次元
    • 異常情況處理流程設計
    • 應用運作驗證測試案例設計
  • 遷移方案驗證
    • 驗證遷移方案和異常回退方案
    • 應用驗證,流量切換等
  • 應用遷移
    • 遷移方案
    • 遷移時間計劃方案
    • 完成系統遷移和測試工作

如何基于開源項目展開部署實踐?

應用遷移上雲可以分為兩類:應用本身和中間件。

對比傳統搭建微服務的方式,多子產品和中間件所需要耗費的時間會很長。而基于現代化雲原生應用搭建中間件,ZipKin/Skywalking、ELK、RabbitMQ 等都可以做到開箱即用。

除此之外,企業原有的服務子產品,比如網關、服務叢集、分布式排程系統、認證中心等,隻需要關心如何配置,依據前文所說的“雲原生十二要素”和微服務設計原則方法論去拆分,再進行容器化部署,成功上容器後,遷移便更加簡單便捷。

KubeSphere 之上的無限暢想

無論是平台的應用改造還是新應用上雲,實作過程都可以根據一套技術路徑。

從資源角度,應用上雲的可從以下步驟入手:

  • 平台底座建構
  • 開發應用更新
  • 全面轉化
  • 深度使用
幹貨分享|一文帶你讀懂應用容器化部署

需要強調的是,在全面轉化之前,企業需提前将内部内容系統進行應用分類,試點上雲。成功上雲之後才可以在雲上做深度使用。

從應用角度看,擁抱雲原生可分為以下步驟:

  • 試點應用實踐
  • 内部核心應用推廣
  • 系統批量化改造
  • 業務創新
幹貨分享|一文帶你讀懂應用容器化部署

其中最核心的是要做應用創新,創造價值。

如今,企業雲原生轉型勢在必行,但在轉型過程中,容器雲平台的建設、運維,以及研發人員的教育訓練,是一個更大的挑戰。是以企業可以基于青雲科技推出的 KubeSphere 容器平台,來建構自身的容器雲平台,理由如下:

  1. 企業能夠全身心關注以應用角度擁抱雲原生。
  2. 用 KubeSphere 來降低 K8s 的高學習成本。
  3. 用 KubeKey 來簡化 K8s 的複雜的部署安裝。
  4. 用 KubeSphere 的積木式元件,來規避功能元件選型複雜。
  5. 用 KubeSphere 彌補 K8s 的本土化支援。
  6. 用 KubeSphere 的增加企業級多租戶模式,更高安全性。

參考如下對比項:

幹貨分享|一文帶你讀懂應用容器化部署

總體來講,從頭開發建設周期長、成本高、購買套裝軟體不滿足開放可控原則、成本投入較高。KubeSphere 容器平台,能夠全面消解這些難題,幫助企業建構容器雲平台,全力推進應用容器化部署。

即可下載下傳演講 PPT

繼續閱讀