-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create Pod Sandbox #6
Comments
4.1 merge config from image The rough flow seems fine to me. What is really missing which is somehow still part of this flow is the CAS storage where images are pulled, indexed, cached etc etc. And from where libcow is kicking in. @nalind does it make sense? |
@runcom Updated to add your suggestion of merging config. We do need to figure out how much of the image logic will be in the daemon and how much in the library. |
re: flag for image type - we would leverage the abstraction made in containers/image where an image type has a prefix defining the technology/transport (such as I want to run a container based on the docker busybox image, so containers/image firstly download from Docker registry and then store it into the image storage) |
Yes the question of storage is key here. In storage we want to be able to support the "networked storage case". If I go to run the "foobar" container and I have the "foobar" rootfs available via NFS I want to use this rather then pull the image to the host. So we need the storage layer to be smart enough to understand the configuration of the image store(s). I believe we have four different components interacting to make this happen.
In the quick design you defined above, I think it would be helpful if we broke down, which component was responsible for each action.
|
As part of downloading docker images to be run as OCI runc containers, I've came across registries credential handling and opened containers/image#41. @mrunalp I'm not familiar with k8s at all, I've a question though. In a normal Pod creation workflow how does one pass credentials to authenticate against a registry when pulling an image (cli or yaml)? |
@runcom Yes, I think we should define our own config for accessing docker and other registries. Also, I think this code in kubernetes may be relevant https://github.com/kubernetes/kubernetes/blob/f2ddd60eb9e7e9e29f7a105a9a8fa020042e8e52/pkg/credentialprovider |
Right, that code's relevant but it's assuming BTW, I believe this is already possible when creating the yaml pod specification (based on this reply http://stackoverflow.com/a/36280670). |
@runcom Yep, we should be able to use that. |
@rhatdan I would imagine that we need some config per node as well as per pod decorations to configure storage. Flags like |
SGTM |
@mrunalp does containers/image kicks in as part of the at least based on https://github.com/kubernetes/kubernetes/pull/17048/files#diff-822f0e081c10d8b83d7c2ad1391d55f7R85 |
@runcom Yes, we could write a test wrapper that does the image pull before creating the sandbox or starting a container. This could work to simulate kubelet integration till kubelet client changes are done. |
I'd love to split the first 1) and 2) points to go into the |
This is a rough flow that I have in mind.
The storage API should take parameters to allow such use cases.
This would require ocid to take as a flag the name of the sandbox image type.
A flag will be needed to pick default storage and a way to override to share a readonly rootfs as described above.
The text was updated successfully, but these errors were encountered: