KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(一)

简介: 快速学习 KubeVela 对接 Istio 实现应用灰度发布实践

开发者学堂课程【KubeVela 对接 Istio 实现应用灰度发布实践KubeVela 对接 Istio 实现应用灰度发布实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/975/detail/14896


KubeVela 对接 Istio 实现应用灰度发布实践

 

内容介绍

一、KUbeVela addon

二、对接 Istio 实现应用灰色发布

 

一、KUbeVela addon

本节课的主题是:目前存在非常多的 KUbeVela addon 插件,如提供云资源的 terraform、提供 Helm,Kustomize 组件的部署功能的 fluxcd、对阿里云熟悉的 kruise,这个组件是提供比 Kubernetes 原生更强大的工作负载套件和自动扩缩容的疙瘩,提供基于 Promethus 的基础监控功能的 prometheus,提供基于事件驱动的工作负载自动扩缩功能的keda,提供多集群功能的系统插件的 ocm,observability 为 KubeVela core 提供系统级别的监控,也可为应该用提供业务级别的监控。

以可观测性插件 observability 为例

如果通过命令$vela addon enable observability,安装插件后,安装5个 chat

image.png

从例子中可以看到可形成插件的定义,是将复杂且强大的功能通过一条简单命令提供出来,就可以将非常复杂且比较强大的能力以非常简单的形式部署出来,在为用户提供非常简单的体验。

 

二、对接 Istio 实现应用灰色发布

首先为了使用插件,需要安装istio。

通过$vela addon enable istio 将 istio 的功能和他的定义和相应的配置安装进来,

这些复杂的能力可以通过一条简单命令安装,因为istio需要打印 kubectl label default istio-injection=enabled 所以通过$kubectl label namespace default istio-injection=enabled 的命令打印,在这个例子中会使用的boradingfor 的应用。

istio 的 boradingfor 的架构为:请求被 Product page 主应用接收,首先会显示数据详情,还会去访问显示数据访问和评论信息,各条数据均显示,然后评论后面再存在打分系统支撑

详情如下图:

image.png

Demo 演示:

首先安装 enable istio,安装成功,接下来打 kubectl label 也就是 istio-injection-enabled。

image.png

这个代码演示位置在核心库 kubevela 下面 docs 下面 exampies 的 canary-rolloct-case。

通过定义部署 book-info 应用首先分几个组件

第一个 review 品论组件 Properties 是指定他的现象,为 examples-bookinfo-revlews-v2.1.16.2版本。指定端口和所需要的磁盘。

image.png

针对 revlew 品论组件此外配置了2个运维特性

1. canary-traffic 提供的金丝雀的流量切分,具备9080的端口,拥有这个组建后,金丝雀具有了流量切分的能力

2. Rollout 会产生两个副本,分批次发布的数字代表着做几个灰度发布如:replicas:2即一次发布两个副本数,代表一次发布成功。

Productpage 为核心应用组件,即 revlew 评论系统,拥有两个 type

Expose本质上是为创建一个 server 创建一个服务,赋予 ingresstway 的特性,接收来自所有 hosts 的配置应用的请求收转到网关上达到控制流量的能力,hosts 代表所有请求均可接收到,具体请求的 api 是在 productpage、login、api/v1/products 均可接收到。

第三第四组件分别为评分系统 ratings 和数据的详情 details 分别配置 servers。

image.png

将应用部署,即 first-deploy-yaml

有四个组件,可详细观看,get deployment-m 是模拟有多少个 pod,pod 生成的情况。

 image.png

最后到达终态,review 评分系统会存在两个副本,因为刚才灰度发布的副本数就是两个。

image.png

相关文章
|
6月前
|
负载均衡 Kubernetes Cloud Native
OpenKruise 是一个基于 Istio 的云原生服务网格
OpenKruise 是一个基于 Istio 的云原生服务网格
73 10
|
Kubernetes Cloud Native 安全
ArgoCD + KubeVela:以开发者为中心的 GitOps
在这篇博文中,我们将分享基于阿里云的用例,使用 Argo CD 和 KubeVela 构建以开发者为中心的持续应用交付流水线的经验。
ArgoCD + KubeVela:以开发者为中心的 GitOps
|
Cloud Native 测试技术 开发工具
通过 OpenKruise 实现基于 Higress 的全链路灰度
通过 OpenKruise 实现基于 Higress 的全链路灰度
851 11
|
运维 Kubernetes Cloud Native
应用纳管和灰度发布:谐云基于 KubeVela 的企业级云原生实践
谐云通过类比事务的方式,将渲染过程分为正向和逆向,同时将首次纳管和真正的纳管动作进行了分离,完成了平台升级的同时,给应用的纳管行为留下了一定的可操作空间。
应用纳管和灰度发布:谐云基于 KubeVela 的企业级云原生实践
|
测试技术 开发者
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
快速学习 KubeVela 对接 Istio 实现应用灰度发布实践
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
|
Kubernetes Docker 微服务
Kubernetes 实战教学,手把手教您在 K8s 集群上部署 Istio Mesh(一)
Istio 是一个完全的开源服务网格,它可以对现有的分布式应用程序进行清晰的分层处理。近期,Istio v1.0版本已经正式上线。Istio 完全由 Go 语言编写,它是一个相当成熟的平台......
12154 0
|
Kubernetes Cloud Native 容器
《Kubernetes上基于Istio体验云原生应用实践》电子版地址
Kubernetes上基于Istio体验云原生应用实践
98 0
《Kubernetes上基于Istio体验云原生应用实践》电子版地址
|
Prometheus 监控 Kubernetes
进阶:对接 Istio 实现应用灰度发布实践| 学习笔记
快速学习进阶:对接 Istio 实现应用灰度发布实践。
进阶:对接  Istio 实现应用灰度发布实践| 学习笔记
|
存储 Prometheus Kubernetes
使用 Flux+Flagger+Istio+Kubernetes 实战 GitOps 云原生渐进式(金丝雀)交付
使用 Flux+Flagger+Istio+Kubernetes 实战 GitOps 云原生渐进式(金丝雀)交付
428 0
使用 Flux+Flagger+Istio+Kubernetes 实战 GitOps 云原生渐进式(金丝雀)交付
|
Cloud Native 搜索推荐 开发者
直播预告 | 服务网格规模化应用下的 Istio Sidecar 灵活配置实践
5 月 25 日(周三), 阿里云服务网格技术专家张岚(宗泉)、阿里云服务网格开发工程师刘阳(奇方),将通过直播的方式为大家带来服务网格规模化应用下的 Istio Sidecar 灵活配置实践。从 Istio Sidecar 代理配置现状分析,到阿里云服务网格中多维度灵活配置方案解读,再到业务场景中的 Sidecar 代理配置实践......通过本次分享,希望能帮助大家在不同的业务场景下灵活配置 Sidecar 代理的配置来满足个性化需求、优化系统性能。
直播预告 | 服务网格规模化应用下的 Istio Sidecar 灵活配置实践