说说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构建混沌工程。提前收集应用在故障下的表现并改进。
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
Kubernetes 安全 API
Istio安全架构(一)
Istio安全架构(一)
|
JSON Rust 安全
Istio Ambient Mesh Ztunnel实现剖析(1)配置解析
前言在Istio Ambient Mesh中,社区引入了名为ztunnel的新组件,ztunnel的名字来源于Zero-Trust Tunnel,即零信任管道,Ztunnel 旨在专注于Ambient Mesh中工作负载4层安全能力,例如 mTLS、身份验证、L4 授权,而无需进行七层流量解析。ztunnel 确保流量高效、安全地传输到负责七层处理的Waypoint Proxy或在对端无waypo
367 0
|
容器 微服务 Kubernetes
带你读《Istio入门与实战》之一:服务网格与Istio
本书系统化介绍Istio技术要点与应用技巧,可帮助读者快速搭建微服务架构并进行管理。主要内容包括:service mesh基本概念与使用,Istio架构设计与主要功能,快速搭建一个微服务实验,介绍如何让服务流量控制更简单,让服务更具弹性,让服务故障测试更容易,让服务通信更安全可控,让服务更易观测与监控,以及istio维护方案。本书内容丰富、案例讲解,实用性强,非常适合入门级读者快速掌握Istio技术。
|
4月前
|
Prometheus Kubernetes 网络协议
Istio 的配置分析
Istio 的配置分析
63 1
|
4月前
|
Kubernetes 负载均衡 网络协议
Istio的流量管理(概念)
Istio的流量管理(概念)
66 2
|
4月前
|
安全 网络协议 API
Istio 安全(概念)
Istio 安全(概念)
73 0
|
7月前
|
缓存 监控 安全
Istio架构及工作原理
【2月更文挑战第17天】从 Istio 的设计和实现原理可以看出,它是采用模块化设计,并且各个模块之间高度解耦,Proxy 专注于负责服务之间的通信,Pilot 专注于流量控制,Mixer 专注于策略控制以及监控日志功能,而 Citadel 专注于安全。
|
Kubernetes 监控 Go
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
276 0
|
Kubernetes Linux 容器
【Istio实际操作篇】Istio入门10分钟快速安装
【Istio实际操作篇】Istio入门10分钟快速安装
250 0
|
API 微服务 Perl
10个 Istio 流量管理 最常用的例子,你知道几个?
10 个 Istio 流量管理 最常用的例子,强烈建议收藏起来,以备不时之需。
450 0
10个 Istio 流量管理 最常用的例子,你知道几个?