3.2. 识别修订名称
启用 sidecar 注入所需的标签由特定的 control plane 实例决定,称为修订版本。每个修订版本都由 IstioRevision 资源管理,它由 Istio 资源自动创建和管理,因此通常不需要手动创建或修改 IstioRevision 资源。
IstioRevision 的命名取决于 Istio 资源中的 spec.updateStrategy.type 设置。如果设置为 InPlace,则修订版本将共享 Istio 资源名称。如果设置为 RevisionBased,则修订名称采用 < Istio 资源名称>-v<version> 的格式。通常,每个 Istio 资源都对应一个 IstioRevision。但是,在基于修订的升级过程中,可能存在多个 IstioRevision 资源,每个资源代表不同的 control plane 实例。
要查看可用的修订名称,请使用以下命令:
oc get istiorevisions
$ oc get istiorevisions
您应该看到类似以下示例的输出:
输出示例
NAME READY STATUS IN USE VERSION AGE my-mesh-v1-23-0 True Healthy False v1.23.0 114s
NAME READY STATUS IN USE VERSION AGE
my-mesh-v1-23-0 True Healthy False v1.23.0 114s
3.2.1. 使用默认修订版本启用 sidecar 注入 复制链接链接已复制到粘贴板!
当服务网格的 IstioRevision 名称是 默认 时,可以在命名空间或 pod 上使用以下标签来启用 sidecar 注入:
| 资源 | 标签 | 启用的值 | 禁用的值 |
|---|---|---|---|
| Namespace |
|
|
|
| Pod |
|
|
|
您还可以通过在命名空间或 pod 中设置 istio.io/rev: default 标签来启用注入。
3.2.2. 使用其他修订版本启用 sidecar 注入 复制链接链接已复制到粘贴板!
当 IstioRevision 名称不是 默认值时,请将特定的 IstioRevision 名称与 istio.io/rev 标签一起使用,将 pod 映射到所需的 control plane 并启用 sidecar 注入。要启用注入,请在命名空间或 pod 中设置 istio.io/rev: default 标签,因为不需要将其添加到其中。
例如,在上面显示的修订版本中,以下标签将启用 sidecar 注入:
| 资源 | 启用的标签 | 禁用的标签 |
|---|---|---|
| Namespace |
|
|
| Pod |
|
|
当同时应用 istio-injection 和 istio.io/rev 标签时,istio-injection 标签具有优先权,并将命名空间视为默认修订版本的一部分。