问题标签 [canary-deployment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - Spring Cloud Canary 部署
我有一个 Spring Cloud 微服务,Zuul 在 docker 上运行。
要求:
我想创建具有特定要求的金丝雀部署,因为我们将有 x 个客户端,并且我想使用 y 个特定客户端(使用电子邮件或用户名)进行金丝雀测试。
我可以配置网关为这些 y 客户端将请求路由到新版本的微服务吗?
deployment - Canary 部署代码是否需要在较低的环境中进行测试?
我最近遇到了这个金丝雀部署过程,据说
Canary 部署是一种向用户或服务器子集推出版本的模式。这个想法是首先将更改部署到一小部分服务器,对其进行测试,然后将更改推广到其余服务器。金丝雀部署作为早期预警指标,对停机时间的影响较小:如果金丝雀部署失败,其余服务器不会受到影响。
一些文章提到*它是 TEST IN PRODUTION * 策略。
这是否意味着代码没有在较低的环境中进行测试(集成和性能测试)?如果是的话,如果没有代码信心,这些部署怎么会被淘汰?
请澄清一下。提前致谢
nginx - 使用 nginx 入口控制器为金丝雀版本启用会话亲和性
我正在尝试使用 Nginx 入口控制器设置 canary-release。问题是它不会保持会话亲和性,从而导致每个请求都由随机服务提供服务。
我的金丝雀入口:
我的默认入口:
目前是否可以使用 Nginx 入口为金丝雀版本启用会话亲和性?
amazon-web-services - 无法使用 API Gateway 和 Lambda 进行 Canary 部署
我正在尝试使用 API Gateway 的 Canary 部署选项,但我无法这样做。看起来所有配置都已正确完成,但是当我尝试拨打电话时,我只会得到最新的代码版本响应。总而言之,这就是我正在做的事情:
- 我有一个名为dev的 API Gateway 阶段,其中已经部署了一个 Lambda。我在我的基本代码中添加了一个端点,该端点返回当前运行的代码版本。
- 我在 API Gateway 控制台的目标阶段 ( dev ) 中启用了 Canary 部署选项。
- 我对代码进行了更改并更新了先前创建的端点中的版本号。
- 我使用预期的 Canary 设置进行了新部署 (Lambda)。就我而言,我使用的百分比流量为 50%。
一切看起来都很好,甚至在 API Gateway 控制台的 Canary 选项卡中自动更改了百分比。但是一旦我开始调用我的端点,我只会得到最新版本。所以看起来我错过了一些东西,但我不知道是什么。
有任何想法吗?:)
google-kubernetes-engine - 使用 nginx 在 GKE 中使用静态 IP 和金丝雀部署
我希望在 GKE 中使用金丝雀部署。我所拥有的是以下内容:
- 入口控制器和入口部署在“prod”命名空间中。入口被分配一个静态 IP。
- 部署在 prod 和 canary 命名空间中的服务
- 可以在 prod 命名空间中正常访问服务。
问题是当我尝试在金丝雀命名空间中为金丝雀入口创建配置时。似乎发生的是它不使用静态 IP,而是尝试分配一个新 IP。
是否可以在具有静态 IP 的 GKE 中使用带有 NGINX 的金丝雀部署?
kubernetes - 带有 Helm 图表的蓝绿色部署
我们可以使用“Helm Charts”部署应用程序
我们使用冷“滚动升级”部署,
有没有办法使用“Helm Charts”来实现“蓝/绿”部署?
android - Android Studio Canary 在 Windows 10 64 位上一直卡死
我目前正在开发一个 Android 应用程序。四天前,我搞砸了我正在使用的 Git 存储库,我决定创建一个新的 Android Studio 项目并在这个新项目中克隆存储库。从那时起,Android Studio 每隔 2 到 10 分钟就会冻结一次。出于这个原因,我什至安装了 Canary 12,我试图删除我之前在我的计算机上找到的关于 Android 的所有内容!尽管如此,我仍然得到那些冻结。
我已经将内存设置为最大值。在 Android Studio 崩溃时,总内存消耗不超过 50%,所以它不可能是内存问题(在我看来) - 有什么想法吗?
kubernetes - 有没有办法在不使用入口/网关的情况下在 kubernetes 服务级别上设置金丝雀或加权部署?
我可以在虚拟服务上设置权重或按标题过滤。因此,我使用入口/网关进行访问,并且使用权重和标头过滤器取得了成功。但是我想在服务级别上设置这个条件,以便在集群内部访问。我正在使用 ISTIO。
有人知道吗?
kubernetes - 使用 Istio 进行金丝雀或 A/B 部署时控制用户体验
我有一个应用程序,其中包含从主要应用程序服务调用的多个服务。我了解进行金丝雀和 A/B 部署的基础知识,但是我看到的所有示例都显示了循环法,每个请求在版本之间切换。
我更喜欢的是,一旦给定的用户/会话与某个版本相关联,它就会保持这种状态,以避免给用户带来混乱的体验。
如何使用 Kubernetes 或 Istio/Envoy 实现这一点?
azure - Azure 应用服务:根据 HTTP 标头值选择终结点
我有一个多租户应用程序,在每个请求中,租户的 ID 在 HTTP 标头中发送。
我想实现一个简单的金丝雀部署,我将选择租户 ID 的子集,为实验版本创建一个部署槽,并将所选租户的所有 HTTP 请求路由到新槽。
也就是说,我需要一种方法来检查每个请求,并根据 HTTP 标头的值选择应该为请求提供服务的插槽。
有没有办法通过 Azure 应用服务实现这一目标?