CN110471683B - 一种基于智能dns的容器云应用蓝绿发布方法 - Google Patents

一种基于智能dns的容器云应用蓝绿发布方法 Download PDF

Info

Publication number
CN110471683B
CN110471683B CN201910721616.0A CN201910721616A CN110471683B CN 110471683 B CN110471683 B CN 110471683B CN 201910721616 A CN201910721616 A CN 201910721616A CN 110471683 B CN110471683 B CN 110471683B
Authority
CN
China
Prior art keywords
application
version
cloud platform
container cloud
container
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.)
Active
Application number
CN201910721616.0A
Other languages
English (en)
Other versions
CN110471683A (zh
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.)
Shanghai Pudong Development Bank Co ltd Credit Card Center
Original Assignee
Shanghai Pudong Development Bank Co ltd Credit Card Center
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 Shanghai Pudong Development Bank Co ltd Credit Card Center filed Critical Shanghai Pudong Development Bank Co ltd Credit Card Center
Priority to CN201910721616.0A priority Critical patent/CN110471683B/zh
Publication of CN110471683A publication Critical patent/CN110471683A/zh
Application granted granted Critical
Publication of CN110471683B publication Critical patent/CN110471683B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于智能DNS的容器云应用蓝绿发布方法,包括以下步骤:1)将待发布的应用部署到容器云平台A和B上,通过负载均衡F5同时对外提供服务;2)当需要对应用进行版本升级时,屏蔽容器云平台B上应用的外部流量,在容器云平台B上进行版本升级,使版本从X升级到Y;3)通过智能DNS解析服务请求源地址,WEB区容器云平台的应用请求发送到部署有相同版本应用的容器云平台上;4)通过负载均衡切换外部流量,屏蔽容器云平台A上应用X版本的外部流量;5)在测试确认容器云平台A上的应用X版本成功升级到Y版本后,通过负载均衡同时开放流量,蓝绿发布完成与现有技术相比,本发明具有防止中断、交叉访问、降低操作风险等优点。

Description

