kubectl には Pod とその中のコンテナを ad hoc に作る kubectl run というサブコマンドがありますが、これで bash を起動してその上で何かコマンドを打っていると、画面表示がログとして保存されることになります。

これはなんでかというと、kubectl run でコンテナ内で起動したプロセスの stdout はノード上に保存されるログファイルに接続されており、-it オプションの効果で stdout を横から覗き見る形で画面に出力しているからです。

コンテナの中で(ようするに k8s クラスタの中で)bash を起動して操作をしたいけどログに保存されなくない場合は、 kubectl run — pause か何かで Pod を作ってから、その中に kubectl exec — bash すれば回避できます。

図にするとこんな感じになります。

変なものを打って永続化されないように気を付けましょう。

Trackback

no comment untill now

Add your comment now