问题标签 [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.
android - Gradle 同步失败:找不到 org.jetbrains.kotlin(无意使用 Kotlin)
(在我看来不是这个问题的重复)
Android Studio 中的错误消息:
Gradle 同步失败:找不到 org.jetbrains.kotlin:kotlin-stdlib:1.1.3-2
我不明白为什么没有这个库 Gradle 不会同步,为什么 Kotlin 是强制性的。另外,我没有尝试或打算安装或使用 Kotlin 插件。
注意:这发生在我刚刚在开发更新频道上升级到最新的 Android Canary 版本之后。在稳定版本或我的代码本身中没有任何问题或与 Kotlin 相关的任何内容。
spinnaker - 如何在 Spinnaker 中设置滚动部署?
我刚开始尝试 Spinnaker。我已经阅读了教程https://www.spinnaker.io/guides/tutorials/codelabs/gcp-kubernetes-source-to-prod/,并且没有问题地工作。
现在我想更高级一点,进行滚动发布或金丝雀部署(https://www.spinnaker.io/concepts/#deployment-strategies),例如,可以只公开一个新的发布给 5% 的客户。
我在 spinnaker.io(或谷歌)上找不到任何关于如何设置的指南。谁能指导我正确的方向?
amazon-web-services - 如何进行金丝雀部署?
我有一个带有一个 ALB、两个 api 节点和一个 RDS 的 AWS 环境。我今天执行就地部署。我阅读了有关金丝雀版本的信息,并想知道如何将当前环境转换为使用金丝雀部署。我的环境完全在 AWS 上。我的主要问题是关于路由,拨号/拨号需要什么服务/组件?
deployment - 蓝/绿部署、金丝雀发布和数据库一致性
有一些技术可以确保新更改不会破坏系统,例如上面提到的蓝绿或金丝雀部署。两者都意味着部分应用更改(仅更改基础架构的一部分,或与旧版本并行运行新版本)。
但是,如果数据结构发生任何重大变化,我不知道如何保持数据一致性(假设您对 GDPR 进行了更改——很可能是这样,对吧?)。
即使在基于 NoSQL 的解决方案上,它也可能会导致问题(正如我想象的那样)。我试图寻找解决方案,但这个问题只是被广泛提及,但很少得到解决。
如何引入这些技术并保持数据一致性?在实际应用中是如何正常实现的?
deployment - 如何在deployment中指定不同版本的kubernetes中实现Canary部署
我有两个部署文件 1.
deployment-1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: process
labels:
app: process
spec:
replicas: 3
selector:
matchLabels:
app: process
template:
metadata:
labels:
app: process
version: v1
spec:
containers:
- name: pull
image: parma/k8s-php:red
ports:
- containerPort: 80
2.
部署-2.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: process
labels:
app: process
spec:
replicas: 3
selector:
matchLabels:
app: process
template:
metadata:
labels:
app: process
version: v2
spec:
containers:
- name: pull
image: parma/k8s-php:green
ports:
- containerPort: 80
由于我在 spec.template.metadata 中指定了两个不同的版本,它不会为两个副本集继续运行 6 个 pod,它只会启用最新的副本集并运行。
有没有办法通过保持单个部署中的副本集启动并运行 v1 中的 3 个 pod 和 v2 中的 3 个 pod 来实现金丝雀部署
kubernetes - Istio:蓝/绿部署
我可以创建一个流量策略来路由在不同 kubernetes 命名空间中运行的服务之间的流量吗?
目前,我的测试服务位于staging
命名空间。另一方面,我在生产中的服务在production
命名空间上。
我想平衡位于staging
命名空间和production
命名空间中的服务之间的流量。所以,10% 到staging:service
90% 到production:service
.
到目前为止,我已经能够创建一个虚拟服务和一个目标规则,但是这两个服务都在同一个命名空间内运行。
还有一个VirtualService
:
此配置在命名空间内运行的两个服务之间是平衡的istio-project
。
有任何想法吗?
编辑
jenkins - Jenkins 可锁定资源 - 锁定而不解锁
我将“Locable Resources Plugin”与 Jenkins 多管道功能一起使用:
我有一种情况,我需要在一个管道中锁定资源并在另一个管道中解锁它。我有解决方法,但如果可能的话,我更喜欢使用锁定插件。
我想象这样的事情
它的原因
我正在实现金丝雀版本,并且通过我的管道有三种不同的路径(我考虑了其他解决方案,例如使用输入插件暂停管道 - 为我提供更多超出了这个问题的范围)。我想在评估金丝雀时锁定/暂停管道,然后在升级或回滚完成后再次解锁。省略lock
声明的主体只是给了我java.lang.IllegalStateException: There is no body to invoke
kubernetes - 如何使用 Istio 将流量镜像到两个地方?
作为我持续部署管道的一部分,我部署了金丝雀和基线,比较两者的指标并分析结果以确定是否将金丝雀推广到生产环境。为了改进收集的指标,我想使用 Istio 将生产流量镜像到金丝雀和基线部署。
为此,我有以下虚拟服务和目标规则,将流量镜像到我的金丝雀部署:
我怎样才能将流量镜像到基线,以便基线和金丝雀接收与我的生产部署相同的流量?
kubernetes - Kubernetes模式金丝雀部署冒烟测试最佳实践?
我有一个金丝雀部署过程,可以启动金丝雀豆荚并进行冒烟测试,但到目前为止,我正在对金丝雀豆荚和旧豆荚进行冒烟测试。我不确定我是否应该这样做,或者烟雾测试应该只在金丝雀豆荚上运行?