Editing
CCU:Perstistent storage on the Kubernetes cluster
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Reading/writing to the directories in the pod == After you have created the access pod with "kubectl apply -f <filename>.yaml", you have several options to get data to and from the container. === Copying data from within the container === You can get a root shell inside the container as usual (insert the correct pod name you used below): <syntaxhighlight lang="yaml"> > kubectl exec -it access-pod -- /bin/bash </syntaxhighlight> Your pod has internet access. Thus, an option to get data to/from the pod, in particular into the persistent volume, is to use scp, which first might need to be installed inside the pod: <syntaxhighlight lang="yaml"> # apt-get update && apt install openssh-client rsync # cd /my-pvc-mount-path # scp your.username@external-server:/path/to/data/. ./ </syntaxhighlight> An even better variant would be "rsync -av" instead of scp, as this only copies files which are different or do not exist in the destination. By reversing source and destination, you can also copy data out of the container this way. === Copying data from your local machine === From the local machine which has kubectl access to the cluster, you can directly copy data to and from the container using kubectl cp, which has a very similar syntax as scp: <syntaxhighlight lang="yaml"> # to get data into the container, substitute name with correct id obtained from kubectl get pods > kubectl cp /path/to/data/. pvc-access-pod:/my-pvc-mount/path/data # to get data from the container > kubectl cp pvc-access-pod:/my-pvc-mount/path/. /path/to/output/ </syntaxhighlight> Read up on Kubernetes "kubectl cp" documentation to check how it handles directories, it's a bit unusual and slightly different from scp. Note: kubectl cp internally uses tar and some compression to speed up network transfer. However, this means that your access pod needs a certain amount of memory, in particular when transferring large files. If you run into "error 137" (out of memory), increase memory limits of the access pod or use scp from within the pod.
Summary:
Please note that all contributions to Collective Computational Unit may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
CCU:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Project page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Collective Computational Unit
Main page
Projects
Tutorials
GPU Cluster
Core Facilitys
Mediawiki
Recent changes
Random page
Help
Tools
What links here
Related changes
Page information