Corredor

ウェブ、プログラミングの勉強メモ。

Kubernetes の Pod にファイルを転送する / Pod からファイルをダウンロードする

前回、Docker コンテナとホスト OS 間でファイルをやり取りする docker cp コマンドを紹介した。

neos21.hatenablog.com

今回は、Docker コンテナを Kubernetes クラスタ内で動かしている時に、同様にファイルを送ったり・受け取ったりする方法。

コマンドの構成は docker cp とよく似ていて、Kubernetes の場合は kubectl cp コマンドを使う。ただし、転送先はディレクトリ名までではなく、ファイル名まで記述する必要がある。

docker cp の時はコンテナ ID を指定していたところ、Kubernetes の場合は Pod 名を指定する。Pod 名は $ kubectl get pod で調べられる。

# 手元のマシンから Kubernetes Pod にファイルをアップロードする
$ kubectl cp ./my-file.txt my-app-pod-deployment-9999999999-xxxxx:/tmp/my-file.txt

# Kubernetes Pod にあるファイルを手元のマシンにダウンロードする
$ kubectl cp my-app-pod-deployment-9999999999-xxxxx:/tmp/my-pod-file.txt ./my-pod-file.txt

docker cp コマンドの場合も、転送先のファイル名までしっかり記述する癖を付けておけば、Docker と Kubernetes とで同じようにコマンドが叩けるだろう。

Cloud Native DevOps with Kubernetes: Building, Deploying, and Scaling Modern Applications in the Cloud

Cloud Native DevOps with Kubernetes: Building, Deploying, and Scaling Modern Applications in the Cloud