使用 IstioRevisionTag 资源启用 sidecar 注入
如果你的 revision 名称不是 default,仍然可以使用 istio-injection=enabled 标签。为此,你必须先创建一个名为 default 的 IstioRevisionTag 资源,并将其指向你的 Istio 资源。
参考
- IstioRevisionTag resource(Sail Operator 文档)
前提条件
- 已安装 Alauda Service Mesh v2 Operator,已创建一个
Istio资源,并且 Istio 已由 Operator 部署。 - 已创建一个
IstioCNI资源,并且所需的IstioCNIpods 已由 Operator 部署。 - 计划纳入 mesh 的 namespaces 已存在,并且可以被 Istio control plane 发现。
- 可选:mesh 的 workloads 已经部署完成。在这些示例中,Bookinfo 原生应用存在于
bookinfonamespace 中,但尚未配置 sidecar 注入(如步骤 2 所述)。有关更多信息,请参阅“部署 Bookinfo 原生应用”。
操作步骤
-
要查找你的
Istio资源名称,请执行以下命令:示例输出
在此示例中,
Istio资源名为default,但其底层 revision 为default-v1-28-6。 -
在 YAML 文件中定义
IstioRevisionTag资源:IstioRevisionTag资源 YAML 示例 -
使用以下命令应用
IstioRevisionTag资源: -
使用以下命令确认
IstioRevisionTag资源已成功创建:示例输出
如示例所示,新标签现在引用了你的活动 revision,即
default-v1-28-6。现在你可以像 revision 名称为default一样使用istio-injection=enabled标签。 -
通过执行以下命令,检查 pods 是否在没有 sidecars 的情况下运行。目标 namespace 中所有现有 workloads 的
READY容器列都应显示为1/1。示例输出
-
使用以下命令将注入标签添加到
bookinfonamespace:示例输出
-
要启用 sidecar 注入,请运行以下命令,触发
bookinfonamespace 中 workloads 的重新部署:
验证
-
运行以下命令检查 rollout 是否成功,并确认新创建的 pods 在
READY列中显示2/2容器:示例输出