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

相关文章
|
前端开发
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
基于若依ruoyi-nbcio支持flowable流程增加自定义业务表单(二)
943 1
|
Kubernetes Cloud Native 安全
ArgoCD + KubeVela:以开发者为中心的 GitOps
在这篇博文中,我们将分享基于阿里云的用例,使用 Argo CD 和 KubeVela 构建以开发者为中心的持续应用交付流水线的经验。
ArgoCD + KubeVela:以开发者为中心的 GitOps
|
Kubernetes API 计算机视觉
利用 member update 实现 etcd 灾难恢复 [也可实现 etcd 集群迁移]
利用 member update 实现 etcd 灾难恢复 [也可实现 etcd 集群迁移]
1673 0
|
人工智能 开发者
【阅读十分钟,百分百成功】——通过大模型实现对客服回答的质量评估
本文章基于业务实践,总结有关客服质检场景的解决方案和处理经验,为相似场景提供可行的借鉴方法。
1536 121
|
Kubernetes 测试技术 微服务
Kruise Rollout 全链路灰度实践
OpenKruise 是一个基于 Kubernetes 的扩展套件,主要聚焦于云原生应用的自动化,比如部署、发布、运维以及可用性防护。本文介绍通过 OpenKruise 构建自动化运维的方式实现基于 Istio 的全链路灰度功能。
48441 252
|
关系型数据库 MySQL 数据库
轻松入门:使用Docker安装MySQL数据库的完全指南
轻松入门:使用Docker安装MySQL数据库的完全指南
|
存储 JSON 监控
你好,iLogtail 2.0
你好,iLogtail 2.0!
1892 95
|
存储 Linux Shell
【Shell 命令集合 系统设置 】Linux 设置和显示硬件时钟 hwclock命令 使用指南
【Shell 命令集合 系统设置 】Linux 设置和显示硬件时钟 hwclock命令 使用指南
386 0
|
测试技术
压测利器Webbench(附源码)
压测利器Webbench(附源码)
|
存储 Kubernetes 监控
开源云原生平台对比 KubeSphere vs Rainbond
最近因为工作需要,需要找一个功能完善的云原生应用平台,经过自己筛选和朋友推荐,剩下 KubeSphere和Rainbond ,这两个产品都是基于 Kubernetes 之上构建的云原生应用平台,功能都非常强大,但产品定位和功能侧重不同,本文将介绍我在选型过程中从各维度对比两款产品的过程记录。