Git Product home page Git Product logo

Comments (6)

resouer avatar resouer commented on July 18, 2024

It should related to @laijs 's area. Let's PING him

from frakti.

 avatar commented on July 18, 2024

Disclaimer : Not an expert at this. I am also a potential intern for Gsoc. Just giving my 2 cents.

Kata Containers is an opensource project which aims to merge the Intel Clear Containers runtime and the Hyper runv runtimes. Kata already has support for Docker. It aims to be a substitute for runc.

As @urvil38 said normally the container state diagram is docked -> containerd -> runc.

When used with kubernetes, the state transition diagram is kubernetes -> cri-containerd ->containerd -> kata. This blog post may be of help if you want to understand how kubernetes works with containerd. I believe the rest would be clear to you then.

As far as the benefits are concerned, when you run a container with Kata as a runtime, a new QEMU based virtual machine is spawned, this gives you much better hardware based isolation than the traditional software (OS) based isolation. There is no sharing of the host kernel when you run with kata as the guest is now insde a VM. A kata runtime based container uses its own minimalistic linux kernel.

For more details you may like to visit the Kata Containers, Clear containers or runv repos.

from frakti.

 avatar commented on July 18, 2024

This doc presented in an earlier architecture committee meeting may be helpful if you wish to learn more about the architecture of the kata runtime

from frakti.

laijs avatar laijs commented on July 18, 2024

@urvil38 dockerd -> containerd -> kata-runtime is already a ready solution that kata-containers community has been working long with as the same GSoC doc says. This solution is excellent except that the data path is too long: dockerd -> containerd -> containerd-shim -> kata-shim -> [vm: agent -> container]. In this paradigm, containerd-shim is very specified for containerd+runc which hold something including Stdio and reaper ownership that keeps the container running when containerd is dead. In kata-cantainers case, the hypervisor along with the agent can do the same thing and we can shorten the data path. kata-shim is also specified for dockerd/containerd and acts as a presentation in the host with a referencable system pid.

Both containerd-shim and kata-shim are unnecessary in containerd's runtime plugin with kata-containers. So a new containerd-kata plugin will be introduced for it, which is also the aim of this Gsoc project. After it is done, the data/control path will be:
dockerd/kublet -> containerd with containerd-kata runtime plugin -> [vm: agent -> container]
and remove the unnecessary interlayer.

from frakti.

urvil38 avatar urvil38 commented on July 18, 2024

thanks, @ydjainopensource and @laijs.
Any data are available for how much time it will take to create vm sandbox and container inside it with kata-container runtime?I am curious about how much time hypervisor-based container take to start and stop than normal OS based container.

@laijs can you give some inside about what is a current state of frakti and containerd-kata runtime plugin?

from frakti.

laijs avatar laijs commented on July 18, 2024

less than 100ms when work with proper VM factory.

from frakti.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.