1. Identify the Pod and the File Path
First, determine the name of the pod and the path of the file you want to copy from the pod.
For example, let’s say you have a pod named my-pod in the default namespace, and you want to copy a file located at /path/in/pod/file.txt from the pod to your local machine.
2. Use kubectl cp Command
The kubectl cp command is used to copy files between a local filesystem and a pod. The syntax is as follows:
kubectl cp <namespace>/<pod-name>:<path-in-pod> <path-on-local-system>
or, if your pod is in the default namespace, you can omit the namespace:
kubectl cp <pod-name>:<path-in-pod> <path-on-local-system>
3. Copy the File
To copy a file from the pod to your local system, use the following command:
kubectl cp default/my-pod:/path/in/pod/file.txt /path/on/local-system/file.txt
If the pod is in the default namespace, you can simplify the command:
kubectl cp my-pod:/path/in/pod/file.txt /path/on/local-system/file.txt
Example Commands
- Copy a file from the pod to your local system:
kubectl cp my-pod:/path/in/pod/file.txt /path/on/local-system/file.txt
Copy a directory from the pod to your local system:
kubectl cp my-pod:/path/in/pod/directory /path/on/local-system/directory
Additional Tips
- Ensure the Pod is Running: The pod must be running and accessible for the
kubectl cpcommand to work. - Specify Namespace if Different: If the pod is in a different namespace, specify it in the command.
- Permissions: Ensure you have the necessary permissions to access the pod and the file path within the pod.
Conclusion
Using the kubectl cp command is a straightforward way to transfer files between your local system and a Kubernetes pod. Whether you need to copy logs, configuration files, or any other data, this command provides a convenient method to interact with your pod’s filesystem.