无法录制视频

时间:2019-12-30 06:26:17

标签: google-cloud-platform video-streaming

我们有可以连续流式传输视频的摄像机。对于每个用户会话,我们都会录制视频。 我有一个视频流服务(使用node-media-server),摄像机一直在其上流视频。还有另一种录音服务。每当用户执行身份验证操作(登录)时,我都会从记录服务中生成一个进程,并创建一个写流。当用户注销时,我杀死了正在发生录像的生成过程,然后将视频上传到了Google存储桶。

我的问题是0字节的视频。似乎平均发生了50次,三次。

重新启动Pod时问题开始。我只有一个豆荚。 (这足以满足我的cpu和内存要求。我目前只有20个摄像头供其流式传输)。此外,还有一个约束条件,如果我要在VM1上有两个Pod,在VM2上有另一个Pod,那么我将需要知道将分配该进程的VM(或Pod),以终止进程。我认为在不久的将来,我将不得不增加豆荚的数量,并且我很快将面临这个问题。

每一次Pod重新启动(由于我仍然不知道的原因。我已经检查了容器审核日志,以了解为什么我的Pod重新启动的原因,但是对我没有多大帮助,我所请求的资源也足够我使用负载),并且如果有任何正在积极进行记录的进程,它们将丢失。我的录音失败了。我相信这就是为什么我看到那些0字节的视频的原因。

我如何确保如果Pod完全重启,则不应立即终止活动进程。或者,也许,如果有一种方法可以延迟Pod的重启,直到当前录制结束(我非常怀疑这样做是否可行)。

1 个答案:

答案 0 :(得分:0)

如果您有多个Pod,并且想知道Pod属于可以通过以下命令实现的节点:

$ kubectl获得豆荚-o宽

为了解决此问题,您需要确定Pod失败的原因。因此,您可以通过发出以下提到的命令来描述广告连播:

$ kubectl描述pod your-pod-name

它将显示kubelet发送到apiserver的有关pod生命周期的事件。您将从此处获得pod失败的原因,以便您可以采取相应的措施。此外,您可以使用以下命令在默认名称空间中获取Pod的事件。

$ kubectl获取事件-n默认值

有关更多信息,请关注文章click here