Kubernetes 上でコンテナを実行し続けるにはどうすればよいですか? 質問する

Kubernetes 上でコンテナを実行し続けるにはどうすればよいですか? 質問する

現在、Kubernetes クラスター上でシェル (/bin/bash) を使用して単純なコンテナを実行しようとしています。

pseudo-ttydetach オプション (コマンド-tdの option )を使用することで、Docker コンテナ上でコンテナを実行したままにする方法があると思いましたdocker run

例えば、

$ sudo docker run -td ubuntu:latest

Kubernetes にはこのようなオプションはありますか?

次のようなコマンドを使用してコンテナを実行してみましたkubectl run-container

kubectl run-container test_container ubuntu:latest --replicas=1

しかし、コンテナは数秒間終了します (docker run前述のオプションなしのコマンドで起動した場合と同様)。そして、ReplicationController はそれを繰り返し起動します。

-tdコマンドのオプションのように、Kubernetes 上でコンテナを実行し続ける方法はありますかdocker run?

ベストアンサー1

コンテナは完了するまで実行されるように設計されています。コンテナに、決して完了しないタスクを提供する必要があります。次のようなものが機能するはずです。

apiVersion: v1
kind: Pod
metadata:
  name: ubuntu
spec:
  containers:
  - name: ubuntu
    image: ubuntu:latest
    # Just spin & wait forever
    command: [ "/bin/bash", "-c", "--" ]
    args: [ "while true; do sleep 30; done;" ]

おすすめ記事