11.2. 为 Network Observability 配置虚拟机(VM)二级网络接口
您可以通过识别来自连接到二级网络的虚拟机(如通过 OVN-Kubernetes)的 eBPF 增强网络流来观察 OpenShift Virtualization 设置上的网络流量。Network Observability 会自动捕获来自连接到默认内部 pod 网络的虚拟机的网络流。
流程
运行以下命令,获取有关虚拟机启动程序 Pod 的信息。此信息在第 5 步中使用:
$ oc get pod virt-launcher-<vm_name>-<suffix> -n <namespace> -o yaml
apiVersion: v1 kind: Pod metadata: annotations: k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.129.2.39" ], "mac": "0a:58:0a:81:02:27", "default": true, "dns": {} }, { "name": "my-vms/l2-network", 1 "interface": "podc0f69e19ba2", 2 "ips": [ 3 "10.10.10.15" ], "mac": "02:fb:f8:00:00:12", 4 "dns": {} }] name: virt-launcher-fedora-aqua-fowl-13-zr2x9 namespace: my-vms spec: # ... status: # ...
-
在 Web 控制台中,进入到 Operators
Installed Operators。 - 在 NetObserv Operator 的 Provided APIs 标题下,选择 Flow Collector。
- 选择 cluster,然后选择 YAML 选项卡。
根据您在额外网络调查中找到的信息配置
FlowCollector
:apiVersion: flows.netobserv.io/v1beta2 kind: FlowCollector metadata: name: cluster spec: agent: ebpf: privileged: true 1 processor: advanced: secondaryNetworks: - index: 2 - MAC 3 name: my-vms/l2-network 4 # ...
<.> 确保 eBPF 代理处于
特权
模式,以便收集流进行二级接口。<.> 定义用于索引虚拟机启动程序 Pod 的字段。建议使用MAC
地址作为索引字段,以获取二级接口的网络流。如果您在 pod 之间有重叠的 MAC 地址,那么可将其他索引字段(如IP
和Interface
)添加准确功能。<.> 如果您的额外网络信息具有 MAC 地址,请将MAC
添加到字段列表中。<.> 指定k8s.v1.cni.cncf.io/network-status
注解中找到的网络名称。通常为 <namespace>/<network_attachement_definition_name>。观察虚拟机流量:
- 进入 Network Traffic 页。
-
使用
k8s.v1.cni.cncf.io/network-status
注解中找到的虚拟机 IP 按照 Source IP过滤。 - 查看 Source 和 Destination 字段(应该增强),并将 VM launcher pod 和虚拟机实例识别为所有者。