一种基于智能DNS的容器云应用蓝绿发布方法
技术领域
本发明涉及应用发布技术领域,尤其是涉及一种基于智能DNS的容器云应用蓝绿发布方法。
背景技术
蓝绿发布是一种以可预测的方式进行应用发布的技术,目的是减少应用升级中服务中断的时间,应用平滑升级。目前最常见的蓝绿发布方式基本都是通过服务冗余来解决应用升级问题,即在生产环境准备两组相同的基础设施集群并在每组集群上部署相同应用服务,其中一组是活跃流量的配置(绿色环境),另外一组是待切的配置(蓝色环境)。用户访问时,会把所有流量通过负载均衡路由到绿色环境的应用集群。当应用服务需要进行版本升级时,在蓝色环境中部署新版本的应用,测试通过后切断绿色环境的用户访问,并将所有外部流量通过负载均衡路由到蓝色环境的应用集群。使用蓝绿发布方式进行应用服务版本升级的好处在于运维人员可以始终在蓝色环境进行应用部署,即使出现问题也不会影响绿色环境的服务,如果流量切换后发现问题也可以在很短的时间内完成服务回滚,从而降低应用版本升级所带来的服务中断风险。
现有蓝绿发布的不足之处:
1.对于客户端来说,需要维护蓝绿两个版本的服务端地址,维护成本高
2.在蓝绿切换时涉及人工操作步骤较多、复杂度高、容易出错.
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于智能 DNS的容器云应用蓝绿发布方法。
本发明的目的可以通过以下技术方案来实现:
一种基于智能DNS的容器云应用蓝绿发布方法,包括以下步骤:
1)将待发布的应用部署到容器云平台A和B上,形成应用双活,通过负载均衡F5同时对外提供服务;
2)当需要对应用进行版本升级时,在负载均衡F5端屏蔽容器云平台B上应用的外部流量,使外部流量全部导入到容器云平台A的应用上,在容器云平台B 上进行版本升级,使版本从X升级到Y;
3)通过智能DNS解析服务请求源地址,WEB区容器云平台的应用请求发送到部署有相同版本应用的容器云平台上;
4)测试确认容器云平台B上的应用X版本成功升级到Y版本后,通过负载均衡切换外部流量,将所有外部流量导入到容器云平台B上的应用Y版本同时屏蔽容器云平台A上应用X版本的外部流量;
5)在测试确认容器云平台A上的应用X版本成功升级到Y版本后,通过负载均衡同时开放流量,蓝绿发布完成。
所述的步骤1)中,容器云平台A和B为不同的容器云平台。
所述的步骤2)中,通过容器云平台B的应用更新功能进行版本升级。
所述的步骤3)具体为:
通过智能DNS解析服务请求源地址,将请求转发到对应平台的应用容器中, WEB区容器云平台A上的X版本应用流量牵引访问APP区容器云平台A的X版本应用,WEB区容器云平台B的Y版本应用流量牵引访问APP区容器云平台B 的Y版本应用,用以避免WEB区双云平台和APP区双云平台的部署的应用APP 在不同版本之间出现交叉访问而导致服务不正常的情况。
所述的步骤4)具体为:
当测试容器云平台B上发布的Y版本应用功能正常时,X版本升级到Y版本成功,在负载均衡F5端将所有外部流量导入到容器云平台B上的Y版本应用APP,同时屏蔽容器云平台A上的X版本应用APP的外部流量,,并升级容器云平台A 上的应用版本X到Y版本。
所述的步骤5)具体为:
测试容器云平台A上发布的Y版本应用APP功能正常后,X版本升级到Y版本成功,在负载均衡F5端开放容器云平台A上Y版本应用APP的流量,保证Y 版本应用在双云平台同时提供服务,蓝绿发布完成。
与现有技术相比,本发明具有以下优点:
一、防止中断:现有技术当流量进行蓝绿切换时,出现当前业务请求中断的情况,而本发明能够实现旧版本应用请求的中止、新版本应用流量的平滑切换,保障业务的可用性。
二、交叉访问:现有技术中蓝绿环境共存时,由于不同版本服务交叉访问,导致用户请求无法正确处理,而新技术方案通过智能DNS解析请求源地址从而精确匹配应用版本,流量智能牵引,解决新旧版本服务并存时的交叉访问现象。
三、降低风险:现有技术在蓝绿切换时涉及人工操作步骤较多、复杂度高、容易出错,而新技术通过智能策略配置实现自动切换,无需人工配置,提升发布效率,降低操作风险。
附图说明
图1为蓝绿发布的总体结构图。
图2为实施例中的方法示意图。
图3为实施例中的方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图2所示,本发明提供一种基于智能DNS的容器云应用蓝绿发布方法,使用双容器云平台进行应用蓝绿发布时,通过负载均衡F5和智能DNS解析域名并根据源地址将请求转发到对应环境,规避常规蓝绿发布过程中的服务中断风险,从而真正做到应用版本平滑升级,服务升级过程用户无感知。
本例中使用两个相同环境的基础设施容器平台A和容器平台B,应用X版本发布在容器平台A上,应用Y版本发布在容器平台B,当访问流量过来时,经过智能DNS调度,可以把不同请求自动导入到对应的应用容器中。
如图3所示,本发明包括如下步骤:
步骤S1:使用容器云平台应用发布功能分别部署业务应用系统APP到容器云平台A和B上,确认应用正常启动,形成应用双活,然后通过F5负载均衡同时接入流量到双云平台的应用从而对外提供服务。
步骤S2:若根据业务要求需要对应用APP进行版本升级,首先在负载均衡F5端屏蔽容器云平台B上应用APP的外部流量,将所有外部流量导入到容器云平台A的应用APP上,然后通过容器云平台的应用更新功能升级容器云平台B上的应用APP的版本从 X到Y版本。
步骤S3:通过智能DNS解析服务请求源地址,将请求转发到对应平台的应用容器,WEB区容器云平台A的应用(X版本)流量智能牵引访问APP区容器云平台A的应用(X 版本),WEB区容器云平台B的应用(Y版本)流量智能牵引访问APP区容器云平台B的应用(Y版本),避免WEB区双云平台和APP区双云平台的部署的应用APP在不同版本之间出现交叉访问而导致服务不正常的情况。
步骤S4:业务人员测试容器云平台B上发布的Y版本应用APP,功能确认正常,X 版本升级到Y版本成功。在负载均衡F5端将所有外部流量导入到容器云平台B上的Y 版本应用APP,同时屏蔽容器云平台A上的X版本应用APP的外部流量。然后参照步骤 S2,升级云平台A上的应用APP版本X到Y版本。
步骤S5:业务人员测试容器云平台A上发布的Y版本应用APP,功能确认正常,X 版本升级到Y版本成功。在负载均衡F5端开放容器云平台A上Y版本应用APP的流量,保证Y版本应用在双云平台同时提供服务,蓝绿发布完成。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。

