Below you will find pages that utilize the taxonomy term “Sidecar”
September 5, 2023
istio 中 sidecar 注入实现原理
"\u003cp\u003e在 istio 中为了对流量进行有效的管理,一般通过\u003ccode\u003e注入\u003c/code\u003e的方式将代理 \u003ccode\u003eistio-proxy\u003c/code\u003e 与应用程序一起位于同一个Pod,然后通过 \u003ccode\u003eistio-init \u003c/code\u003e initContainer修改 iptables 实现 \u003ccode\u003eingress\u003c/code\u003e 或 \u003ccode\u003eegress\u003c/code\u003e,那么在 istio 中这个注入是如何实现的呢,本节对其实现原理进行一些分析。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://istio.io/latest/docs/concepts/security/arch-sec.svg\" alt=\"https://istio.io/latest/docs/concepts/security/arch-sec.svg\"\u003e\u003c/p\u003e\n\u003ch1 id=\"实现原理\"\u003e实现原理\u003c/h1\u003e\n\u003cp\u003e在上一节\u003ca href=\"https://blog.haohtml.com/archives/34883/\"\u003e《apiserver 中的webhook开发教程》\u003c/a\u003e 我们介绍过\u003ccode\u003eadmission controller\u003c/code\u003e 基本实现原理,由此得知当创建一个资源对象的时候,可以通过定义 \u003ccode\u003eValidatingWebhookConfiguration\u003c/code\u003e 或 \u003ccode\u003eMutatingWebhookConfiguration\u003c/code\u003e 实现在创建的进程中对这些 webhook 进行调用。而 \u003ccode\u003eMutatingWebhookConfiguration\u003c/code\u003e 则可以对请求的资源进行修改。在istio中的 \u003ccode\u003einjection\u003c/code\u003e 正是基于此原理实现的。\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"https://blogstatic.haohtml.com/uploads/2023/08/6ca5dd6b207691069de1cf4df59cc6ad.png\" alt=\"\"\u003e\u003c/p\u003e\n\u003ch1 id=\"webhook配置\"\u003ewebhook配置\u003c/h1\u003e\n\u003cp\u003e当我们在k8s集群中安装 istio 后,会创建一些资源,如 \u003ccode\u003edeployment\u003c/code\u003e、\u003ccode\u003eservice\u003c/code\u003e、\u003ccode\u003ecrd\u003c/code\u003e 等\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;\"\u003e\u003ccode class=\"language-shell\" data-lang=\"shell\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e$ istioctl …\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e"