美文网首页
啊里云云效-流水线部署+SLB负载均衡

啊里云云效-流水线部署+SLB负载均衡

作者: 我是顾子晨 | 来源:发表于2019-10-22 22:43 被阅读0次

    一、由来

    • 由于公司项目业务增大要求服务器的性能与稳定提出更大的要求,所以由目前单项目扩展到集群模式。

    二、带来的好处

    • 程序增量升级时可以让用户无感升级;以前升级时都需要提前通知客户,需要中断
    • 当程序出现问题时,或者服务器挂掉时;需要重启并且影响用户使用。现在只需要将有问题的服务器挂机即可
    • 请求大时可以分流改善服务器力、处性能

    三、云效

    • 云效是啊里云的一个集成了:代码管理、项目管理、缺陷管理、项目发布等功能的一个工具集。重要的是小公司29人以下终身免费
    • 流水线:这个类似 jenkins ,将项目部署拆分了N个流程、常用的有:构建、人工卡点、部署、代码合并等


      image.png
    • 目前我们部署了,日常环境、预发环境、生产环境
    • 传送门:云效
    1. 日常环境:开发人员使用,一般后台开发完后会上传代码到日常环境由前端人员联调接口使用。
    2. 预发环境:功能开发完毕并且自测完毕由可以交付测试人员,及产品验收使用。这里一般需要卡点
    3. 生产环境:验收通过后发布到生产环境发布交付客户使用

    四、SLB负载均衡

    • 服务监听
      一个负载均衡实例可以添加N个监听、监听类型可以为TCP、UDP、HTTP、HTTPS。


      image.png

      接下来可以将啊里云内的服务器关联到监听只,这样就可以将域名指向SLB(IP)了,由SLB为请求转换流量

    • 健康检查
      SLB 通过不断地发消息给服务器嗅探该服务器是否还存活、目前有两种方式:TCP、HTTP

    五、流水线改造

    • 目前只有一台服务器,现在所以流水线中,需要添加多一个部署的节点。并且需要在前一个节点添加卡点任务。因为发布过程中,需要保证至少有一个是正常运行的。
    1. 添加环境


    2. 点击-资源管理-添加关联主机、标识程序部署到该服务器上


      image.png

      3、点击-部署配置、添加发布时在服务器执行的脚本


      image.png

    六、SLB负载均衡-健康检查配置

    由于SLB不支持服务器内的多服务检测,所以只能检测单个文件。有两个方法我们这里采用方法一:

    1. 当发布时将SLB请求的文件删除掉,让SLB将这台服务器挂起、当发布完成后再创建该文件
    2. 可以写一个程序、自己请求检测服务器的服务是否正常,如果不正常则返回500等其他状态码即可
    • 健康检查,我们这里使用http 请求。请求文件路径为:/live-status


      image.png
    • Nginx 配置、这里需要注意的时,SLB会用内网端口发请求过来而且是不固定的,所以需要加上:default_server
    server
    {
            listen 80 default_server;
            server_name -;
            root /xxx/health-check/;
            access_log /xxx/health-check.log main;
    }
    
    • 在/xxx/health-check 下创建live-status文件
    • 延时部署服务
      由于SLB健康检查是有时间间隔的,所以部署程序时可以先将live-status 文件删除然后 sleep 10s 后再执行服务部署

    相关文章

      网友评论

          本文标题:啊里云云效-流水线部署+SLB负载均衡

          本文链接:https://www.haomeiwen.com/subject/cqbcvctx.html