应用场景

在您进行新系统升级时,会遇到停服部署或者无法灰度验证的情况,本实践采用基于Nginx负载均衡机制,在不影响业务正常运行的前提下,实现系统的平滑升级。

方案架构

基于Nginx实现灰度发布

系统升级时,若采用蓝绿部署方式,开发人员先将A边服务器(原蓝环境)下线,同时访问流量将全部切分到B边服务器,此时对A边服务器进行升级操作。A边服务器升级完毕后,将A边服务器设为灰度测试环境,由测试人员对A边服务器进行灰度验证。灰度验证完毕且功能正常后,A边业务服务器(绿环境)正式上线,并将所有流量切分到A边业务服务器,此时蓝绿部署完毕。在服务运行过程中,如果A边服务器出现紧急情况,执行蓝绿倒换实现业务快速恢复。

基于Nginx实现灰度发布操作流程

最佳实践

  • 收起 展开
    前提条件 收起 展开

    已有可用项目,如果没有,请先新建项目

    具有创建应用的权限,参考权限管理

    已有目标业务服务器:A_test与B_test,且业务服务器已有应用服务正在运行。

    已有反向代理服务器:Gray_release。

    已有灰度验证主机,该主机代表灰度测试人员。

  • 收起 展开
    操作步骤 收起 展开

    1、(可选)为反向代理服务器已安装并启动Nginx节点。

    2、新建并编辑应用一(A边节点灰度部署)。

    3、新建并编辑应用二(A边节点上线)

    4、复制并编辑应用一,完成应用三的创建(B边节点灰度部署)

    5、复制并编辑应用二,完成应用四的创建(B边节点上线)。

    6、新建并编辑流水线。

    7、执行流水线并手动进行灰度验证A、B边节点是否正常。

    查看详情

部署常见问题

部署常见问题

  • 在部署应用时提示,【部署服务】草稿应用无法部署。

    原因分析

    流水线调用应用,处于草稿状态的应用不能被调用的;

    处理方法

    1.进入部署服务下应用列表页面,单击,单击“编辑”。

    2.单击保存按钮,应用会从草稿状态转为待部署状态,再从流水线调应用。


  • 日志信息提示非法路径

    原因分析

    输入的路径有误。

    处理方法

    检查输入的路径是否正确,路径中不能出现“\”。


  • 运行流水线或者单独运行挂载的应用时,运行失败并提示“没有连通性验证成功的主机和主机组”。

    原因分析

    该应用所配置的主机已经从主机列表中被删除或者连通性验证失败时,会报此通知。

    处理方法

    进入部署服务,单击目标应用名称,切换标签到“环境管理”页面,搜索该主机是否存在,并查看主机连通性验证状态。

    处理方法根据主机是否存在以及主机状态可分为如下两种:

    若存在,请确认当前应用配置主机的连通性状态为成功,若失败请修改主机信息后重新进行主机连通性验证,步骤如下:

    单击主机所在行的,弹出修改主机信息框,可以修改主机信息重新进行连通性验证。

    信息修改完成,单击“保存”后自动返回主机列表页面。

    若不存在,请添加当前应用配置主机,并确认主机连通性验证成功。

  • 在实际开发场景中,经常需要将环境回滚、还原到某个历史版本,如何在部署服务中实现回滚操作。

    处理思路

    在应用的部署记录中,选择重新部署所需版本的应用即可。

    操作步骤

    1.在应用列表中选择目标应用,单击应用名称,进入应用部署记录。

    2.在部署记录中选择需要重新部署的版本,单击“回退到此版本”,在弹框里单击“确定”。


  • 部署应用失败,提示“AnsibleUndefinedVariable: 'xxxx' is undefined”

    原因分析

    应用中的自定义参数中未配置“xxxx”参数。

    处理方法

    检查部署失败的应用中,是否配置了“xxxx”参数。

    若未配置该参数,则新建自定义参数“xxxx”。

    若已配置该参数,请联系技术支持处理。


  • 添加主机时,系统提示验证结果为“失败”有哪些原因

    主机连通性验证失败时,请先检查确认以下几点:

    1.主机的用户名与密码填写正确。

    2.主机处于开机状态。

    3.主机上的端口已开通。

    4.防火墙策略:使用命令iptables -L -n查看防火墙对于22端口是否有限制。

    5.所填写的IP是公网可访问的IP;如果是私有IP,需要有SSH代理。

    6.若主机是CentOS系统,确保是CentOS6.0及以上版本。

    7.若主机是Windows系统,确保是否为支持的版本,并且主机上已做好相应配置,具体操作可参考《用户指南》“主机配置”章节。

    如果以上设置均正确,那么请提交技术支持工单进一步排查。