mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-26 15:32:30 +00:00
cleanup per jodh's feedback
Signed-off-by: Eric Ernst <eric.ernst@intel.com>
This commit is contained in:
parent
eb035e167f
commit
03e93cd55a
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This is an architectural overview of Kata Containers, based on the 1.0 release.
|
This is an architectural overview of Kata Containers, based on the 1.0.0 release.
|
||||||
|
|
||||||
The two primary deliverables of the Kata Containers project are a container runtime
|
The two primary deliverables of the Kata Containers project are a container runtime
|
||||||
and a CRI friendly library API.
|
and a CRI friendly library API.
|
||||||
@ -50,13 +50,14 @@ and `kata-runtime`.
|
|||||||
`kata-runtime` creates a QEMU\*/KVM virtual machine for each container or pod
|
`kata-runtime` creates a QEMU\*/KVM virtual machine for each container or pod
|
||||||
the Docker engine or Kubernetes' `kubelet` creates.
|
the Docker engine or Kubernetes' `kubelet` creates.
|
||||||
|
|
||||||
The container process is then spawned by an
|
The container process is then spawned by
|
||||||
[agent](https://github.com/kata-containers/agent) running as a daemon inside
|
[agent](https://github.com/kata-containers/agent), an agent process running
|
||||||
the virtual machine. The agent runs a gRPC server in the guest. This runs on a
|
as a daemon inside the virtual machine. kata-agent runs a gRPC server in
|
||||||
virtio serial interface in the guest, and QEMU exposes them as a serial device on
|
the guest using a virtio serial interface which QEMU exposes as a serial
|
||||||
the host. `kata-runtime` uses gRPC protocol the control device for sending container management
|
device on the host. kata-runtime uses a gRPC protocol to communicate with
|
||||||
commands to the agent while the I/O serial device is used to pass I/O streams (`stdout`, `stderr`,
|
the agent. This protocol allows the runtime to send container management
|
||||||
`stdin`) between the guest and the Docker Engine.
|
commands to the agent. The protocol is also used to pass I/O streams (stdout,
|
||||||
|
stderr, stdin) between the guest and the Docker Engine.
|
||||||
|
|
||||||
For any given container, both the init process and all potentially executed
|
For any given container, both the init process and all potentially executed
|
||||||
commands within that container, together with their related I/O streams, need
|
commands within that container, together with their related I/O streams, need
|
||||||
@ -111,12 +112,12 @@ Each feature is documented below.
|
|||||||
|
|
||||||
#### Machine accelerators
|
#### Machine accelerators
|
||||||
|
|
||||||
Machine accelerators are architecture specific and can used to improve the performance
|
Machine accelerators are architecture specific and can be used to improve the performance
|
||||||
and enable specific features of the machine types. The following machine accelerators
|
and enable specific features of the machine types. The following machine accelerators
|
||||||
are used in Kata Containers:
|
are used in Kata Containers:
|
||||||
|
|
||||||
- nvdimm: This machine accelerator is x86 specific and only supported by `pc` and
|
- nvdimm: This machine accelerator is x86 specific and only supported by `pc` and
|
||||||
`q35` machine types. `nvdimm` is used to provide the root filesystem as persistent
|
`q35` machine types. `nvdimm` is used to provide the root filesystem as a persistent
|
||||||
memory device to the Virtual Machine.
|
memory device to the Virtual Machine.
|
||||||
|
|
||||||
Although Kata Containers can run with any recent QEMU release, Kata Containers
|
Although Kata Containers can run with any recent QEMU release, Kata Containers
|
||||||
@ -166,7 +167,7 @@ has a highly optimized boot path.
|
|||||||
The only services running in the context of the mini O/S are the init daemon
|
The only services running in the context of the mini O/S are the init daemon
|
||||||
(`systemd`) and the [Agent](#agent). The real workload the user wishes to run
|
(`systemd`) and the [Agent](#agent). The real workload the user wishes to run
|
||||||
is created using libcontainer, creating a container in the same manner that is done
|
is created using libcontainer, creating a container in the same manner that is done
|
||||||
via runc.
|
by runc.
|
||||||
|
|
||||||
For example, when `docker run -ti ubuntu date` is run:
|
For example, when `docker run -ti ubuntu date` is run:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user