Claims (3)

1.一种基于智能DNS的容器云应用蓝绿发布方法,其特征在于,包括以下步骤:
1)将待发布的应用部署到容器云平台A和B上,形成应用双活,通过负载均衡F5同时对外提供服务;
2)当需要对应用进行版本升级时,在负载均衡F5端屏蔽容器云平台B上应用的外部流量,使外部流量全部导入到容器云平台A的应用上,在容器云平台B上进行版本升级,使版本从X升级到Y;
3)通过智能DNS解析服务请求源地址,WEB区容器云平台的应用请求发送到部署有相同版本应用的容器云平台上;
4)测试确认容器云平台B上的应用X版本成功升级到Y版本后,通过负载均衡切换外部流量,将所有外部流量导入到容器云平台B上的应用Y版本同时屏蔽容器云平台A上应用X版本的外部流量;
5)在测试确认容器云平台A上的应用X版本成功升级到Y版本后,通过负载均衡同时开放流量,蓝绿发布完成;
所述的步骤3)具体为:
通过智能DNS解析服务请求源地址,将请求转发到对应平台的应用容器中,WEB区容器云平台A上的X版本应用流量牵引访问APP区容器云平台A的X版本应用,WEB区容器云平台B的Y版本应用流量牵引访问APP区容器云平台B的Y版本应用,用以避免WEB区双云平台和APP区双云平台的部署的应用APP在不同版本之间出现交叉访问而导致服务不正常的情况;
所述的步骤4)具体为:
当测试容器云平台B上发布的Y版本应用功能正常时,X版本升级到Y版本成功,在负载均衡F5端将所有外部流量导入到容器云平台B上的Y版本应用APP,同时屏蔽容器云平台A上的X版本应用APP的外部流量,并升级容器云平台A上的应用版本X到Y版本;
所述的步骤5)具体为:
测试容器云平台A上发布的Y版本应用APP功能正常后,X版本升级到Y版本成功,在负载均衡F5端开放容器云平台A上Y版本应用APP的流量,保证Y版本应用在双云平台同时提供服务,蓝绿发布完成。
2.根据权利要求1所述的一种基于智能DNS的容器云应用蓝绿发布方法,其特征在于,所述的步骤1)中,容器云平台A和B为不同的容器云平台。
3.根据权利要求1所述的一种基于智能DNS的容器云应用蓝绿发布方法,其特征在于,所述的步骤2)中,通过容器云平台B的应用更新功能进行版本升级。
CN201910721616.0A 2019-08-06 2019-08-06 一种基于智能dns的容器云应用蓝绿发布方法 Active CN110471683B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910721616.0A CN110471683B (zh) 2019-08-06 2019-08-06 一种基于智能dns的容器云应用蓝绿发布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910721616.0A CN110471683B (zh) 2019-08-06 2019-08-06 一种基于智能dns的容器云应用蓝绿发布方法

Publications (2)

Publication Number Publication Date
CN110471683A CN110471683A (zh) 2019-11-19
CN110471683B true CN110471683B (zh) 2023-11-24

Family

ID=68510281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910721616.0A Active CN110471683B (zh) 2019-08-06 2019-08-06 一种基于智能dns的容器云应用蓝绿发布方法

Country Status (1)

