Home avatar

蜷缩的蜗牛

专注云原生运维

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 条安全规则:

Istio部署实战

Helm 安装

安装基础资源

1
2
3
helm template istio-base manifests/charts/base \
     -n istio-system \
     --set base.enableCRDTemplates=true
0%