服务网格ASM支持通过Sidecar代理来增强服务调用之间的网络安全性、可靠性以及可观测性。本文介绍如何安装Sidecar代理。
背景信息
Sidecar所支持的功能可以从应用程序的容器中抽象出来,并在作为同一Pod中的独立容器提供的代理中实现。为了充分利用这些功能,应用程序中的每个服务都需要在其Pod中运行一个Envoy Sidecar代理。Envoy代理拦截到该服务的所有入站和出站HTTP通信,并与服务网格ASM提供的控制平面Pilot组件通信。
步骤一:启用Sidecar注入
默认情况下,对所有命名空间禁用Sidecar自动注入。可以通过更新Pod的Kubernetes配置手动注入Envoy代理,也可以使用基于Webhook的机制自动注入。执行以下命令,启用自动注入:
kubectl label namespace {namespace} istio-injection=enabled --overwrite
说明 其中,namespace表示应用程序服务对应的命名空间,如果没有指定则会使用default命名空间。
步骤二:重新启动Pod
由于在创建Pod时会注入Sidecar,因此必须重新启动正在运行的Pod才能使更改生效。
注意 请在测试环境中反复进行重新启动Pod的验证测试,以确保您的服务可以处理任何潜在的流量中断。