Openshift oc rsh增加超时

时间:2019-04-20 21:19:52

标签: openshift openshift-client-tools

如果我oc rsh <pod>,除非shell正在主动打印输出,否则shell将在几秒钟内超时。

如何增加或消除oc rsh的超时时间?

2 个答案:

答案 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 clienttimeout 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