Country Link
CN (1) CN110471683B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111142920A (zh) * 2019-12-31 2020-05-12 浪潮云信息技术有限公司 一种基于容器技术的自动化蓝绿发布方法
CN111880831A (zh) * 2020-07-27 2020-11-03 平安国际智慧城市科技股份有限公司 服务器同步更新的方法、装置、计算机设备及存储介质
CN112269591A (zh) * 2020-11-11 2021-01-26 北京凌云雀科技有限公司 版本发布方法、装置、设备及存储介质
CN112688807B (zh) * 2020-12-18 2023-01-17 中国人寿保险股份有限公司 一种一站式联动响应蓝绿部署的方法、装置和电子设备
CN113691583A (zh) * 2021-07-15 2021-11-23 上海浦东发展银行股份有限公司 一种基于蓝绿部署的多媒体服务系统、方法
CN115378808A (zh) * 2022-08-16 2022-11-22 广州骏伯网络科技有限公司 一种使用iptables实现蓝绿发布的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016115333A (ja) * 2014-12-16 2016-06-23 キヤノン株式会社 管理システムおよび管理システムの制御方法
CN106789250A (zh) * 2016-12-22 2017-05-31 焦点科技股份有限公司 一种基于容器的服务多版本共存实现方法
CN107465765A (zh) * 2017-09-21 2017-12-12 深圳市视维科技股份有限公司 一种基于容器云的智能应用网关实现方法
CN108282507A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 在CaaS环境中进行应用发布的方法、装置以及电子设备
CN108279921A (zh) * 2018-01-22 2018-07-13 广州欧赛斯信息科技有限公司 一种基于容器平台的自动灰度发布方法、系统及装置
CN109117272A (zh) * 2018-08-16 2019-01-01 安徽云才信息技术有限公司 一种基于容器技术的微服务系统平滑上线的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015015196A1 (de) * 2014-12-16 2016-06-16 Canon Kabushiki Kaisha Verwaltungssystem und Steuerungsverfahren für Verwaltungssystem
JP2016218530A (ja) * 2015-05-14 2016-12-22 キヤノン株式会社 リクエスト振り分けシステム、管理システム、およびその制御方法
WO2018027586A1 (zh) * 2016-08-09 2018-02-15 华为技术有限公司 云计算系统中虚拟机访问物理服务器的方法、装置和系统
US10530815B2 (en) * 2016-10-24 2020-01-07 Nubeva, Inc. Seamless service updates for cloud-based security services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016115333A (ja) * 2014-12-16 2016-06-23 キヤノン株式会社 管理システムおよび管理システムの制御方法
CN106789250A (zh) * 2016-12-22 2017-05-31 焦点科技股份有限公司 一种基于容器的服务多版本共存实现方法
CN108282507A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 在CaaS环境中进行应用发布的方法、装置以及电子设备
CN107465765A (zh) * 2017-09-21 2017-12-12 深圳市视维科技股份有限公司 一种基于容器云的智能应用网关实现方法
CN108279921A (zh) * 2018-01-22 2018-07-13 广州欧赛斯信息科技有限公司 一种基于容器平台的自动灰度发布方法、系统及装置
CN109117272A (zh) * 2018-08-16 2019-01-01 安徽云才信息技术有限公司 一种基于容器技术的微服务系统平滑上线的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Dynamic priority based load balancing technique for VM placement in cloud computing;Khusboo K. Patel 等;《2017 International Conference on Computing Methodologies and Communication (ICCMC)》;全文 *
基于容器云的微服务系统;杨迪;;《电信科学》(第09期);全文 *

Also Published As

Publication number Publication date
CN110471683A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN110471683B (zh) 一种基于智能dns的容器云应用蓝绿发布方法
CN101884208B (zh) 在多个适配器间同时支持多个虚拟ip地址的主机中的故障转移
CN106464533B (zh) 基于网络功能虚拟化的故障处理方法和装置
US20090013010A1 (en) Method and approach to hosting versioned web services
US11757793B2 (en) Multisite interconnect and policy with switching fabrics
CN100445952C (zh) 通信设备中软件版本升级的方法及装置
CN104486291B (zh) 建立连接的方法、装置及系统
EP3355543B1 (en) Method and device for managing certificate in network function virtualization architecture
CN101217558A (zh) 一种业务中间件服务负载均衡方法
CN103974380A (zh) 一种终端接入位置保活的方法及装置
CN113938533B (zh) 应用间的通信方法、装置、电子设备及计算机可读介质
WO2021136233A1 (zh) 业务升级的方法、装置和系统
CN115086330B (zh) 跨集群负载均衡系统
CN112019610A (zh) 一种云边协同方法及系统
CN106775816A (zh) 一种局域网中应用程序的自动更新方法及系统
CN105338128A (zh) 域名解析方法及域名解析装置
US7254628B2 (en) Network management system with validation of policies
CN111510310A (zh) 公有云架构下的网络模式实现方法和装置
US20170006072A1 (en) Controller and Method for Setting Up Communication Links to Redundantly Operated Controllers in an Industrial Automation System
CN110557281B (zh) 基于cmdb和告警图谱的智能运维方法以及装置
EP4164180A1 (en) Stateful packet transmission between remote networks via a public network
US7573901B2 (en) Hub-based messaging system
CN101277223A (zh) 一种获取单板软件的方法
US20100103905A1 (en) Method and system for service link handover
CN108984191A (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
GR01 Patent grant
GR01 Patent grant