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

相关文章
|
3月前
|
Kubernetes 容器
KubeVela中,KubeVela 的自定义工作流具体是通过什么机制来实现的呢
KubeVela中,KubeVela 的自定义工作流具体是通过什么机制来实现的呢【1月更文挑战第25天】【1月更文挑战第122篇】
29 1
|
8月前
|
Cloud Native 测试技术 开发工具
通过 OpenKruise 实现基于 Higress 的全链路灰度
通过 OpenKruise 实现基于 Higress 的全链路灰度
|
运维 Kubernetes Cloud Native
应用纳管和灰度发布:谐云基于 KubeVela 的企业级云原生实践
谐云通过类比事务的方式,将渲染过程分为正向和逆向,同时将首次纳管和真正的纳管动作进行了分离,完成了平台升级的同时,给应用的纳管行为留下了一定的可操作空间。
应用纳管和灰度发布:谐云基于 KubeVela 的企业级云原生实践
|
测试技术 开发者
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
快速学习 KubeVela 对接 Istio 实现应用灰度发布实践
363 0
KubeVela 对接 Istio 实现应用灰度发布实践|学习笔记(二)
|
Prometheus 监控 Kubernetes
进阶:对接 Istio 实现应用灰度发布实践| 学习笔记
快速学习进阶:对接 Istio 实现应用灰度发布实践。
150 0
进阶:对接  Istio 实现应用灰度发布实践| 学习笔记
|
存储 Prometheus Kubernetes
使用 Flux+Flagger+Istio+Kubernetes 实战 GitOps 云原生渐进式(金丝雀)交付
使用 Flux+Flagger+Istio+Kubernetes 实战 GitOps 云原生渐进式(金丝雀)交付
382 0
使用 Flux+Flagger+Istio+Kubernetes 实战 GitOps 云原生渐进式(金丝雀)交付
|
消息中间件 自然语言处理 Kubernetes
知乎团队在 Istio 使用 Opentelemetry 做可观测的最佳实践
云原生架构下,可观测领域的 OpenTelemetry 无疑是新时代的可观测标准。它提供的一些组件与工具极大地帮助了企业构建供应商无关的观测架构。
839 1
知乎团队在 Istio 使用 Opentelemetry 做可观测的最佳实践
|
Cloud Native 搜索推荐 开发者
直播预告 | 服务网格规模化应用下的 Istio Sidecar 灵活配置实践
5 月 25 日(周三), 阿里云服务网格技术专家张岚(宗泉)、阿里云服务网格开发工程师刘阳(奇方),将通过直播的方式为大家带来服务网格规模化应用下的 Istio Sidecar 灵活配置实践。从 Istio Sidecar 代理配置现状分析,到阿里云服务网格中多维度灵活配置方案解读,再到业务场景中的 Sidecar 代理配置实践......通过本次分享,希望能帮助大家在不同的业务场景下灵活配置 Sidecar 代理的配置来满足个性化需求、优化系统性能。
直播预告 | 服务网格规模化应用下的 Istio Sidecar 灵活配置实践
|
Kubernetes 监控 网络协议
Istio:灰度发布与技术实现
Istio:灰度发布与技术实现
631 0
Istio:灰度发布与技术实现
|
存储 Kubernetes Dubbo
基于 Istio 的全链路灰度方案探索和实践
本文介绍的基于“流量打标”和“按标路由” 能力是一个通用方案,基于此可以较好地解决测试环境治理、线上全链路灰度发布等相关问题,基于服务网格技术做到与开发语言无关。同时,该方案适应于不同的7层协议,当前已支持 HTTP/gRpc 和 Dubbo 协议。
基于 Istio 的全链路灰度方案探索和实践