11.13. 将虚拟机连接到服务网格
OpenShift Virtualization 现在与 OpenShift Service Mesh 集成。您可以使用 IPv4 监控、视觉化和控制在默认 pod 网络上运行虚拟机工作负载的 pod 之间的流量。
11.13.1. 将虚拟机添加到服务网格中 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
要将虚拟机 (VM) 工作负载添加到服务网格中,请在虚拟机配置文件中启用自动 sidecar 注入,方法是将 sidecar.istio.io/inject
注解设置为 true
。然后,将虚拟机公开为服务,以便在网格中查看应用程序。
重要
为了避免端口冲突,请不要使用 Istio sidecar 代理使用的端口。它们包括 15000、15001、15006、15008、15020、15021 和 15090。
先决条件
-
已安装 OpenShift CLI(
oc
)。 - 已安装 Service Mesh Operator。
- 已创建 Service Mesh control plane。
- 将 VM 项目添加到 Service Mesh member roll。
流程
编辑虚拟机配置文件以添加
sidecar.istio.io/inject: "true"
注解:配置文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 VM 配置:
oc apply -f <vm_name>.yaml
$ oc apply -f <vm_name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 虚拟机 YAML 文件的名称。
创建一个
Service
对象,将虚拟机公开给服务网格。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 服务选择器,决定服务的目标 pod 集合。此属性对应于虚拟机配置文件中的
spec.metadata.labels
字段。在上例中,名为vm-istio
的Service
对象在任何带有标签app=vm-istio
的 pod 上都以 TCP 端口 8080 为目标。
创建服务:
oc create -f <service_name>.yaml
$ oc create -f <service_name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 服务 YAML 文件的名称。