注入配置
更新时间:2024-10-09
概述
服务网格通过容器中的 Sidecar 劫持服务间的流量并执行微服务的治理策略,实现对底层网络功能的抽象化管理,例如负载均衡、服务发现、流量控制等。本文介绍如何通过服务网格 CSM 控制台,对 CCE 集群中的工作负载进行 Sidecar 的自动注入配置。
前提条件
已添加 CCE 集群到 CSM 实例中,如何添加集群可参见 集群管理。
Sidecar 资源配置
- 登录 百度智能云控制台,选择产品服务 > 云原生> 服务网格 CSM。
- 在服务网格控制台,左侧导航栏选择网格列表,在网格列表页面点击期望操作的网格名称/ID,在左侧导航栏选择注入配置。
- 注入配置页面包含两个模块:Sidecar 资源配置和自动注入配置。Sidecar 资源配置展示了当前的 Sidecar CPU、内存资源配置信息。通常不需要变更这一配置,可基于监控指标和测试进行调整,Istio 官方社区性能测试结果 供您参考。
Sidecar 自动注入配置
用户可以通过 Sidecar 的自动注入功能,在业务部署包完全不变更的情况下,实现部署时注入 Sidecar 代理。服务网格 CSM 控制台提供了命名空间级别的注入配置入口,用户也可以在 Pod 级别进行标记,实现工作负载级别的自动注入。
为命名空间开启自动注入
- 在注入配置页面中的自动注入配置模块,可以查看服务网格 CSM 实例管理的所有集群中的命名空间。可以在右上角搜索框输入命名空间/集群名称查找指定集群下的目标命名空间。
- 可以在自动注入列开启自动注入开关,或者勾选想要开启自动注入的命名空间,点击上方开启按钮,即可为指定命名空间开启命名空间级别的 Sidecar 自动注入。
- 开启 Sidecar 自动注入后,会为命名空间配置标签
istio-injection:enabled
,关闭自动注入则会移除 istio-injection 标签,具体的效果如下:
操作 | 效果 |
---|---|
开启自动注入后的命名空间 | 除 Annotation 为 sidecar.istio.io/inject="false" 的 Pod,命名空间内的其余 Pod 均会被自动注入 Sidecar。 |
未开启自动注入的命名空间 | 仅 Annotation 为 sidecar.istio.io/inject="true” 的 Pod 会被自动注入 Sidecar。 |
说明:改变自动注入策略时,已在运行中的工作负载,不会立即注入或移出 Sidecar 代理,在重启后将执行变更后的自动注入策略,服务网格 CSM 不会触发工作负载的重启。
-
在开启自动注入后的命名空间中创建应用,验证应用的 Pod 是否注入 Sidecar 代理。
- 登录 CCE 容器引擎,在集群列表页面单击目标集群名称进入集群详情页,左侧导航栏选择工作负载 > 容器组。
- 在容器组列表页中选择开启了自动注入的命名空间,点击 Pod 名称进入容器组详情页。
- 在容器详情页的容器列表中可以观察到除自身 Pod 外,新增了一个名为 istio-proxy 的容器,表明自动注入 Sidecar 代理成功。
以 Pod 为单位,单独为 Pod 设置自动注入配置
若您不希望以命名空间为维度批量设置自动注入配置,也可以单独为 Pod 设置自动注入配置。通过为 Pod 设置注解 sidecar.istio.io/inject="true"
即可以 Pod 为单位开启自动注入。