ACP雲原生容器工程師 - ACK對比ASK

前言

我們都知道,ACK與ASK是阿里雲兩種不同的業務形態,那麼它們有何異同呢?

 

ASK的容器是一等公民

由於ACK需要先部署ECS,然後在ECS上部署應用容器,這時容器就是二等公民;

而ASK無需部署ECS,可以直接在ECI上部署應用容器,因此容器是一等公民。

 

ASK適用場景

由於ASK的彈性伸縮能力較ACK更強更靈活,所以適用場景均爲彈性相關。

  1. 應用託管

  2. 在線業務彈性

  3. 數據計算

  4. CI/CD持續集成

  5. 定時任務

  6. 測試環境

 

ASK核心功能

虛擬節點

  • ASK集羣中基於虛擬節點創建Pod

    • 虛擬節點實現了Kubernetes與彈性容器實例ECI的無縫連接,讓Kubernetes集羣獲得極大的彈性能力,而不必關心底層計算虛擬容量。可通過客戶端查看服務情況,虛擬節點不佔用任何計算資源。

 

Pod安全隔離

  • ASK集羣中的Pod基於阿里雲彈性容器實例ECI運行在安全隔離的容器運行環境中。

  • 每個容器實例底層通過輕量級虛擬化安全沙箱技術完全強隔離,容器實例間互不影響。

  • 實例在調度時儘可能分佈在不同的物理機上,進一步保障了高可用性。

  • ECI的容器實例底層運行在Allibaba Cloud Linux2操作系統之上,ASK集羣作爲Serverless容器服務,您無法訪問ECI底層OS運行環境。另外,此係統可免費使用。

 

Pod配置

  • Pod基於彈性容器實例ECI創建,支持原生的Kubernetes Pod功能,包括啓動多個容器、設置啓動多個容器、設置環境變量、設置RestartPolicy、設置健康檢查命令和掛載Volume、preStop等。

  • 同時支持執行命令kubectl logs訪問容器日誌和智行kubectl exec進入容器

  • ECI支持多種規格配置的方式來申請資源和計費

    • 制定CPU和Memory,包括容器和pod兩種

    • 制定Pod的ECS規格

    • 搶佔式實例

 

應用負載管理

  • 支持Deployment、StatefulSet、Job/CronJob、Pod、CRD等原生Kubernetes負載類型。

  • 不支持DaemonSet,Serverless集羣中不支持節點相關的功能

 

彈性伸縮

  • ASK集羣中沒有真實節點

    • 無需考慮節點的容量規劃

    • 無需考慮基於cluster-autoscaler的節點擴容

    • 只考慮應用的按需擴容

  • 可配置HPA或CronHPA策略進行Pod的靈活按需擴容

 

網絡管理

  • 羣衆的ECI Pod默認使用Host網絡模式,佔用交換機VSwitch的一個彈性網卡ENI資源,與VPC內的ECS、RDS互聯互通。

    • Service:不支持Nodeport模式

    • Ingress:需要先安裝Ingress Controller

    • 服務發現:需要先開啓PrivateZone

    • 彈性公網:支持給ECI Node掛載EIP,或自動創建然後綁定到EIP實例上

 

存儲管理

  • Pod支持掛載阿里雲塊存儲和文件存儲

    • 阿里雲塊存儲(EBS),需要先創建DiskController

    • 阿里雲文件存儲(NAS),可使用NFS方式掛載NAS目錄,無需安裝flex-volume插件,可直接制定NAS目錄

 

日誌管理

  • 在ASK集羣中無需部署logtail daemonset即可收集Pod的stdout和文件輸出日誌

  • 在Serverless Kubernetes集羣中將業務容器的標準輸出和日誌文件收集到阿里雲日誌服務

  • ECI模式下不支持DaemonSet,通過將Job類任務掛載NAS盤,把輸出的日誌存儲在NAS盤,在通過另一個同樣掛載NAS盤的Pod來採集Job任務標準輸出到日誌系統中

  • 日誌服務支持在ECI中通過Sidecar模式採集日誌

 

總結

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