服务模板
服务模板用于管理模板、编排微服务,配置好模板并打好基线后,开发者可根据基线模板生成环境实例,快速搭建一套自己的测试环境。
新建模板
- 登录软件开发生产线首页。
- 进入目标项目,单击“持续交付 > 流水线”,进入流水线列表页面。
- 单击“开发者联调”,进入开发者联调“总览”页面。
- 切换至“服务模板”页面,单击“新建模板”。
- 进入“新建模板 > 基本信息”页面,填写模板名称,按需填写描述。
- 单击“下一步”,进入“新建模板 > 模板”页面,模板编排方法请参见编排模板。
- 配置完成后,单击“确定”,完成对模板的创建。
编排模板
在模板编排页面,可以编排需要部署的微服务和中间件的完整信息。
- 请根据环境的依赖关系,合理编排阶段,将不同的微服务编排到不同的阶段。
- 请保证集群具有拉取镜像的权限,否则服务会部署失败。
- 尽量避免修改系统提供的开源中间件的默认配置,否则中间件可能部署失败。
- 配置阶段
单击,可以为模板添加新的阶段,添加完阶段后,可根据实际需要移动、删除阶段,也可以在阶段下添加微服务和中间件。
操作项
说明
排序阶段
单击不松开,可以移动阶段调整阶段顺序。
说明:- 不同阶段之间在部署时按照串行方式进行部署。
- 同一阶段内的微服务在部署时按照并行方式进行部署。
删除阶段
单击,根据删除提示确认是否删除阶段。
- 添加组件/系统中间件
阶段添加后,可以为阶段添加组件/系统中间件,并根据需要配置组件/系统中间件的各项属性。
操作项
说明
添加组件/系统中间件
单击,可选择添加组件/中间件。
排序组件/系统中间件
单击不松开,可移动调整组件/中间件的顺序。
删除组件/系统中间件
单击,可删除组件/中间件。
- 配置组件
单击组件名称,展开组件信息配置面板,可以为当前组件配置具体信息,相关参数如表1。
表1 配置说明 参数项
说明
组件
组件的名称。
选择配置
选择组件需要使用的配置,需提前在配置中心创建,包含配置文件、环境变量、启动脚本等。
产物
选择组件部署时使用的容器镜像。
服务端口
协议
请根据业务的协议类型选择。支持HTTPS、HTTP、TCP三种协议类型的选择。
容器端口
程序启动后监听的端口。
公网访问
打开公网访问开关后,组件可以通过集群配置的外部访问方式对外暴露服务。
URL匹配规则
开启公网访问后可配置。
- 前缀匹配:只需前缀相同即可匹配上,如:URL映射为/health时,/healtha、/healthz都可以成功匹配。
- 完全匹配:只有完全匹配上才能生效,如:URL映射为/health时,则必须是此URL才可以成功匹配。
高级配置
工作负载
- deployment:无状态负载。
- statefulset:有状态负载。
特权模式
开启后容器中将有与内核交互的权限,可能具有安全风险,请谨慎选择。
实例规格
配置微服务实例部署所需的CPU、内存及实例副本数。
健康检查
就绪性探针,用于判断容器内的程序是否健康,支持HTTPS、HTTP、BASH三种类型。
- 对于HTTPS和HTTP,返回码为200认为程序健康。
- 对于BASH检查,执行命令返回非0认为程序健康。
存活检查
存活性探针,用于判断容器是否健康,支持HTTPS、HTTP、BASH三种类型。
- 对于HTTPS和HTTP,返回码为200认为容器健康。
- 对于BASH检查,执行命令返回非0认为容器健康。
host挂载
用于将集群节点的某个文件挂载到容器内部。
- 配置中间件
单击中间件,展开中间件信息配置面板,可以为当前中间件配置具体信息,相关参数请参考微服务参数配置。
系统默认提供了开源的mysql、mongo、redis三种中间件,针对不同中间件,需在配置中心创建对应的配置即可使用。
不同系统开源中间件配置创建方法如下:
- mysql
在“配置中心”页面,单击“新建配置”,进入“配置信息”页面,填写以下环境变量:
MYSQL_ROOT_PASSWORD:root用户密码。
- mongodb
在“配置中心”页面,单击“新建配置”,进入“配置信息”页面,填写以下环境变量:
- MONGO_INITDB_ROOT_USERNAME:用户名。
- MONGO_INITDB_ROOT_PASSWORD:用户密码。
- redis
- 在“配置中心”页面,单击“新建配置”,进入“配置信息”页面,增加如下配置文件。
文件名称:/usr/local/bin/docker-entrypoint.sh,内容如下:
#!/bin/sh set -e # first arg is `-f` or `--some-option` # or first arg is `something.conf` if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then set -- redis-server "$@" fi # allow the container to be started with `--user` if [ "$1" = 'redis-server' -a "$(id -u)" = '0' ]; then find . \! -user redis -exec chown redis '{}' + exec gosu redis "$0" "$@" fi exec "$@" --requirepass ${REQUIREPASS}
- 增加如下环境变量。
- INITIAL_PORT:redis端口号。
- REQUIREPASS:redis密码。
- 在“配置中心”页面,单击“新建配置”,进入“配置信息”页面,增加如下配置文件。
- mysql