Kubernetes 如何跟踪远程二进制文件?

Kubernetes 如何跟踪远程二进制文件?,kubernetes,binary-data,tail,Kubernetes,Binary Data,Tail,我正在寻找一种将Kubernetes吊舱上的二进制文件流(“尾”)到本地机器的方法 我试过这个: kubectl exec-it-app-service-58697cf7c9-nnzgh-c tcpdumper-tail-f-c+0/output.pcap (tcpdumper只是tcpdump周围的一个薄薄的包装器,它在pod中作为助手容器运行) 这几乎奏效了。运行此命令时,我能够在本地计算机上查看二进制数据流 我在这里尝试做的最终目标是,我想获取这个pcap数据的二进制流,并通过管道将其传输

我正在寻找一种将Kubernetes吊舱上的二进制文件流(“尾”)到本地机器的方法

我试过这个:

kubectl exec-it-app-service-58697cf7c9-nnzgh-c tcpdumper-tail-f-c+0/output.pcap

tcpdumper
只是
tcpdump
周围的一个薄薄的包装器,它在pod中作为助手容器运行)

这几乎奏效了。运行此命令时,我能够在本地计算机上查看二进制数据流

我在这里尝试做的最终目标是,我想获取这个pcap数据的二进制流,并通过管道将其传输到我的机器上运行的Wireshark。这是不起作用的,因为数据并不是写在pod上的

但相关的不是这是Kubernetes,或者这是数据包捕获。问题似乎在于我如何使用
tail
流式传输这些数据;当我以这种方式执行此操作时,
tail
显示为添加换行符。我认为这是因为
tail
不打算处理二进制数据

如果我直接在pod上运行
tcpdump
,将其写入那里的.pcap文件,然后使用
kubectl cp
传输该文件,然后将该文件加载到Wireshark,它可以工作,我可以查看网络流量。我可以看到,使用十六进制编辑器,该方法与上面的
tail
方法之间的区别在于,每隔一段时间就会出现一些无关字符(“0xD”,即换行符)


有什么想法吗?

我不确定是什么原因导致tail随机插入换行符,我也无法复制您的问题,但我有几个想法:

1:base64在写入文件时在服务器上对其进行编码,在本地计算机上读取文件时对其进行解码

2:不要写入文件,而是尝试写入fifo(mkfifo),您可以简单地对其进行cat,而不是跟踪


如果不了解您的情况,我无法明智地谈论这些是否适用于您的情况,但我认为它们值得一提。

请检查我在您的其他问题中的答案,并让我知道它对您有何帮助。我真的认为你的解决方案是[ksniff]()。