说说Istio 的使用场景

简介: 【2月更文挑战第28天】

初步使用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构建混沌工程。提前收集应用在故障下的表现并改进。
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
中间件 Go 数据库
Go开发者必读:Gin框架的实战技巧与最佳实践
在当今快速发展的互联网时代,Web开发的需求日益增长。Go语言以其简洁、高效、并发性强的特点,成为了开发者们的首选。而在Go语言的众多Web框架中,Gin无疑是其中的佼佼者。本文将深入探讨Gin框架的特性、优势以及如何利用Gin构建高性能的Web应用。
|
消息中间件 Prometheus 监控
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
本文将对 RocketMQ-Exporter 的设计实现做一个简单的介绍,读者可通过本文了解到 RocketMQ-Exporter 的实现过程,以及通过 RocketMQ-Exporter 来搭建自己的 RocketMQ 监控系统。RocketMQ 在线可交互教程现已登录知行动手实验室,PC 端登录 start.aliyun.com 即可直达。
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
|
Kubernetes 算法 调度
Kubernetes的灵魂核心:kube-scheduler
本文介绍了Kubernetes中关键组件kube-scheduler的工作原理,详细解释了其通过预选和优选过程为Pod选择合适节点的机制,并提供了一个简化的Python示例来模拟这一过程,帮助读者更好地理解和管理Kubernetes集群。
|
9月前
|
存储 Kubernetes 网络协议
还不会 Cert Manager 自动签发证书?一文掌握
本文将介绍如何使用 Cert Manager 实现自动签发证书并与 Rainbond 结合使用。
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
255412 0
|
12月前
|
消息中间件 监控 供应链
深度剖析 RocketMQ 事务消息!
本文深入探讨了 RocketMQ 的事务消息原理及其应用场景。通过详细的源码分析,阐述了事务消息的基本流程,包括准备阶段、提交阶段及补偿机制。文章还提供了示例代码,帮助读者更好地理解整个过程。此外,还讨论了事务消息的优缺点、适用场景及注意事项,如确保本地事务的幂等性、合理设置超时时间等。尽管事务消息增加了系统复杂性,但在需要保证消息一致性的场景中,它仍是一种高效的解决方案。
836 2
|
数据采集 人工智能 数据管理
12款开源数据资产(元数据)管理平台选型分析(二)
12款开源数据资产(元数据)管理平台选型分析(二)
2787 0
|
9月前
|
机器学习/深度学习 存储 人工智能
【科普向】模型蒸馏和模型量化到底是什么???
在数字化快速发展的时代,人工智能(AI)技术已广泛应用,但大型深度学习模型对计算资源的需求日益增长,增加了部署成本并限制了其在资源有限环境下的应用。为此,研究人员提出了模型蒸馏和模型量化两种关键技术。 模型蒸馏通过将大型教师模型的知识传递给小型学生模型,利用软标签指导训练,使学生模型在保持较高准确性的同时显著减少计算需求,特别适用于移动设备和嵌入式系统。 模型量化则是通过降低模型权重的精度(如从32位浮点数到8位整数),大幅减少模型大小和计算量,提高运行速度,并能更好地适应低配置设备。量化分为后训练量化和量化感知训练等多种方法,各有优劣。
|
存储 Kubernetes 应用服务中间件
大白话说明白K8S的PV / PVC / StorageClass(理论+实践)
本文主要通过大白话说明白PV、PVC的概念和原理,再说说StorageClass的作用,最后通过实践加深理解。
大白话说明白K8S的PV / PVC / StorageClass(理论+实践)
|
存储 Kubernetes 安全
第四章 Helm仓库介绍配置国内仓库地址
第四章 Helm仓库介绍配置国内仓库地址
5481 2