0
点赞
收藏
分享

微信扫一扫

利用 Kruise Rollouts 优化应用发布策略

参考地址: https://openkruise.io/zh/rollouts/introduction


1.Kruise Rollouts 概述

Kruise Rollouts 是一个 Bypass(旁路) 组件,提供高级渐进式交付功能 。它的支持可以帮助您实现对应用程序的更平稳和受控的更改部署,支持金丝雀、多批次和A/B测试交付模式,同时它兼容 Gateway API 和各种Ingress 实现,使其更容易集成到您的现有基础设施中。总的来说,对于希望优化其部署流程的 Kubernetes 用户来说,Kruise Rollouts是一个有价值的工具.


利用 Kruise Rollouts 优化应用发布策略_github


2.主要功能

  • 丰富的发布策略
  • 用于 Deployment、CloneSet、StatefulSet、Advanced StatefulSet、Advanced DaemonSet 的多批次更新策略。
  • 用于 Deployment 的金丝雀(Canary)更新策略。
  • 丰富的流量路由管理策略
  • 在更新工作负载时进行流量细粒度、加权流量转移。
  • 流量A/B测试,基于HTTP头和Cookie进行流量转移。
  • 端到端流量灰度
  • 丰富的流量协议支持
  • Ingress 控制器集成:NGINX、ALB、Higress
  • 通过 GatewayAPI 进行服务网格集成。
  • 可插拔的Lua脚本,以便轻松扩展到其他 Kubernetes 流量协议(甚至CRD.

3.Kruise Rollouts 与其他组件对比

Kruise Rollouts 与 Argo Rollout 和 Flux Flagger 的对比

利用 Kruise Rollouts 优化应用发布策略_github_02

4.部署Kruise Rollout

4.1 部署依赖

  • 安装 Kubernetes 集群,需要 Kubernetes 版本 >= 1.19。
  • (可选,如果使用 CloneSet) Helm 安装 OpenKruise,自 v1.1.0 起 ,参考安装 OpenKruise.

4.2 使用 Helm 安装

# 添加helm 源
helm repo add openkruise https://openkruise.github.io/charts/
helm repo update

# 安装最新版
helm install kruise-rollout openkruise/kruise-rollout --version 0.5.0

# 查看kruise-rollout 版本库里面有那些版本
helm search repo openkruise/kruise-rollout --versions

实验过程

利用 Kruise Rollouts 优化应用发布策略_基础设施_03

4.3 使用 Helm 升级

# 首先,如果您还没有添加 openkruise Charts库,请执行以下命令。
helm repo add openkruise https://openkruise.github.io/charts/

# [可选]
$ helm repo openkruise update 
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "openkruise" chart repository
Update Complete. ⎈Happy Helming!⎈

# 升级到最新版本。
$ helm upgrade kruise-rollout openkruise/kruise-rollout --version 0.5.0 [--force]

4.4 使用自定义配置安装/升级

#列出了Kruise Charts的可配置参数以及它们的默认值

helm show values openkruise/kruise-rollout --version 0.5.0

#使用 --set key=value[,key=value] 参数来指定每个参数,例如
helm install kruise-rollout openkruise/kruise-rollout --version 0.5.0 --set resources.limits.memory=2Gi \
--set image.repository=openkruise-registry.cn-shanghai.cr.aliyuncs.com/openkruise/kruise-rollout

4.5 软件卸载

#请注意,这将导致 Kruise Rollout 创建的所有资源被删除,包括 Webhook 配置、服务、命名空间、CRDs 和 CR 实例以及 Kruise Rollout 控制器!
只有在您充分理解后才执行此操作。
要卸载使用 Helm Charts安装的 kruise rollout:

helm uninstall kruise-rollout
release "kruise-rollout" uninstalled


举报

相关推荐

0 条评论