mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-04-30 12:44:39 +00:00
docs: Split history out of arch doc
Move the historical details out of the architecture doc and into a separate file. Partially fixes: #3246. Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
This commit is contained in:
parent
6f9efb4043
commit
283d7d52c8
@ -39,22 +39,10 @@ Kata Containers provides a ["shimv2"](#shim-v2-architecture) compatible runtime.
|
|||||||
The Kata Containers runtime is shim v2 ("shimv2") compatible. This
|
The Kata Containers runtime is shim v2 ("shimv2") compatible. This
|
||||||
section explains what this means.
|
section explains what this means.
|
||||||
|
|
||||||
### History
|
> **Note:**
|
||||||
|
>
|
||||||
In the old [Kata 1.x architecture](https://github.com/kata-containers/documentation/blob/master/design/architecture.md),
|
> For a comparison with the Kata 1.x architecture, see
|
||||||
the Kata [runtime](#runtime) was an executable called `kata-runtime`.
|
> [the architectural history document](history.md).
|
||||||
The container manager called this executable multiple times when
|
|
||||||
creating each container. Each time the runtime was called a different
|
|
||||||
OCI command-line verb was provided. This architecture was simple, but
|
|
||||||
not well suited to creating VM based containers due to the issue of
|
|
||||||
handling state between calls. Additionally, the architecture suffered
|
|
||||||
from performance issues related to continually having to spawn new
|
|
||||||
instances of the runtime binary, and
|
|
||||||
[Kata shim](https://github.com/kata-containers/shim) and
|
|
||||||
[Kata proxy](https://github.com/kata-containers/proxy) processes for systems
|
|
||||||
that did not provide VSOCK.
|
|
||||||
|
|
||||||
### An improved architecture
|
|
||||||
|
|
||||||
The
|
The
|
||||||
[containerd runtime shimv2 architecture](https://github.com/containerd/containerd/tree/main/runtime/v2)
|
[containerd runtime shimv2 architecture](https://github.com/containerd/containerd/tree/main/runtime/v2)
|
||||||
@ -86,26 +74,6 @@ launch both Pod and OCI compatible containers with a single
|
|||||||
alone `kata-proxy` process is required, even if VSOCK is not
|
alone `kata-proxy` process is required, even if VSOCK is not
|
||||||
available.
|
available.
|
||||||
|
|
||||||
### Architectural comparison
|
|
||||||
|
|
||||||
| Kata version | Kata Runtime process calls | Kata shim processes | Kata proxy processes (if no VSOCK) |
|
|
||||||
|-|-|-|-|
|
|
||||||
| 1.x | multiple per container | 1 per container connection | 1 |
|
|
||||||
| 2.x | 1 per VM (hosting any number of containers) | 0 | 0 |
|
|
||||||
|
|
||||||
> **Notes:**
|
|
||||||
>
|
|
||||||
> - A single VM can host one or more containers.
|
|
||||||
>
|
|
||||||
> - The "Kata shim processes" column refers to the old
|
|
||||||
> [Kata shim](https://github.com/kata-containers/shim) (`kata-shim` binary),
|
|
||||||
> *not* the new shimv2 runtime instance (`containerd-shim-kata-v2` binary).
|
|
||||||
|
|
||||||
The diagram below shows how the original architecture was simplified
|
|
||||||
with the advent of shimv2.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Root filesystem
|
## Root filesystem
|
||||||
|
|
||||||
This document uses the term _rootfs_ to refer to a root filesystem
|
This document uses the term _rootfs_ to refer to a root filesystem
|
||||||
|
41
docs/design/architecture/history.md
Normal file
41
docs/design/architecture/history.md
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# History
|
||||||
|
|
||||||
|
## Kata 1.x architecture
|
||||||
|
|
||||||
|
In the old [Kata 1.x architecture](https://github.com/kata-containers/documentation/blob/master/design/architecture.md),
|
||||||
|
the Kata [runtime](README.md#runtime) was an executable called `kata-runtime`.
|
||||||
|
The container manager called this executable multiple times when
|
||||||
|
creating each container. Each time the runtime was called a different
|
||||||
|
OCI command-line verb was provided. This architecture was simple, but
|
||||||
|
not well suited to creating VM based containers due to the issue of
|
||||||
|
handling state between calls. Additionally, the architecture suffered
|
||||||
|
from performance issues related to continually having to spawn new
|
||||||
|
instances of the runtime binary, and
|
||||||
|
[Kata shim](https://github.com/kata-containers/shim) and
|
||||||
|
[Kata proxy](https://github.com/kata-containers/proxy) processes for systems
|
||||||
|
that did not provide VSOCK.
|
||||||
|
|
||||||
|
## Kata 2.x architecture
|
||||||
|
|
||||||
|
See the ["shimv2"](README.md#shim-v2-architecture) section of the
|
||||||
|
architecture document.
|
||||||
|
|
||||||
|
## Architectural comparison
|
||||||
|
|
||||||
|
| Kata version | Kata Runtime process calls | Kata shim processes | Kata proxy processes (if no VSOCK) |
|
||||||
|
|-|-|-|-|
|
||||||
|
| 1.x | multiple per container | 1 per container connection | 1 |
|
||||||
|
| 2.x | 1 per VM (hosting any number of containers) | 0 | 0 |
|
||||||
|
|
||||||
|
> **Notes:**
|
||||||
|
>
|
||||||
|
> - A single VM can host one or more containers.
|
||||||
|
>
|
||||||
|
> - The "Kata shim processes" column refers to the old
|
||||||
|
> [Kata shim](https://github.com/kata-containers/shim) (`kata-shim` binary),
|
||||||
|
> *not* the new shimv2 runtime instance (`containerd-shim-kata-v2` binary).
|
||||||
|
|
||||||
|
The diagram below shows how the original architecture was simplified
|
||||||
|
with the advent of shimv2.
|
||||||
|
|
||||||
|

|
Loading…
Reference in New Issue
Block a user