您当前位置:资讯中心 >服务器 >浏览文章

Istio新架构揭秘:环境化Mesh

来源:互联网 日期:2023/11/28 12:17:29 阅读量:(0)

自问世以来,Istio因其使用Sidecar(可编程代理与应用容器一同部署)而备受认可。这种架构选择使Istio用户能够享受其好处,而无需对其应用进行 drast 改变。这些可编程代理,与应用容器紧密部署在一起,因其能够引入Istio的诸多好处而备受赞誉,同时又无需对应用进行重大更改。但总有改进的空间,现在Istio引入了环境化Mesh,这是其架构的重大演进。

Sidecar模型:优势和限制

传统Istio模型:Istio在工作负载的Pod中部署Envoy代理作为Sidecar。

Sidecar的优势:无需重构应用即可享受Istio的功能。

Sidecar的限制:

  • 侵入性: Sidecar需要集成到应用中,影响其Kubernetes Pod规格并重定向Pod流量。这经常导致需要重启应用Pod。
  • 资源利用不足: 由于每个Sidecar代理专门分配给其配对的工作负载,资源分配可能导致集群效率低下。
  • 流量中断: Istio的Sidecar可能对一些应用的流量捕获和HTTP处理造成问题。

环境化Mesh:克服限制

环境化Mesh采用分层方法,分割了Istio的功能:

  • 基础层: 一个安全的覆盖层,负责路由和确保流量的零信任安全。
  • 上层: 当用户需要访问Istio的广泛功能时,可以启用L7处理,而无需改变应用Pod。

这种方法的优势包括:

  • 允许逐步采用Istio:从无Mesh -> 安全覆盖层 -> 完整的L7处理。
  • 在不同环境模式或带有Sidecar的工作负载之间实现兼容性。

环境化Mesh的工作原理

  • 在Kubernetes集群的每个节点上都有一个共享代理(ztunnel),负责Mesh内的安全连接。

  • Ztunnel仅处理L4流量,将Istio的数据平面与应用关注点分离。
  • 当命名空间激活环境化模式时,将建立一个零信任覆盖层(具有mTLS、遥测、认证和L4授权)。
  • 对于L7功能,命名空间可以部署一个或多个基于Envoy的Waypoint代理。这些代理可以根据实时流量需求进行自动缩放。

安装环境化Mesh

(1) 下载Istio的最新版本,其中包含对环境化Mesh的alpha支持。

(2) 安装Kubernetes网关CRDs,在大多数Kubernetes集群上默认未安装

kubectl get crd gateways.gateway.networking.k8s.io &> /dev/null || \
{ kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=v0.8.0" | kubectl apply -f -; }
关键字:
声明:我公司网站部分信息和资讯来自于网络,若涉及版权相关问题请致电(63937922)或在线提交留言告知,我们会第一时间屏蔽删除。
有价值
0% (0)
无价值
0% (10)

分享转发:

发表评论请先登录后发表评论。愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。