Skip to content

Commit

Permalink
Merge pull request #48 from fleeto/zhcn-chapter-8
Browse files Browse the repository at this point in the history
Zhcn chapter 8
  • Loading branch information
salaboy authored Sep 27, 2023
2 parents 33cfcf6 + ac3a26f commit b0431f1
Show file tree
Hide file tree
Showing 7 changed files with 1,069 additions and 9 deletions.
4 changes: 2 additions & 2 deletions README-zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
- [第四章:使用 GitOps 管理环境](chapter-4/README.zh.md)
- [第五章:多云基础设施](chapter-5/README-zh.md)
- [第六章:在 Kubernetes 基础上构建平台工程](chapter-6/README-zh.md)
- [Chapter 7: Platform Capabilities I: Shared Application Concerns](chapter-7/README.zh.md)
- [Chapter 8: Platform Capabilities II: Enabling Teams to Experiment](chapter-8/README.md)
- [第七章:应用级 API 和特性开关](chapter-7/README.zh.md)
- [第八章:蓝绿和金丝雀发布](chapter-8/README.zh.md)
- [Chapter 9: Measure your Platforms](chapter-9/README.md)

## 代码
Expand Down
2 changes: 1 addition & 1 deletion chapter-7/README-zh.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Chapter 7 :: Shared Applications Concerns
# 应用级 API 和特性开关

---
_🌍 Available in_: [English](README.md)
Expand Down
34 changes: 34 additions & 0 deletions chapter-8/README-zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# 蓝绿和金丝雀发布

---
_🌍 Available in_: [English](README.md)

> **Note:** Brought to you by the fantastic cloud-native community's [ 🌟 contributors](https://github.com/salaboy/platforms-on-k8s/graphs/contributors)!
---
本节教程我们将会在 Kubernetes 集群上安装 Knative Serving 和 Argo Rollouts,以实现 Canary 发布、A/B 测试和蓝/绿部署。这些发布策略让团队在发布服务的新版本时拥有更多控制能力。使用不同的技术进行发布,团队可以在一个受控环境中实验和测试他们的新版本,无需在单一时间点将所有实时流量推送到新版本。

- [使用 Knative Serving 实现发布策略](knative/README.zh.md)
- [使用 Argo Rollouts 实现发布策略](argo-rollouts/README.zh.md)

## 清理

可以用如下命令删除 Kind 集群:

```shell
kind delete clusters dev
```

## 下一步

- 如果你对构建 Function As a Service 平台有着浓厚兴趣,可以深入了解一下 [Knative Functions](https://knative.dev/docs/functions/) 项目,这个项目的初衷就是构建能够简化 Function 开发工作的工具。

- 尝试 Argo Rollout 之后,下一步就是创建一个端到端的例子,展示从 Argo CD 到 Argo Rollout 的过程。要完成这一工作,需要创建一个包含 Rollout 定义的仓库。[Argo 项目 FAQ](https://argo-rollouts.readthedocs.io/en/latest/FAQ/) 中包含如何集成这两种工具的进一步说明。

- 可以使用 `AnalysisTemplates` 以及 `AnalysisRuns` 试验更加复杂的场景,这两个能力让开发者在发布新版本时候更有信心。

- 两个项目都能在 [Istio](https://istio.io/) 这样的服务网格上运行。可以更进一步了解一下 Istio 的完整能力。

## 总结和贡献

要改进这些教程,欢迎在 [Twitter](https://twitter.com/salaboy) 上联系我或者提交 PR。
4 changes: 2 additions & 2 deletions chapter-8/argo-rollouts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ In this tutorial we will be looking at Argo Rollout built-in mechanisms to imple

## Installation

You need a Kubernetes Cluster to install [Argo Rollouts](https://dapr.io). You can create one using Kubernetes KinD as we did in [Chapter 2](https://github.com/salaboy/platforms-on-k8s/blob/main/chapter-2/README.md#creating-a-local-cluster-with-kubernetes-kind)
You need a Kubernetes Cluster to install [Argo Rollouts](https://argoproj.github.io/rollouts/). You can create one using Kubernetes KinD as we did in [Chapter 2](https://github.com/salaboy/platforms-on-k8s/blob/main/chapter-2/README.md#creating-a-local-cluster-with-kubernetes-kind)

Once you have the cluster, we can install Argo Rollouts by running:

Expand Down Expand Up @@ -374,7 +374,7 @@ spec:
autoPromotionEnabled: false
```

Once again, we are using our Notifications Service to test the Rollout mechanism. Here we have defined a Blue/Green deployment for the Notification Service which points to two existing Kubernetes Services: `notifications-service-blue` and `notifications-service-green`. Notice that the `autoPromotionEnabled`` flag is set to `false`, this stops the promotion to happen automatically when the new version is ready.
Once again, we are using our Notifications Service to test the Rollout mechanism. Here we have defined a Blue/Green deployment for the Notification Service which points to two existing Kubernetes Services: `notifications-service-blue` and `notifications-service-green`. Notice that the `autoPromotionEnabled` flag is set to `false`, this stops the promotion to happen automatically when the new version is ready.

Check that you have Kafka already running from the previous section (Canary releases) and apply all the resources located inside the `blue-green/` directory:

Expand Down
Loading

0 comments on commit b0431f1

Please sign in to comment.