2.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
您应该看到类似以下示例的输出:
输出示例
NAME READY STATUS IN USE VERSION AGE my-mesh-v1-23-0 True Healthy False v1.23.0 114s
2.2.1. 使用默认修订版本启用 sidecar 注入
当服务网格的 IstioRevision
名称是 默认
时,可以在命名空间或 pod 上使用以下标签来启用 sidecar 注入:
资源 | 标签 | 启用的值 | 禁用的值 |
---|---|---|---|
Namespace |
|
|
|
Pod |
|
|
|
您还可以通过在命名空间或 pod 中设置 istio.io/rev: default
标签来启用注入。
2.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
标签具有优先权,并将命名空间视为默认修订版本的一部分。