首页 > 其他分享 >Istio的使用场景参考

Istio的使用场景参考

时间:2022-12-02 19:33:04浏览次数:34  
标签:场景 Kubernetes 参考 Istio 流量 集群 应用 迁移

初步使用Kubernetes或Kubernetes在生产环境中已经稳定运行了一段时间,如果想要接入Istio服务网格,那么对Kubernetes集群版本也有要求,如果读者正在使用的Kubernetes集群不支持对应的Istio版本,就需要对Kubernetes进行升级。下面给出一个升级Kubernetes的方案。

对于Kubernetes的升级,如果版本跨度较大,在线升级是非常困难的,可以使用了如下方法

  • 提前构建几套新的Kubernets集群,新集群使用较新的Kubernetes和Istio版本,Node规模较小。
  • 修改与Kubernetes交互的PaaS平台所有服务的代码,兼容所有集群。
  • 开发迁移工具,将业务应用对应在Kubernetes集群的资源对象迁移到新集群,尤其做好Inbound和Outbound的处理,并设置正确的Pod.metadata.annotations字段。如果不治理Dubbo等协议,要做好应用类型的盘点,关闭流量拦截功能。必要时可以编写工具,去注册中心抓取服务信息,保证服务信息的准确性和实时性。
  • PaaS平台做好应用服务迁移前后的标记,相关的服务程序要兼容新旧集群同时在线。对用户无感知,用户使用体验和迁移前后无区别。
  • 梳理应用迁移的流程并制作文档,尽量将所有流程自动化。
  • 迁移过程不断回收老集群的Node,添加新集群的Node,充分利用资源。
  • 应用迁移做好快速回滚方案,尽量保持应用在新旧集群同时在线,稳定运行后再回收旧集群的实例。

不管是容器化和还是服务网格,支撑它们不断推广的通常是降低成本、提高效率、提升SLA三方面。运维部和基础架构部作为后台技术部门,对业务研发团队提供支撑、赋能、引领。充分了解这些理念,可以让我们对技术的思考更加全面,也更加有利于新技术的落地。

利用Istio提供的三大能力,挖掘Istio的使用场景并解决生产环境的痛点,有利于服务网格的落地。这里有一些Istio的使用场景供参考

  • 将限流、熔断、超时、重试等HTTP流量治理功能平台化,让业务研发人员可以自主申请这些功能,充分保护业务应用的弹性。
  • 利用Istio的资源对象PeerAuthentication对应用做双向TLS加密,提高应用安全性,大大提升项目上线前的安全审核效率。
  • 使用Istio的资源对象AuthorizationPolicy对应用做访问控制,可以完美替代传统IP白名单,不再受固定IP的限制。
  • Istio的流量镜像功能,可以轻松地将生产环境的宝贵流量复制到其他环境,赋能质量部门。
  • 利用Istio的HTTP路由功能修改头信息,可以做到流量的染色和应用环境的隔离,极大提高研发人员开发新特性的效率和测试人员的测试效率。
  • 利用Istio的HTTP路由功能,根据HTTP头信息区分流量,转发到不同的服务版本,可以按地区或用户属性等,对新的算法进行AB测试。
  • 使用Istio的流量调度策略和服务子集功能,可以实现金丝雀发布,保障生产环境快速迭代下的SLA。
  • 利用Istio的Envoy代理日志和应用链路信息,绘制应用拓扑,收集调用链信息,快速定位生产故障。
  • 利用Istio的故障注入功能,配合ChaosBlade构建混沌工程。提前收集应用在故障下的表现并改进。

标签:场景,Kubernetes,参考,Istio,流量,集群,应用,迁移
From: https://blog.51cto.com/key3feng/5907408

相关文章

  • <二>强弱指针使用场景之 多线程访问共享对象问题
    代码1#include<iostream>#include<thread>usingnamespacestd;classA{public: A(){cout<<"A()"<<endl;} ~A(){cout<<"~A()"<<endl;} vo......
  • struts2 中一个值得参考的小地方
     在struts2中,今天看到一个简单的做权限的方法,小结如下,也就是最传统的角色的做法,比如:1定义各个菜单项的编码,  <s:setname="ADBANNER_CREAT"value="101"/><s......
  • 远处场景的烟雾识别matlab仿真
    1.问题描述一种基于数据集的图像分离方法[2]来自太浩湖和南加州地区的图片。这里我们介绍一个用小像素区域确定大图像显著区域的抠图技术与烟雾相对应。这就允许了大量的......
  • PowerScript语法参考手册之语言基础
    PowerScript语法参考手册​前言:本文用于PowerBuilder12.6程序员,PowerBuilder最初由Sybase发布,能很快捷开发C/S程序或者多层应用系统。SAP以58亿美元现金收购Sybase以抗衡甲......
  • Netty在业务中的使用场景有哪些?
    Netty是基于JavaNIOclient-server的网络应用框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty提供了一种新的方式来开发网络应用程序,这种新的方式使它......
  • 在低容错业务场景下落地微服务的实践经验
    作者:禾连健康“健康体检是一个低容错的场景,用户到医院体检,由于IT原因导致无法完成预约的项目,会对用户体验造成极大的影响。”*——禾连健康CTO邓志豪禾连健康成......
  • MySQL 间隙锁导致的死锁场景分析
    实际业务场景在我们使用mysql的时候,如果不注意间隙锁容易引起死锁,最近分析一个业务场景就是间隙锁导致的死锁,业务抽象如下:系统有一个批量新增业务资源的功能,实现逻辑如下......
  • 实现div元素滚动条默认滚动到最底部 - 使用场景 - 聊天信息框
    实现div元素滚动条默认滚动到最底端使用场景:聊天信息框需要了解几个属性和方法:scrollHeight:元素高度-包含滚动条隐藏部分clientHeight:元素可视高度-不包含滚动条隐......
  • CocosCreator多分辨率场景适配方案
    CocosCreator不同手机分辨率的背景图像和场景内容适配特别说明CocosCreator微信小游戏开发系列文章,是我在逐步开发过程中,基于官方文档之上,记录一些重点内容,以及对官方......
  • Spring Cloud Azure 适配器参考
    微软AzureAzure适配器启动Spring云函数上下文,并从Azure引导函数调用框架到用户函数中,必要时使用Spring引导配置。AzureFunctions具有相当独特和侵入性编程模型,涉......