CN115378808A - 一种使用iptables实现蓝绿发布的方法 - Google Patents

一种使用iptables实现蓝绿发布的方法 Download PDF

Info

Publication number
CN115378808A
CN115378808A CN202210982033.5A CN202210982033A CN115378808A CN 115378808 A CN115378808 A CN 115378808A CN 202210982033 A CN202210982033 A CN 202210982033A CN 115378808 A CN115378808 A CN 115378808A
Authority
CN
China
Prior art keywords
iptables
service
server
green
blue
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210982033.5A
Other languages
English (en)
Inventor
潘力
李志永
王利锋
何本仕
林川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Junbo Network Technology Co ltd
Original Assignee
Guangzhou Junbo Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Junbo Network Technology Co ltd filed Critical Guangzhou Junbo Network Technology Co ltd
Priority to CN202210982033.5A priority Critical patent/CN115378808A/zh
Publication of CN115378808A publication Critical patent/CN115378808A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
    • H04L41/0863Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种使用iptables实现蓝绿发布的方法,涉及蓝绿发布技术领域,包括以下步骤:步骤一,新版本服务部署;工程师将新版本服务部署到需要更新的服务器上,新版本(9000端口)服务监听与旧版本(8080端口)不同的端口;步骤二,新版本服务加载,当将新版本服务部署到需要更新的服务器上后,启动服务器,加载完毕新版本服务,确保加载状态正常;步骤三,规则编写。本发明通过iptables转发流量方式,在不改变流量入口的方式下,可以只使用单台服务器的情况下实现蓝绿发布,可以更加节约服务器资源,缩减了一半的服务器资源,而且所有操作均在单台服务器上进行,可以大大减少操作的复杂程度,使得蓝绿发布更加简单便捷,减少操作人员的失误。

Description

