日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

文檔

選擇應用部署環境

更新時間:

EDAS支持在ECS集群和K8s集群中部署應用,兩種環境都能滿足應用托管的需求,但功能上也存在一定的差異。如果您處于技術選型或架構遷移過程中,對于選擇使用哪種環境來管理應用存在疑惑,本文為您提供一些選擇環境的建議和兩種環境的功能對比,以幫助您完成決策。

部署環境簡介

EDAS為應用提供了ECS和K8s兩種集群部署環境。

  • ECS集群和K8s集群都支持Spring Cloud、Dubbo和HSF微服務框架的Java應用的托管、服務治理及可觀測性。

  • 僅K8s集群支持多語言應用的托管、服務治理及可觀測性。

另外,這兩種部署環境對于應用程序本身和用戶技術棧的要求是不一樣的,且EDAS提供的應用管理能力也有所區別。

部署環境選擇建議

一般情況下,建議使用K8s環境部署應用。EDAS與阿里云容器服務Kubernetes版進行了深度整合,提供了豐富的應用管理功能,可以實現更高的資源利用率。

您根據實際使用場景,來選擇合適的環境。

場景

環境

  • 應用的形態為容器鏡像,或者是非Java應用。

  • 對應用有單機多實例部署、高密度部署的要求。

  • 希望同時使用K8s來進行管理(如使用kubectl工具),或使用K8s提供的其他功能。

K8s環境

  • 存在大量非容器化應用。

    ECS環境的優勢主要在于對非容器化部署的應用更加友好,更容易復用存量應用運維體系。

  • 對單體性能和穩定性有極高要求的應用。

ECS環境

說明

如果您已經使用了ECS環境來管理應用,現在需要使用K8s提供的高級功能,可以將應用遷移至K8s環境。

應用托管功能對比

下表列出了ECS環境和K8s兩個環境的功能對比,Y代表支持,N代表不支持。

功能

ECS環境

K8s環境

備注

部署應用

Y

Y

K8s環境支持更豐富的實例調度策略,支持單機多部署。

啟動應用

Y

Y

停止應用

Y

Y

刪除應用

Y

Y

應用擴縮容

Y

Y

重置應用

Y

N

K8s環境無需此功能,刪除Pod即為重置。

容器升降級

Y

Y

應用回滾

Y

Y

自動水平擴容

Y

Y

支持方式和規則有所區別。

定時彈性

N

Y

分批部署

Y

Y

應用分組

Y

N

應用分組配置

Y

N

實時日志

Y

Y

日志目錄

Y

Y

SLS日志

Y

Y

負載均衡

Y

Y

健康檢查

Y

Y

K8s環境支持Readiness和Liveness探針,與ECS環境不同。

JVM參數配置

Y

Y

Tomcat配置

Y

Y

生命周期掛鉤

Y

Y

K8s環境支持PostStart和PreStop掛鉤,與ECS不同。

環境變量

Y

Y

金絲雀發布(灰度發布)

Y

Y

流量監控

Y

Y

限流降級

Y

Y

K8s環境可實現無侵入接入。

服務列表查詢

Y

Y

配置推送

Y

Y

事件中心

Y

Y

通知報警

Y

Y

應用診斷

Y

Y

K8s(Kubernetes)具備更為強大的一體化監管控與診斷能力。

資源代購

Y

N

服務網格

N

Y

鏡像部署支持

N

Y

多語言支持

N

Y

NAS支持

N

Y

常見問題

ECS環境能否支持單節點部署多應用實例?

不支持,如有此需求,請使用K8s環境。

ECS環境能否支持部署多語言應用?

不支持,如有此需求,請使用K8s環境。

ECS環境和K8s環境對應的OpenAPI接口是否相同?

不完全相同。OpenAPI列表,請參見API概覽

ECS環境和K8s環境是否都支持使用開發者工具?

都支持,但配置有所區別,需要注意區分。

ECS和K8s環境是否都支持云效?

都支持。但云效舊版本僅支持ECS環境部署,云效2020支持ECS和K8s環境部署。

K8s環境如何實現節點資源的代購擴容?

K8s環境對應的彈性伸縮功能是指Pod的彈性伸縮,正常情況下不會購買新的ECS實例(節點),也不會釋放已有的實例(節點)。

可以配合容器服務提供的功能來實現節點的彈性伸縮。更多信息,請參見節點自動伸縮

如果使用ECS環境的掛載腳本功能,如何遷移至K8s環境?

ECS應用的掛載腳本用于在發布單執行到特定階段時執行指定的命令,目前有4個生命周期階段可供掛載,分別是準備實例、啟動應用、停止應用和銷毀實例。

由于K8s環境提供的生命周期掛鉤僅限于PostStart和PreStop,與ECS應用無法完全對應,因此在遷移使用了掛載腳本功能的應用到K8s環境時,需要做一定的修改。

  • 準備實例階段前的掛載腳本,可以將其編排到Dockerfile,并固定到鏡像中。

  • 啟動應用階段前的掛載腳本,也可以將其編排到Dockerfile,并固定到鏡像中。

    Pod的準備實例與啟動應用是一個過程。

  • 啟動階段后的掛載腳本,可以配置到PostStart掛鉤中。

  • 停止實例階段前的掛載腳本,可以配置到PreStop掛鉤中。

  • 停止實例階段后的掛載腳本,建議在應用進程的優雅停止過程中做清理工作(比如在Java的ShutdownHook或者其他對于sigterm信號的監聽流程中做清理),也可以視情況將其移動到PreStop掛鉤中處理。

  • 銷毀實例階段前的掛載腳本,建議在應用進程的優雅停止過程中做清理工作(比如在Java的ShutdownHook或者其他對于sigterm信號的監聽流程中做清理),也可以視情況將其移動到PreStop掛鉤中處理。

    Pod的銷毀實例與停止實例是一個過程。