Home avatar

蜷缩的蜗牛

专注云原生运维

Istio组件详解

在前两篇博客中:

我向你详细介绍了 Istio 数据平面中的流量,但数据平面并不能孤立的存在,本文将向你展示 Istio 中的控制平面和数据平面各组件的端口及其功能,有助于你了解这些流量之间的关系及故障排查。

Sidecar 中的流量类型及 Iptables 规则详解

我在之前的一篇博客中讲解过 Istio 中 sidecar 的注入、使用 iptables 进行透明流量拦截及流量路由的详细过程,并以 Bookinfo 示例中的 productpage 服务访问 reviews 服务,和 reviews 服务访问 ratings 服务为例绘制了透明流量劫持示意图。在那个示意图中仅展示了 reviews pod 接收流量和对外访问的路由,实际上 sidecar 内的流量远不止于此。

Istio 中的 Sidecar 注入、透明流量劫持及流量路由过程详解

本文最早是基于 Istio 1.11 撰写,之后随着 Istio 的版本陆续更新,最新更新时间为 2022 年 5 月 12 日,关于本文历史版本的更新说明请见文章最后。本文记录了详细的实践过程,力图能够让读者复现,因此事无巨细,想要理解某个部分过程的读者可以使用目录跳转到对应的小节阅读。

S2I自定义构建器和模板

准备工作

S2I自定义镜像构建器

● assemble(必需):从源代码构建应用程序制品的脚本 assemble。 ● run(必需):用于运行应用程序的脚本。 ● save-artifacts(可选):管理增量构建过程中的所有依赖。 ● usage(可选):提供说明的脚本。 ● test (可选):用于测试的脚本。

深入Istio系列-Sidecar自动注入

  • Sidecar 自动注入机制是将 sidecar 代理自动添加到用户创建的 pod。

  • 它使用 MutatingWebhook 机制在 pod 创建的时候将 sidecar 的容器和卷添加到每个 pod 的模版里。

  • 用户可以通过 webhooks namespaceSelector 机制来限定需要启动自动注入的范围,也可以通过注解的方式针对每个 pod 来单独启用和禁用自动注入功能。

Sidecar 是否会被自动注入取决于下面 3 条配置和 2 条安全规则:

0%