一种使用iptables实现蓝绿发布的方法
技术领域
本发明涉及蓝绿发布技术领域,具体涉及一种使用iptables实现蓝绿发布的方法。
背景技术
蓝绿发布是目前最为常见的一种版本发布方式,利用蓝绿发布来对应用服务进行升级,不仅可以降低用户的感知度,而且,也可以实现应用服务的平滑升级效果,蓝绿发布是一种以可预测的方式进行应用发布的技术,目的是减少应用升级中服务中断的时间,应用平滑升级,目前最常见的蓝绿发布方式基本都是通过服务冗余来解决应用升级问题,即在生产环境准备两组相同的基础设施集群并在每组集群上部署相同应用服务,其中一组是活跃流量的配置(绿色环境),另外一组是待切的配置(蓝色环境),用户访问时,会把所有流量通过负载均衡路由到绿色环境的应用集群。当应用服务需要进行版本升级时,在蓝色环境中部署新版本的应用,测试通过后切断绿色环境的用户访问,并将所有外部流量通过负载均衡路由到蓝色环境的应用集群。使用蓝绿发布方式进行应用服务版本升级的好处在于运维人员可以始终在蓝色环境进行应用部署,即使出现问题也不会影响绿色环境的服务,如果流量切换后发现问题也可以在很短的时间内完成服务回滚,从而降低应用版本升级所带来的服务中断风险。
针对现有技术存在以下问题:
现有的蓝绿发布的方法在进行时需要启动一组新的虚拟机运行新版本的服务,在新版本服务启动后,将流量切换到新虚拟机的新服务上,这种方式不仅操作不够方便,而且还需要消耗多一组虚拟机资源。
发明内容
本发明提供一种使用iptables实现蓝绿发布的方法,以解决上述背景技术中提出的问题。
为解决上述技术问题,本发明所采用的技术方案是:
一种使用iptables实现蓝绿发布的方法,包括以下步骤:步骤一,新版本服务部署;工程师将新版本服务部署到需要更新的服务器上,新版本(9000端口)服务监听与旧版本(8080端口)不同的端口;步骤二,新版本服务加载,当将新版本服务部署到需要更新的服务器上后,启动服务器,加载完毕新版本服务,确保加载状态正常;步骤三,规则编写,工程师将一条新的iptables规则写进iptables里面;步骤四,运行检测,将运行新iptables规则的iptables进行运行,查看运行是否正常;步骤五,蓝绿发布,将运行正常的新版本服务器进行发布。
本发明技术方案的进一步改进在于:所述步骤一中的8080端口和9000端口为两个不同端口。
本发明技术方案的进一步改进在于:所述步骤三中iptables内容为-APREROUTING-p tcp-m tcp--dport 8080-j REDIRECT--to-ports 9000。
本发明技术方案的进一步改进在于:所述步骤三中iptables规则的作用是将访问服务器8080端口的流量转发到9000端口,iptables规则生效之后,用户可以通过访问服务器8080端口去访问新服务,这样工程师就可以完成不停机的服务更新操作,而且是新旧版本服务共存的蓝绿发布。
本发明技术方案的进一步改进在于:所述步骤三中的iptables是一个工作于用户空间的防火墙应用软件,是与3.5版本Linux内核集成的IP信息包过滤***,如果Linux***连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该***有利于在Linux***上更好地控制IP信息包过滤和防火墙配置。
本发明技术方案的进一步改进在于:所述步骤四中的运行检测的输出端信号连接有异常应对,所述异常应对的输出端信号连接有规则去除,所述规则去除的输出端与规则编写的输出端信号连接。
本发明技术方案的进一步改进在于:当新的iptables规则的iptables进行运行后,服务出现异常,需要紧急回滚,工程师只需要将刚才添加的规则去除,便可以让用户重新访问旧版本服务,完成服务回滚操作。
由于采用了上述技术方案,本发明相对现有技术来说,取得的技术进步是:
1、本发明提供一种使用iptables实现蓝绿发布的方法,通过新版本服务部署、新版本服务加载、规则编写、运行检测、异常应对、规则去除和蓝绿发布等步骤的相互配合下,工程师将新版本服务部署到需要更新的服务器上,新版本(9000端口)服务监听与旧版本(8080端口)不同的端口,当将新版本服务部署到需要更新的服务器上后,启动服务器,加载完毕新版本服务,确保加载状态正常,工程师将一条新的iptables规则写进iptables里面,将运行新iptables规则的iptables进行运行,查看运行是否正常,iptables内容为-APREROUTING-p tcp-m tcp--dport 8080-j REDIRECT--to-ports 9000,作用是将访问服务器8080端口的流量转发到9000端口,iptables规则生效之后,用户可以通过访问服务器8080端口去访问新服务,这样工程师就可以完成不停机的服务更新操作,而且是新旧版本服务共存的蓝绿发布,当新的iptables规则的iptables进行运行后,服务出现异常,需要紧急回滚,工程师只需要将刚才添加的规则去除,便可以让用户重新访问旧版本服务,完成服务回滚操作,通过iptables转发流量方式,在不改变流量入口的方式下,可以只使用单台服务器的情况下实现蓝绿发布,可以更加节约服务器资源,缩减了一半的服务器资源,而且所有操作均在单台服务器上进行,可以大大减少操作的复杂程度,使得蓝绿发布更加简单便捷,减少操作人员的失误。
附图说明
图1和图2为本发明的流程示意图。
具体实施方式
下面结合实施例对本发明做进一步详细说明:
实施例1
如图1-2所示,本发明提供了一种使用iptables实现蓝绿发布的方法,包括以下步骤:步骤一,新版本服务部署;工程师将新版本服务部署到需要更新的服务器上,新版本(9000端口)服务监听与旧版本(8080端口)不同的端口;步骤二,新版本服务加载,当将新版本服务部署到需要更新的服务器上后,启动服务器,加载完毕新版本服务,确保加载状态正常;步骤三,规则编写,工程师将一条新的iptables规则写进iptables里面;步骤四,运行检测,将运行新iptables规则的iptables进行运行,查看运行是否正常;步骤五,蓝绿发布,将运行正常的新版本服务器进行发布,所述步骤一中的8080端口和9000端口为两个不同端口,所述步骤三中iptables内容为-A PREROUTING-p tcp-m tcp--dport 8080-jREDIRECT--to-ports 9000,所述步骤三中iptables规则的作用是将访问服务器8080端口的流量转发到9000端口,iptables规则生效之后,用户可以通过访问服务器8080端口去访问新服务,这样工程师就可以完成不停机的服务更新操作,而且是新旧版本服务共存的蓝绿发布,所述步骤三中的iptables是一个工作于用户空间的防火墙应用软件,是与3.5版本Linux内核集成的IP信息包过滤***,如果Linux***连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该***有利于在Linux***上更好地控制IP信息包过滤和防火墙配置,所述步骤四中的运行检测的输出端信号连接有异常应对,所述异常应对的输出端信号连接有规则去除,所述规则去除的输出端与规则编写的输出端信号连接,当新的iptables规则的iptables进行运行后,服务出现异常,需要紧急回滚,工程师只需要将刚才添加的规则去除,便可以让用户重新访问旧版本服务,完成服务回滚操作。
在本实施例中,通过iptables转发流量方式,在不改变流量入口的方式下,可以只使用单台服务器的情况下实现蓝绿发布,对比现有技术,可以更加节约服务器资源,缩减了一半的服务器资源。而且所有操作均在单台服务器上进行,可以大大减少操作的复杂程度,使得蓝绿发布更加简单便捷,减少操作人员的失误。
下面具体说一下该使用iptables实现蓝绿发布的方法的工作原理。
如图1-2所示,工程师将新版本服务部署到需要更新的服务器上,新版本服务监听与旧版本不同的端口(假设旧版本是8080,则新版本就是9000),当新版本服务加载完毕,状态正常之后,工程师将一条新的iptables规则写进iptables里面,该规则内容为-APREROUTING-p tcp-m tcp--dport 8080-j REDIRECT--to-ports 9000,该规则的作用是将访问服务器8080端口的流量转发到9000端口,Iptables规则生效之后,用户可以通过访问服务器8080端口去访问新服务,这样工程师就可以完成不停机的服务更新操作,而且是新旧版本服务共存的蓝绿发布,如果此时新版本服务出现异常,需要紧急回滚,工程师只需要将刚才添加的规则去除,便可以让用户重新访问旧版本服务,完成服务回滚操作,通过iptables转发流量方式,在不改变流量入口的方式下,可以只使用单台服务器的情况下实现蓝绿发布,对比现有技术,可以更加节约服务器资源,缩减了一半的服务器资源。而且所有操作均在单台服务器上进行,可以大大减少操作的复杂程度,通过自动切换,使得蓝绿发布更加简单便捷,减少操作人员的失误,具有提升发布效率,降低操作风险,节约服务器资源的优点。
上文一般性的对本发明做了详尽的描述,但在本发明基础上,可以对之做一些修改或改进,这对于技术领域的一般技术人员是显而易见的。因此,在不脱离本发明思想精神的修改或改进,均在本发明的保护范围之内。

