已完成版本發布或處于研發過程的中心應用,您可以將其部署到指定的容器環境中,進行運行時調試或供前端應用使用。本文介紹如何部署中心應用實例,以及如何查看其部署記錄和部署日志。
前提條件
部署中心應用實例
登錄BizWorks,在選擇平臺下拉列表中選中微服務開發平臺。
單擊頁面右上角圖標或其文本框區域,在下拉列表中單擊目標項目名稱后,單擊應用頁簽。在應用列表頁面單擊目標中心應用名稱。
在目標中心應用左側導航欄中,選擇 。
在應用部署頁面,選擇需要部署的環境,單擊目標環境下的虛線框區域。
說明應用部署頁面不僅支持顯示一個環境下的多個實例,以及每個實例下的工作負載,而且能夠顯示每個工作負載的類型。
只有企業級用戶、項目負責人和應用負責人賬號角色,既能看到開發環境和測試環境下的環境信息,也能看到預發環境和生產環境下的環境信息,并能進行部署、更新實例等操作。其他賬號角色只能看到開發環境和測試環境下的環境信息,在相應的環境下也能進行部署、更新實例等操作。
關于BizWorks的賬號體系的詳細信息,請參見平臺賬號和權限說明。
如果您在創建項目時沒有配置用于存放構建中心應用的鏡像,界面會出現未配置鏡像倉庫提示,請您先配置鏡像倉庫。
關于如何配置用于存放構建中心應用的鏡像,請參見配置鏡像倉庫。
在新建部署實例面板,完成部署配置,單擊下一步。
如果您部署實例的環境所屬的集群為非阿里云BizWorks Serverless集群,則部署面板詳情如下。
關于接入集群的更多信息,請參見接入和管理集群。
如果您部署實例的環境所屬的集群為阿里云BizWorks Serverless集群,則部署面板詳情如下(資源配置的配額為固定選項,不支持自定義,且需設置網絡配置)。
相關配置項說明請參見下表。
配置項
說明
應用來源
在選擇應用版本下拉列表中選擇目標應用版本,您可以選擇已發布或開發中的版本。
選擇類型,支持代碼和鏡像。
如果選擇代碼,且選擇的版本狀態為開發中,則還需要選擇代碼分支,設置Commit ID(非必填,不填寫Commit ID時,默認使用分支的最新版本)。
如果選擇鏡像,則單擊選擇鏡像,在選擇鏡像對話框中,選中目標鏡像后,單擊確定。
說明Commit ID為空時,則默認使用該分支的最新版本,實例部署成功后平臺會將代碼檢出時的Commit ID進行記錄;實例更新部署時,Commit ID默認也是為空,如需指定版本,需要您再次設置。
流水線
在選擇流水線下拉列表中,選擇目標流水線。
默認流水線:BizWorks內置的流水線,包含拉取代碼、編譯代碼、構建鏡像和部署應用等基本功能。
自定義流水線:關于如何新建自定義流水線,請參見新增自定義流水線。
說明如果您可以找到有滿足條件的自定義流水線,則將無法使用默認流水線(即默認流水線不顯示);如果您未找到滿足條件的自定義流水線,則仍然可以使用默認流水線部署應用。
三方流水線:
您可以通過集成三方流水線產品,使用DevOps中更多的能力。如果您已經為應用添加三方流水線,則可以選擇三方流水線部署應用實例。關于如何集成三方流水線,請參見三方流水線集成概述 。
如果您已經開啟項目流水線配置開關,則在部署流水線下拉列表中,不會出現默認流水線的選項。關于如何打開項目流水線配置開關,請參見創建和管理三方流水線連接配置。
部署配置
部署策略:
默認策略:按照滾動方式進行發布,每次啟動一個新副本,就緒后停掉一個老副本,直到全部完成。
自定義策略:可選擇按Pod數或按百分比。
高級選項:單擊添加,完成相關配置項設置。
容忍度:支持選擇目標環境上已經部署成功的記錄為基礎,在其基礎上確定應用模板需要的鏡像信息、部署參數等。
Key和Value的配置規則如下:
Key:
不能超過253個字符。
支持字母、數字、短劃線(-) 和半角句號(.)。
需以字母、數字字符(a~z、0~9、A~Z)開頭和結尾。
Value:
不能超過63個字符。
支持字母、數字、短劃線(-)和半角句號(.)。
如果標簽值不為空,則需以字母、數字字符(a~z、0~9、A~Z)開頭和結尾。
網絡配置
部署實例的環境所屬的集群為阿里云BizWorks Serverless公有版時,您需設置網絡配置:
安全組支持使用環境的默認安全組和使用現有安全組。如果您選擇使用現有安全組,需在相應下拉列表中選擇目標現有安全組。
應用訪問策略支持集群內應用實例互訪和VPC內私網訪問。
資源配置
配置實例總數和單實例資源配額。
如果您部署實例的環境所屬的集群為非阿里云BizWorks Serverless集群:CPU資源的約束和請求以CPU為單位,如果數值為0.1則等價為100 mCPU;內存的約束和請求以字節為單位,如果數值為1024 MiB則等價為1024 MB。資源限制需大于資源預留。
如果您部署實例的環境所屬的集群為阿里云BizWorks Serverless集群:您可以選擇vCPU和內存的目標配額選項。
在新建實例部署 - 環境配置面板,完成環境配置后,單擊開始部署。
可選:設置生命周期管理。
可選:設置環境變量。
可選:設置存儲。
可選:設置健康檢查。
可選:設置應用監控。
可選:設置標簽。
重要如果您部署實例的環境所屬的集群為阿里云BizWorks Serverless集群,在新建實例部署 - 環境配置面板,您只需選擇設置生命周期管理、環境變量和健康檢查。
配置項
說明
生命周期管理
重要如果您不了解原Dockerfile鏡像的CMD或ENTRYPOINT信息,建議您不要自定義啟動命令和啟動參數,錯誤的自定義命令會導致應用部署失敗。
由于Docker運行時僅支持一條ENTRYPOINT命令,所以在創建實例部署 - 環境配置和更新實例部署 - 環境配置頁面設置的啟動命令會覆蓋在制作容器Docker鏡像時設置的ENTRYPOINT和CMD命令。
啟動命令:在啟動命令文本框中輸入啟動命令,例如:nginx。
啟動參數:每個啟動參數單獨占據一個文本框。例如:在文本框中輸入參數-g,然后單擊啟動參數文本框下的添加,在新增的文本框中輸入參數daemon off。
啟動后命令(PostStart):請參考K8s的PostStart的Command命令的格式填寫,例如:
["/bin/sh","-c","echo Hello from this PostStart handler"]
。更多信息,請參見Attach Handlers to Container Lifecycle Events。停止前命令(PreStop):請參考K8s的PreStop的command命令的格式填寫,例如:
["/bin/sh","-c","nginx -s quit; while killall -0 nginx; do sleep 1; done"]
。更多信息,請參見Attach Handlers to Container Lifecycle Events。
環境變量
環境變量支持三種配置方式,具體說明如下。
自定義:引用實例當前部署環境下的ConfigMap或Secret中的Key。更多相關信息,請參見通過Kubernetes配置功能管理應用實例配置。
ConfigMap和Secret:您可在應用的配置管理中添加,具體操作,請參見新建ConfigMap和新建Secret。
環境變量支持批量配置自定義變量。
在批量設置自定義變量對話框中,您可以參考下圖設置自定義變量,完成后單擊確定。
成功添加的效果圖如下。
存儲
設置容器運行環境中需要的外部存儲配置。
存儲類型:支持PVC、CONFIGMAP、SECRET類型。使用PVC類型的存儲時,請您確保使用的PVC沒有被其他負載獨占使用。
掛載源:業務中臺基礎框架工具暫不支持托管PVC相關資源,如果您在當前應用部署集群中沒有可用的PVC,請前往相應的集群創建PVC。具體操作,請參見創建持久化存儲卷聲明。
容器中的路徑:您需自定義容器中的文件路徑。
說明系統不支持EDAS類型的容器集群設置容器運行環境中需要的外部存儲配置,EDAS類型的容器集包括:阿里云企業級分布式應用服務(EDAS)和阿里云企業級分布式應用服務(EDAS)。更多關于集群的信息,請參見接入集群。
您在指定環境中部署需要使用的PVC時,請先在此環境對應的K8s的
namespace
中手動創建PVC,PVC的accessModes
如果是指定模式,系統會按照K8s規范進行限制。更多信息,請參見persistent-volumes。
健康檢查
在Liveness配置和Readiness配置頁簽,分別配置以下參數:
initialDelaySeconds:表示開始探測容器的延遲時間。當該參數值設置為0,表示在容器啟動后立即開始探測。
在Liveness配置頁簽下,該參數的默認值為60;在Readiness配置頁簽下,該參數的默認值為10,單位為秒(s)。
PeriodSeconds:表示探測容器的周期。當該參數值設置為10,表示每隔10s探測一次容器。默認值為10,單位為秒(s)。
SuccessThreshold:表示探針探測成功的閾值。在達到該次數時,表示成功。默認值為1,表示只要成功一次,則算成功。
TimeoutSeconds:表示探測時容器響應的最大超時時間。當該參數值設置為1,表示容器必須在1s內進行響應,否則這次探測記作失敗。默認值為1,單位為秒(s)。
FailureThreshold:表示探針探測失敗的閾值。在達到該次數時,表示失敗。默認值為3,表示只要失敗3次,則重啟容器。
配置選擇模式:
Path:健康檢查的探針對應的接口路徑,例如:/actuator/health/liveness。
Port:部署應用的端口號。例如:如果您選擇的應用實例類型是中心中臺應用,端口號可以配置為8080;如果您選擇的應用實例類型是托管應用,端口號可以配置為8083。
Scheme:支持HTTP協議。
HTTPHeaders:HTTP請求頭信息,包括名稱和變量值。
應用監控
支持為應用自動添加應用監控所需的Agent。
如果您選中阿里云ARMS,即使用阿里云ARMS進行應用監控時,將會涉及到使用費用。更多信息,請參見計費概述。
ARMS AppName是您在ARMS中的應用名稱,BizWorks默認生成的應用名稱規則為:{項目編碼}-{應用編碼}-{環境編碼},您也可以自行定義。
標簽
為Deployment和Pod添加K8s標簽(Label)。平臺僅支持管理通過BizWorks添加的標簽。
頁面提示創建成功,同時環境中新增一個正在部署中的實例卡片。
查看中心應用實例的部署記錄和部署日志
下文以部署實例的環境所屬的集群為非阿里云BizWorks Serverless公有版為例,說明如何查看中心應用實例的部署記錄和部署日志。
在應用部署頁面,單擊目標實例卡片,在應用部署實例面板的部署記錄區域,查看部署記錄。
單擊目標部署記錄ID右側日志,您可查看此次部署過程的流水線詳細日志。
說明僅支持查看實例的部署類型為更新和創建的日志信息。
查看結果如下:
如果部署流水線選擇的默認流水線,則流水線部署日志如下圖所示。
如果部署流水線選擇的三方流水線,則流水線部署日志如下圖所示。
您可以單擊查看更多運行記錄,在流水線實例頁面查看更多運行記錄。
如果部署流水線選擇的自定義流水線,則自定義流水線部署日志如下圖所示。
本文以增加了流水線控制任務的流水線為例,說明自定義流水線的應用部署日志詳情。
處于審批流的部署日志詳情如下。
單擊查看進度,在進度詳情頁面,您可以查看具體訪問進度。
您也可以在部署實例詳情面板的部署記錄區域,單擊目標部署記錄右側的詳情。在目標部署記錄的部署記錄詳情面板,單擊審批進度,進入審批進度詳情頁。
如果您想終止自定義流水線的部署流程,單擊實例變更記錄對話框中的終止流程。在二次確認對話框中,單擊確定。
- 可選:查看指定部署記錄的詳細部署配置。
- 單擊目標部署記錄ID右側的詳情。
- 在部署記錄詳情面板,您可以查看部署環境、部署內容、資源規格和部署策略等信息。
- 如果您需要回滾到此版本,則單擊回滾到此版本。在回滾應用部署對話框中,設置回滾策略和發布量后,單擊回滾。