v1.5.1
ここで機能を使用して実行する際に問題が発生しましたkubectl run/exec -i --tty
。
データの送信中に接続が中断されることはありません。そのため、ときどき何かを出力するスクリプトを使用してインタラクティブなコンテナー セッションを起動すると、機能しているように見えます。
それに基づいて、自分の操作なしでコンテナー セッションを継続するための厄介な回避策を作成しました。これらのセッションが途中で終了するのは本当に厄介です。実行中の運用コンテナにアタッチする場合に備えて、クリーンアップする必要があるガベージを残します。
回避策 (バックグラウンド プロセスとして 59 秒ごとにスペース文字を STDERR に出力します):
# within your container session
$ while :; do sleep 59; echo -n ' ' >&2; done &
このようなスクリプトを起動しない場合の次の出力を参照してください。 これは、インタラクティブ セッションが 2 分以内に途中で終了することを示しています。
この機能を利用して実行中のアプリケーションやコンテナーのインストールをデバッグしている場合、これは非常に面倒です。
$ time kubectl run -i --tty busybox --image=busybox --restart=Never -- sh
Waiting for pod default/busybox to be running, status is Pending, pod ready: false
If you don't see a command prompt, try pressing enter.
/ # Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
Waiting for pod default/busybox to terminate, status is Running
error: timed out waiting for the condition
real 2m4.657s
このGithub Issueから再投稿します。