Claims (7)

1.一种使用iptables实现蓝绿发布的方法,其特征在于,包括以下步骤:
步骤一,新版本服务部署;工程师将新版本服务部署到需要更新的服务器上,新版本(9000端口)服务监听与旧版本(8080端口)不同的端口;
步骤二,新版本服务加载,当将新版本服务部署到需要更新的服务器上后,启动服务器,加载完毕新版本服务,确保加载状态正常;
步骤三,规则编写,工程师将一条新的iptables规则写进iptables里面;
步骤四,运行检测,将运行新iptables规则的iptables进行运行,查看运行是否正常;
步骤五,蓝绿发布,将运行正常的新版本服务器进行发布。
2.根据权利要求1所述的一种使用iptables实现蓝绿发布的方法,其特征在于:所述步骤一中的8080端口和9000端口为两个不同端口。
3.根据权利要求1所述的一种使用iptables实现蓝绿发布的方法,其特征在于:所述步骤三中iptables内容为-A PREROUTING-p tcp-m tcp--dport8080-j REDIRECT--to-ports9000。
4.根据权利要求1所述的一种使用iptables实现蓝绿发布的方法,其特征在于:所述步骤三中iptables规则的作用是将访问服务器8080端口的流量转发到9000端口,iptables规则生效之后,用户可以通过访问服务器8080端口去访问新服务,这样工程师就可以完成不停机的服务更新操作,而且是新旧版本服务共存的蓝绿发布。
5.根据权利要求1所述的一种使用iptables实现蓝绿发布的方法,其特征在于:所述步骤三中的iptables是一个工作于用户空间的防火墙应用软件,是与3.5版本Linux内核集成的IP信息包过滤***,如果Linux***连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该***有利于在Linux***上更好地控制IP信息包过滤和防火墙配置。
6.根据权利要求1所述的一种使用iptables实现蓝绿发布的方法,其特征在于:所述步骤四中的运行检测的输出端信号连接有异常应对,所述异常应对的输出端信号连接有规则去除,所述规则去除的输出端与规则编写的输出端信号连接。
7.根据权利要求1所述的一种使用iptables实现蓝绿发布的方法,其特征在于:当新的iptables规则的iptables进行运行后,服务出现异常,需要紧急回滚,工程师只需要将刚才添加的规则去除,便可以让用户重新访问旧版本服务,完成服务回滚操作。
CN202210982033.5A 2022-08-16 2022-08-16 一种使用iptables实现蓝绿发布的方法 Pending CN115378808A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210982033.5A CN115378808A (zh) 2022-08-16 2022-08-16 一种使用iptables实现蓝绿发布的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210982033.5A CN115378808A (zh) 2022-08-16 2022-08-16 一种使用iptables实现蓝绿发布的方法

