CNO 对象的名称。此名称始终为cluster
。
作为集群管理员,您可以收集有关集群中 Pod 网络流量的信息,以帮助以下领域:
监控 Pod 网络上的入口和出口流量。
排查性能问题。
收集用于容量规划和安全审计的数据。
启用网络流量收集时,只会收集有关流量的元数据。例如,不会收集数据包数据,但会收集协议、源地址、目标地址、端口号、字节数和其他数据包级信息。
数据以以下一种或多种记录格式收集:
NetFlow
sFlow
IPFIX
当您使用一个或多个收集器 IP 地址和端口号配置集群网络运算符 (CNO) 时,运算符会在每个节点上配置 Open vSwitch (OVS) 以将网络流量记录发送到每个收集器。
您可以配置运算符以将记录发送到多种类型的网络流量收集器。例如,您可以将记录发送到 NetFlow 收集器,也可以将记录发送到 sFlow 收集器。
当 OVS 将数据发送到收集器时,每种类型的收集器都会收到相同的记录。例如,如果您配置了两个 NetFlow 收集器,则节点上的 OVS 会将相同的记录发送到这两个收集器。如果您还配置了两个 sFlow 收集器,则这两个 sFlow 收集器会收到相同的记录。但是,每种收集器类型都有唯一的记录格式。
收集网络流量数据并将记录发送到收集器会影响性能。节点以较慢的速度处理数据包。如果性能影响太大,您可以删除收集器的目标以禁用收集网络流量数据并恢复性能。
启用网络流量收集器可能会影响集群网络的整体性能。 |
下表显示了在集群网络运算符 (CNO) 中配置网络流量收集器的字段:
字段 | 类型 | 描述 |
---|---|---|
|
|
CNO 对象的名称。此名称始终为 |
|
|
|
|
|
最多 10 个收集器的 IP 地址和网络端口对列表。 |
|
|
最多 10 个收集器的 IP 地址和网络端口对列表。 |
|
|
最多 10 个收集器的 IP 地址和网络端口对列表。 |
将以下清单应用于 CNO 后,操作员会在集群中的每个节点上配置 Open vSwitch (OVS),以便将网络流量记录发送到侦听地址为 192.168.1.99:2056
的 NetFlow 收集器。
apiVersion: operator.openshift.io/v1
kind: Network
metadata:
name: cluster
spec:
exportNetworkFlows:
netFlow:
collectors:
- 192.168.1.99:2056
作为集群管理员,您可以配置集群网络操作员 (CNO) 以将有关 Pod 网络的网络流量元数据发送到网络流量收集器。
您已安装 OpenShift CLI (oc
)。
您已使用具有 cluster-admin
权限的用户登录到集群。
您拥有一个网络流量收集器,并知道其侦听的 IP 地址和端口。
创建一个补丁文件,用于指定网络流量收集器类型以及收集器的 IP 地址和端口信息。
spec:
exportNetworkFlows:
netFlow:
collectors:
- 192.168.1.99:2056
使用网络流量收集器配置 CNO。
$ oc patch network.operator cluster --type merge -p "$(cat <file_name>.yaml)"
network.operator.openshift.io/cluster patched
通常不需要验证。您可以运行以下命令以确认每个节点上的 Open vSwitch (OVS) 是否已配置为将网络流量记录发送到一个或多个收集器。
查看操作员配置以确认 exportNetworkFlows
字段是否已配置。
$ oc get network.operator cluster -o jsonpath="{.spec.exportNetworkFlows}"
{"netFlow":{"collectors":["192.168.1.99:2056"]}}
查看每个节点上 OVS 中的网络流量配置。
$ for pod in $(oc get pods -n openshift-ovn-kubernetes -l app=ovnkube-node -o jsonpath='{[email protected][*]}{.metadata.name}{"\n"}{end}');
do ;
echo;
echo $pod;
oc -n openshift-ovn-kubernetes exec -c ovnkube-controller $pod \
-- bash -c 'for type in ipfix sflow netflow ; do ovs-vsctl find $type ; done';
done
ovnkube-node-xrn4p
_uuid : a4d2aaca-5023-4f3d-9400-7275f92611f9
active_timeout : 60
add_id_to_interface : false
engine_id : []
engine_type : []
external_ids : {}
targets : ["192.168.1.99:2056"]
ovnkube-node-z4vq9
_uuid : 61d02fdb-9228-4993-8ff5-b27f01a29bd6
active_timeout : 60
add_id_to_interface : false
engine_id : []
engine_type : []
external_ids : {}
targets : ["192.168.1.99:2056"]-
...
作为集群管理员,您可以配置集群网络操作员 (CNO) 以停止将网络流量元数据发送到网络流量收集器。
您已安装 OpenShift CLI (oc
)。
您已使用具有 cluster-admin
权限的用户登录到集群。
删除所有网络流量收集器。
$ oc patch network.operator cluster --type='json' \
-p='[{"op":"remove", "path":"/spec/exportNetworkFlows"}]'
network.operator.openshift.io/cluster patched