I have a container running inside Kubernetes cluster (within POD) along side many other containers (in their own PODs) and my container is a common container. Now, I want to pull (copy) the files from other containers to my common container. I investigated for some options and found that kubectl copy can be used. But, for that, I need to include kubectl command line tool inside my common container. I'm not sure if this is right approach. So, I thought of using Java Kubernetes APIs to do the same. Is there equivalent Kubernetes REST API for Kubectl copy command ? I gone through the kubernetes APIs and could not find any such API ..
Thanks
That's because
kubectl cp
is implemented viatar
, so what is actually happening iskubectl exec $pod -- tar -cf - /the/container/file | tar -xf -
, which is what I would expect your Java API would need to do, as well.However, you may -- depending on your needs -- be able to get away with how I used to do it before
kubectl cp
arrived:kubectl exec $pod -- /bin/cat /the/container/file > local-file
which in your circumstance may be a ton easier since I would expect the API would materialize those bytes as anInputStream
, saving you the need to get into the tar-format-parsing business