如果我oc rsh <pod>
,除非shell正在主动打印输出,否则shell将在几秒钟内超时。
如何增加或消除oc rsh
的超时时间?
答案 0 :(得分:0)
这听起来似乎与oc rsh
的问题较少,而与您如何运行Pod的问题更多。如果您的Pod退出,Kubernetes将杀死它并启动一个新Pod(这就是它的作用)。因此,听起来您正在运行一个短暂的脚本,并且想oc rsh
出于调试目的而使用它。
在这种情况下,您应该尝试oc debug <pod>
,这实际上将为您提供所需的Shell访问权限,而无需将Pod保持长时间运行。
另一种选择可能是像oc run
之类的东西,它基本上只会使用您想要的图像,但是您可以覆盖commands
。像
oc run -i -t busybox --image=busybox --restart=Never -- /bin/sh
(--restart=Never
基本上确保这只是一个吊舱,退出时它会死亡。如果忽略它,它将使用DeploymentConfig
,而退出时它只会重新启动自己)
答案 1 :(得分:0)
在OCP4中,诸如oc rsh之类的TCP流连接将在60秒后关闭。您可以在/etc/haproxy/haproxy.cfg中增加timeout client
和timeout server
并重新启动haproxy服务。
在OCP3.x <3.10中,尝试将streaming-connection-idle-timeout
参数的kubeletArgument传递给/etc/origin/node/node-config.yaml,如下所示:
kubeletArguments:
streaming-connection-idle-timeout:
- "10m"
在OCP 3.x> = 3.10中,您需要在节点configmap中添加该kubeletArgument,例如:oc -n openshift-node edit cm node-config-compute