文档首页 > > 最佳实践> 实践--基于haproxy灰度发布> 实现方式二:修改haprox配置文件内容> 操作步骤

操作步骤

分享
更新时间: 2020/03/23 GMT+08:00
  1. 新建主机组

    • 新建主机组 > 添加主机,将部署了haproxy服务的这台机器添加到新建的主机组中。(如何创建主机组

      

  2. 编辑部署任务

    1. 新建任务,添加两个“执行shell命令”部署步骤。(如何创建部署任务

        

    1. 配置第一个“执行shell命令”任务步骤:修改用户的haproxy.cfg配置文件
      #!/bin/sh
      #/etc/haproxy/为用户安装haproxy服务机器上的haproxy.cfg配置文件的路径,用户根据实际情况填写
      Haproxy_cfg_Path="/etc/haproxy" 
      online_servername="" #上线主机名
      offline_servername="" #下线主机名
      port="1234" #haproxy的监听端口
      now_time=`date +%Y%m%d%H%M%S`
      cp $Haproxy_cfg_Path/haproxy.cfg $Haproxy_cfg_Path/haproxy.cfg.$now_time
      [[ "$up_servername" != '' ]] && sed -i "/server $up_servername/s/#//g" $Haproxy_cfg_Path/haproxy.cfg 
      [[ "$down_servername" != '' ]] && sed  -i "s/server $down_servername/#&/g"  $Haproxy_cfg_Path/haproxy.cfg
      [[ "$up_servername" == '' && "$down_servername" == '' ]] && echo "请输入服务名" && exit
      echo "配置文件修改成功"

      

    1. 配置第二个“执行shell命令”任务步骤:启动haproxy服务
      #!/bin/sh
      #/etc/haproxy/为用户安装haproxy服务机器上的haproxy.cfg配置文件的路径,用户根据实际情况填写
      Haproxy_cfg_Path="/etc/haproxy" 
      port="1234" #haproxy的监听端口
      #serviceName为切流量的服务名称
      serviceName="haproxy"
      /usr/sbin/$serviceName -c -q -f $Haproxy_cfg_Path/$serviceName.cfg  
      checkflag=$?  
      if [ "$checkflag" -eq 0 ]
      then
          sudo iptables -I INPUT -p tcp --dport $port --syn -j DROP 
          sleep 1
             service haproxy reload    #haproxy参考命令
      # 或参考命令:/usr/sbin/$serviceName -D -f /etc/$serviceName/$serviceName.cfg -p /var/run/$serviceName.pid -sf $(cat /var/run/$serviceName.pid)
          sudo iptables -D INPUT -p tcp --dport $port --syn -j DROP
          echo "切流量成功"
      else
          echo "$serviceName.cfg 配置文件路径、或内容格式错误"
             return 1
      fi

      

  

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区