渐进式交付是持续交付的下一步, 它将新版本部署到用户的一个子集,并在将其滚动到全部用户之前对其正确性和性能进行评估, 如果不匹配某些关键指标,则进行回滚. 这里有一些有趣的项目,使得渐进式交付在 Kubernetes 中变得更简单. 我将使用一个 Jenkins X 示例项目 对它们之中的三个进行讨论:Shipper.Istio 以及 Flagger. Shipper shipper 是来自 booking.com 的一个项目, 它对 Kubernetes 进行了扩展,添加了复杂的部署策略和多集…
概述 如何在腾讯云 Kubernetes 集群实现蓝绿发布和灰度发布?通常要向集群额外部署其它开源工具来实现,比如 Nginx Ingress,Traefik 等,或者让业务上 Service Mesh(服务网格),利用服务网格的能力来实现.这些方案多多少少都是需要一点点门槛的,如果蓝绿发布或灰度发布的需求不复杂,同时不希望让集群引入更多的组件或复杂的用法,可以考虑使用本文的简单方案,利用 Kubernetes 原生的特性以及腾讯云 TKE/EKS 集群自带的 LB 插件实现简单的蓝绿发布和灰度…
蓝绿发布原理 蓝绿发布本质上是希望能优雅无误的迭代应用,以便于使应用平稳提供服务.通常是不停老版本的同时对新版本进行先发布,然后确认无误后进行流量切换,即并行部署. Kubernetes中可以通过deployment来部署一个蓝发布,然后通过控制service,来决定使用的版本.即通过label selector 将流量转发至对应的版本. 蓝绿发布实践 构建环境 基础Kubernetes环境 需要部署一个处于健壮状态的Kubernetes,部署Kubernetes可参考 Kubernetes_v…
前言 软件世界比以往任何时候都更快.为了保持竞争力,需要尽快推出新的软件版本,而不会中断活跃用户访问,影响用户体验.越来越多企业已将其应用迁移到 Kubernetes. 在 Kubernetes 中有几种不同的方式发布应用,所以为了让应用在升级期间依然平稳提供服务,选择一个正确的发布策略就非常重要了,本篇文章将讲解在 Kubernetes 使用蓝绿更新的方式更新镜像. 原理 蓝绿发布是版本 1 与版本 2 会同时存在,通过控制 Service 来决定使用具体哪一个版本,也称为红黑部署.蓝绿发布与…
介绍 本指南将引导您在 Kubernetes 集群上设置渐进式交付 GitOps 管道. GitOps Helm 研讨会 原文地址:GitOps Progressive Deliver with Flagger, Helm v3 and Linkerd GitOps 是什么? GitOps 是一种进行持续交付的方法,它通过将 Git 用作声明性基础结构和工作负载的真实来源来工作.对于 Kubernetes,这意味着使用 git push 代替 kubectl create/apply 或者 ku…
出处:https://www.baidu.com/link?url=QjboallwNm_jxcL3fHG57wEakiBfAs_3-TChTGu1eBXstlHEsGBc-NDA7AKTqsiroBx9a8OMoITgM5mbKAoiSqwMCLj5LzrjcAew2sBt9zO&wd=&eqid=91b4282c0000c567000000045be3a121 在有关微服务.DevOps.Cloud-native.系统部署等的讨论中,蓝绿部署.A/B 测试.灰度发布.滚动发布.红黑部署…
上篇文章介绍了 Contour 分布式架构的工作原理,顺便简单介绍了下 IngressRoute 的使用方式.本文将探讨 IngressRoute 更高级的用法,其中级联功能是重点. 1. IngressRoute 大入门 上篇文章在 examples/example-workload 目录下创建了一个示例应用,我们来回顾一下它的 IngressRoute 配置: apiVersion: contour.heptio.com/v1beta1 kind: IngressRoute metadata…
过去的10多年里,很多大公司都在使用蓝绿部署,安全.可靠是这种部署方式的特点.蓝绿部署虽然算不上”Sliver Bullet“,但确实很实用.在有关于“微服务”.“DevOps”.“Cloud-native”的讨论中,蓝绿部署.A/B测试.灰度发布,这三种部署方式往往同时出镜. 那么问题来了,蓝绿部署.A/B测试.灰度发布,这三者之间究竟有何不同? A/B测试 AB测试是为Web或App界面或流程制作两个(A/B)或多个(A/B/n)版本,在同一时间维度,分别让组成成分相同(相似)的访客群组(目…
本文转载自蓝绿部署.金丝雀发布(灰度发布).A/B测试的准确定义 概述 蓝绿部署.A/B测试.金丝雀发布,以及灰度发布.流量切分等,经常被混为一谈,影响沟通效率. 根本原因是这些名词经常出现,人们耳熟能详能够熟练地谈起,对这些术语的理解却没有达成一致. 下面是从Blue-green Deployments, A/B Testing, and Canary Releases中整理出来的定义. 蓝绿部署 蓝绿部署的目的是减少发布时的中断时间.能够快速撤回发布. It's basically a te…
最近看到Canary发布,一时没有反应过来是什么,一查才发现就是鼎鼎有名的金丝雀发布,发现经常一起出现的还有灰度发布.蓝绿部署.滚动部署.A/B测试,故一起学习一下这几个概念. 1. 蓝绿部署 目的:减少发布时的中断时间.能够快速撤回发布 蓝绿部署中,一共有两套系统:一套正在提供服务的系统,标记为"绿色":另一套是准备发布的系统,标记为"蓝色".两套系统都是功能完善的,并且正在运行的系统,只是系统版本和对外服务情况不同. 蓝色系统作用:用来做发布前测试,测试过程中发…