Red Hat OpenShift 容器平台( OCP )从一开始就具有监控功能,从 4.10 版本,开始提供网络可视化功能(开发预览版),以实现更高级的网络监控能力,本文主要是介绍如何通过各种不同形式的图形来展示网络流的现状,以满足不同场景的运维需要。
关于如何部署可参考上一篇文章 在 OpenShift 中实现网络观测和洞察
网络可观察性在 OpenShift web 控制台管理中提供用户界面,以过滤和可视化集群网络流 :
拓扑视图是一种很好的方法,可以了解集群的不同组件如何在内部交互,并确定哪些组件与外部世界通信。它还可以帮助您定义网络策略或突出显示潜在威胁。
为了避免庞大且不可读的网络图,我们在“网络可观察性”中引入了多种选项,以聚焦您正在查找的内容:
· 时间范围默认显示最后 5 分钟,同时允许您关注特定时间窗口
· 可以根据源和 / 或目的地的各种条件,进行筛选,例如 IPs , Ports , Protocol , Kind , Name 等
· 细节颗粒度(显示范围选项)允许从 Node / Namespace / Owner / Resource 中进行选择,并将指标聚合到指定层。
· 分组能力,可以根据所有权排列组件
我们部署一个 httpd 的应用示例,然后看一下视图。应用示例可参考下面链接: https://github.com/sclorg/httpd-ex
从上图可以看到,最终部署的蓝色 pod 与另一个名为 httpd-sample-1-build 的 pod 紧密相关, httpd-sample-1-build pod 从 openshift 内部镜像仓库( 1 )中拉取镜像,( 2 )对提供的镜像 URL 进行 DNS 解析,还从解析的外部 IP 中拉取镜像( 3 ),然后调用 kubernetes 服务创建 pod ( 4 )。
最后,在( 5 )打开应用主页面后,我们的应用 pod 和 openshift ingress 之间显示了一些网络流。
移动时间窗口或稍等片刻后, httpd-sample-1-build pod 将消失,因为此时它的状态现在为 Completed
有时我们需要看到不止一个应用程序来解决网络问题或突出集群级别的带宽使用情况。
2D 网络拓扑可能会在显示方式上有其限制,因为您需要在多个选项之间切换,并且很难在单个渲染中获得你想清晰看到的总览。
比如从上图中,我们发发现 2D 会有如下缺陷 :
这就是为什么 3D 拓扑要用在这里。关于 3D 拓扑可详见: https://github.com/jpinsonneau/react-three-topology
3D 呈现方式是一种非常 “ 古老 ” 的技术,你可以在线找到很多这样的技术,例如 networkmaps , vagrant-mesh-net 甚至更通用的 splunk-3D-graph-network-topology-viz . 每一个都有自己的渲染原理来解决特定的使用场景
下面是一种使用大家都知道的表示来渲染网络的方法:“建筑物” .
我们需要明确,不同的用例要采用不同的恰当的呈现方式。工程师、 UI/UX 和客户内部团队之间的日常工作需要这些。社区项目可能会在未来实现更多的视图,以突出表现网络问题、健康问题、威胁问题和使用情况。例如,接下来将实现对连接跟踪的可视化,具体详情在这里可以看到 sankey chart .
欢迎评论,欢迎在社区中开 Issue ,或者是贡献好点子。
控制台插件: netobserv console plugin
网络观测组件: netobserv component
## 更多的展示效果一览
译自: https://cloud.redhat.com/blog/how-to-display-your-kubernetes-/-openshift-network-flows
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论