服务网格 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 的验证测试,以确保您的服务可以处理任何潜在的流量中断。
重新启动 Pod 的方式取决于 Pod 是否作为 Deployment 的一部分创建。
如果使用了 Deployment,请重新启动 Deployment,这将重新启动所有带有 Sidecar 的 Pod。
kubectl rollout restart deployment -n NAMESPACE
如果没有使用 Deployment,请删除 Pod,然后 Pod 将会自动重新创建。
kubectl delete pod -n NAMESPACE --all
检查 Pod 是否都注入了 Sidecar。每个工作负载都有两个容器:主容器和Sidecar 代理容器。
kubectl get pod -n NAMESPACE --all
服务网格 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 的验证测试,以确保您的服务可以处理任何潜在的流量中断。 重新启动 Pod 的方式取决于 Pod 是否作为 Deployment 的一部分创建。 如果使用了 Deployment,请重新启动 Deployment,这将重新启动所有带有 Sidecar 的 Pod。 kubectl rollout restart deployment -n NAMESPACE 如果没有使用 Deployment,请删除 Pod,然后 Pod 将会自动重新创建。 kubectl delete pod -n NAMESPACE --all 检查 Pod 是否都注入了 Sidecar。每个工作负载都有两个容器:主容器和Sidecar 代理容器。 kubectl get pod -n NAMESPACE --all
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。