已完成版本发布或处于研发过程的中心应用,您可以将其部署到指定的容器环境中,进行运行时调试或供前端应用使用。本文介绍如何部署中心应用实例,以及如何查看其部署记录和部署日志。
前提条件
部署中心应用实例
登录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右侧的详情。
- 在部署记录详情面板,您可以查看部署环境、部署内容、资源规格和部署策略等信息。
- 如果您需要回滚到此版本,则单击回滚到此版本。在回滚应用部署对话框中,设置回滚策略和发布量后,单击回滚。