摘要: 上文介绍了如何使用Ingress实现蓝绿发布。但是对于很多只提供tcp/udp的服务来说,七层的ingress不能很好的实现蓝绿发布的需求。这里我们就来介绍一下如何使用 SLB 来进行四层的金丝雀发布。
前言
上文介绍了如何使用Ingress实现蓝绿发布。但是对于很多只提供tcp/udp的服务来说,七层的ingress不能很好的实现蓝绿发布的需求。这里我们就来介绍一下如何使用 SLB 来进行四层的金丝雀发布。
准备
首先需要一个已经通过SLB对外提供服务的应用,这里我们还是继续使用nginx作为例子,不过这次是通过SLB对外暴露的服务。
可以直接在控制台上,通过应用->部署 使用模板来部署应用。
创建完毕后,就可以在控制台上看到对应的部署与服务。
现在我们可以通过本地curl 来看一下部署的效果
可以看到已经正常访问。
新服务上线
下面我们模拟新的服务上线,现在创建新的应用。
值得注意的就是,新服务的pod的label,也是含有app:nginx标签的。这个标签就是为了对应的service找到该pod,这样就可以将对应的流量导入进来。
创建完毕后就可以在控制台上看到新的应用。
下面我们在执行一下curl 看一下效果。
可以看到,十次请求里面,有五次打到了老服务,五次打到了新服务。主要原因是,service对于流量请求是平均的负载均衡策略,而且新老服务均为一个pod,因此他们的流量百分比为1:1 。
调整流量权重
这里的权重调整就没有ingress的那么直接。需要调整后端的pod容器数量来调整对应的权重。比如我们这里希望新的服务权重更大一些,那么想调整新的pod数量到3个。
可以直接在控制台上更新已有的应用。注意: Kubernetes的Deployment资源默认的更新方式就是rollingUpdate
,所以在更新过程中,会保证最小可服务的容器个数,这个个数也可以在模板里面调整。
更新完毕后,新老服务个数比为3:1, 下面我们再来curl一下,看一下效果。
可以看到,10个请求里面,有8个请求到新的服务,2个到老的服务。后面就可以通过动态的调整pod的数量来调整新老服务的权重,实现金丝雀发布。
完成
发布完毕后,将对应的旧应用删除即可。删除完毕后,看一下curl的效果
这样就实现了四层 SLB 金丝雀发布的流程。
相关推荐
阿里云均衡负载服务器集群架构图:云盾、云监控、SLB、ECS集群、主从数据库.zip 1.购买均衡负载 2.购买ECS云主机 3.管理后端服务器
Linux运维-运维课程MP4频-03阿里云-05-SLB-02阿里云SLB使用.mp4
阿里云提供了多种方式来配置 SSL 证书,包括上传自己的 SSL 证书、使用阿里云提供的 SSL 证书等。 知识点 2:SLB 的后端协议 SLB(Server Load Balancer)是阿里云提供的一种负载均衡服务,可以将入站流量分配到多...
阿里云保留在没有任何通知或者提示下对本文档的内容进行修改的权利,并在阿里云授权通道中不时发布更新后的用户文档。 4. 本文档仅作为用户使用阿里云产品及服务的参考性指引,阿里云以产品及服务的“现状”、“有...
Linux运维-运维课程MP4频-03阿里云-05-SLB-01阿里云SLB购买.mp4
阿里云SLB-ECS-OSS-RDS与系统数据迁移是云计算领域中的一个重要概念,它涉及到阿里云的多个服务,包括SLB(负载均衡服务)、ECS(云服务器)、OSS(对象存储服务)和RDS(关系数据库服务)。本文将对这些服务进行...
负载均衡(Server Load Balance,SLB)是对多台云服务器进行流量分发的负载均衡服务。
Pods是Kubernetes中运行应用程序的基本单元,而Service则定义了访问这些Pods的方式。Deployments用于定义应用的副本数量和更新策略,ConfigMaps和Secrets则用于存储非敏感和敏感配置信息。 Nacos 2.0.3的部署通常...
在我们的测试中,我们使用了stream模块来配置nginx 的四层代理,并使用了upstream模块来配置SLB的负载均衡策略。 五、结论 通过我们的测试,我们可以了解到nginx 四层代理和SLB负载均衡功能的优缺点和配置方法。在...
### 阿里云ECS+SLB的架构详解 #### 架构概述 阿里云ECS(Elastic Compute Service)结合SLB(Server Load Balancer)提供了强大的高可用负载均衡解决方案,旨在确保应用程序能够稳定运行,即使面对大量并发请求也能...
这款产品旨在简化云环境中Kubernetes集群的部署、管理和扩展,同时结合阿里云的基础设施服务,如虚拟化、存储、网络和安全,构建出云端最优的Kubernetes运行环境。 1. **什么是容器服务** 容器服务是阿里云提供的...
使用阿里云图标模具,用户可以轻松地表示阿里云的众多服务,例如ECS(Elastic Compute Service,弹性计算服务)、RDS(Relational Database Service,关系型数据库服务)、OSS(Object Storage Service,对象存储...
- **Managed Kubernetes**: 托管集群,由阿里云管理控制面,用户仅需关注应用。 - **Serverless Kubernetes**: 无服务器集群,自动伸缩,无需用户管理节点。 **5. 用户画像** - **Dedicated Kubernetes**: 适合对...
在阿里云平台上,使用负载均衡服务(Server Load Balancer,简称SLB)是构建高可用性和容灾能力的重要手段。本文将详细阐述如何利用SLB实现容灾,确保业务的连续性和稳定性。 首先,SLB支持在一个区域内(REGION)...
本文档是阿里云专有云企业版负载均衡SLB用户指南,旨在帮助用户快速了解和使用阿里云负载均衡SLB产品。该文档涵盖了负载均衡SLB的基本概念、安装和配置、使用和管理、故障排除和维护等方面的内容。 1.法律声明 ...
法律声明中规定了用户使用阿里云专有云企业版负载均衡SLB产品的权利和义务,包括下载、获取和使用本文档的内容,保护阿里云的保密信息,不得擅自披露或提供给第三方使用等。 产品简介 阿里云专有云企业版负载均衡...
同时,企业还可以使用阿里云提供的安全服务,例如服务器安全加固、态势感知、SLB等。 * 中期业务架构:在该阶段,企业将其业务进一步优化,使用阿里云提供的高可用架构,例如双机高可用版、一主一备经典高可用架构等...
阿里云专有云企业版负载均衡SLB开发指南是阿里云提供的一份关于负载均衡开发的指南,旨在帮助用户快速了解和使用阿里云的负载均衡服务。本文档涵盖了负载均衡的基本概念、架构设计、页面布局、文字描述等方面的知识...
在阿里云专有云企业版中,负载均衡SLB可以实现以下功能: - **流量分发**:根据预设策略,如轮询、权重分配等,将来自客户端的请求智能地分发到后端服务器。 - **健康检查**:定期检测后端服务器的健康状态,自动...