Publications (1)

Publication Number Publication Date
CN115378808A true CN115378808A (zh) 2022-11-22

Family

ID=84065205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210982033.5A Pending CN115378808A (zh) 2022-08-16 2022-08-16 一种使用iptables实现蓝绿发布的方法

Country Status (1)

Country Link
CN (1) CN115378808A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144256A1 (en) * 2001-03-30 2002-10-03 Navin Budhiraja Method of deployment for concurrent execution of multiple versions of an integration model on an integration server
CN106919418A (zh) * 2017-01-22 2017-07-04 北京奇艺世纪科技有限公司 在线应用快速回滚的方法及装置
CN107153560A (zh) * 2017-05-25 2017-09-12 微梦创科网络科技(中国)有限公司 版本升级方法、服务器和***
CN110471683A (zh) * 2019-08-06 2019-11-19 上海浦东发展银行股份有限公司***中心 一种基于智能dns的容器云应用蓝绿发布方法
US10560372B1 (en) * 2017-08-28 2020-02-11 Amazon Technologies, Inc. Request routing based on server software versions
CN111352642A (zh) * 2020-02-27 2020-06-30 厦门网宿有限公司 服务设备及服务软件升级的方法
CN111399855A (zh) * 2020-03-09 2020-07-10 山东汇贸电子口岸有限公司 一种基于容器技术的自动化应用实例发布方法
CN114090022A (zh) * 2021-11-30 2022-02-25 建信金融科技有限责任公司 ***部署方法、装置、设备及计算机存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144256A1 (en) * 2001-03-30 2002-10-03 Navin Budhiraja Method of deployment for concurrent execution of multiple versions of an integration model on an integration server
CN106919418A (zh) * 2017-01-22 2017-07-04 北京奇艺世纪科技有限公司 在线应用快速回滚的方法及装置
CN107153560A (zh) * 2017-05-25 2017-09-12 微梦创科网络科技(中国)有限公司 版本升级方法、服务器和***
US10560372B1 (en) * 2017-08-28 2020-02-11 Amazon Technologies, Inc. Request routing based on server software versions
CN110471683A (zh) * 2019-08-06 2019-11-19 上海浦东发展银行股份有限公司***中心 一种基于智能dns的容器云应用蓝绿发布方法
CN111352642A (zh) * 2020-02-27 2020-06-30 厦门网宿有限公司 服务设备及服务软件升级的方法
CN111399855A (zh) * 2020-03-09 2020-07-10 山东汇贸电子口岸有限公司 一种基于容器技术的自动化应用实例发布方法
CN114090022A (zh) * 2021-11-30 2022-02-25 建信金融科技有限责任公司 ***部署方法、装置、设备及计算机存储介质

Similar Documents

Publication Publication Date Title
JP5050059B2 (ja) 仮想マシン内の分配されたハードウェア状態管理
CN100445952C (zh) 通信设备中软件版本升级的方法及装置
US7389505B2 (en) Method and apparatus for modifying software
CN111683109B (zh) 一种微服务***
CN102455936A (zh) 集群的快速部署方法
CN102238093B (zh) 防止业务中断的方法和装置
CA2325652A1 (en) A method for intercepting network packets in a computing device
CN110471683B (zh) 一种基于智能dns的容器云应用蓝绿发布方法
US20020147823A1 (en) Computer network system
CN106648863A (zh) 一种安卓应用安装包、应用目标进程保活方法及***
CN1979418A (zh) 动态升级程序的方法
EP2568690B1 (en) Method for binding physical network ports, network card and communication system
US20140310730A1 (en) Multiple interface support
US20050193388A1 (en) Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
CN117120984A (zh) 云计算平台上构建数据中心的多基层容错持续交付
US20100293201A1 (en) Nfs agent upgrade
WO2023109346A1 (zh) 网络虚拟化服务***以及网络虚拟化服务器
CN111966374A (zh) 一种基于容器的能源控制器终端软件部署及管理方法
CN115378808A (zh) 一种使用iptables实现蓝绿发布的方法
JP2002532784A (ja) ネットワークドライバおよびソフトウェアのリモートインストールの方法および装置
US7340738B2 (en) Time optimized replacement of a software application
US7644189B2 (en) Method for upgrading network server programming conditions, associated system and software product
CN101022636A (zh) 设备升级方法及硬件设备
US11405277B2 (en) Information processing device, information processing system, and network communication confirmation method
CN115268929A (zh) 一种支持轻交付部署的极简运维方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20221122