Kubernetes Java API for Kubectl copy command

2019-08-16 12:54发布

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

1条回答
Emotional °昔
2楼-- · 2019-08-16 13:28

That's because kubectl cp is implemented via tar, so what is actually happening is kubectl 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 an InputStream, saving you the need to get into the tar-format-parsing business

查看更多
登录 后发表回答