mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-06 06:03:28 +00:00
Currently cgroup v2 is supported. Remove the note that host cgroup v2 is not supported. Fixes: #3073 Signed-off-by: yaoyinnan <yaoyinnan@foxmail.com>
123 lines
4.2 KiB
Markdown
123 lines
4.2 KiB
Markdown
# Install Kata Containers with containerd
|
|
|
|
> **Note:**
|
|
>
|
|
> - If Kata Containers and / or containerd are packaged by your distribution,
|
|
> we recommend you install these versions to ensure they are updated when
|
|
> new releases are available.
|
|
|
|
> **Warning:**
|
|
>
|
|
> - These instructions install the **newest** versions of Kata Containers and
|
|
> containerd from binary release packages. These versions may not have been
|
|
> tested with your distribution version.
|
|
>
|
|
> - Since your package manager is not being used, it is **your**
|
|
> responsibility to ensure these packages are kept up-to-date when new
|
|
> versions are released.
|
|
>
|
|
> - If you decide to proceed and install a Kata Containers release, you can
|
|
> still check for the latest version of Kata Containers by running
|
|
> `kata-runtime check --only-list-releases`.
|
|
|
|
## Install Kata Containers
|
|
|
|
> **Note:**
|
|
>
|
|
> If your distribution packages Kata Containers, we recommend you install that
|
|
> version. If it does not, or you wish to perform a manual installation,
|
|
> continue with the steps below.
|
|
|
|
- Download a release from:
|
|
|
|
- https://github.com/kata-containers/kata-containers/releases
|
|
|
|
Note that Kata Containers uses [semantic versioning](https://semver.org) so
|
|
you should install a version that does *not* include a dash ("-"), since this
|
|
indicates a pre-release version.
|
|
|
|
- Unpack the downloaded archive.
|
|
|
|
Kata Containers packages use a `/opt/kata/` prefix so either add that to
|
|
your `PATH`, or create symbolic links for the following commands. The
|
|
advantage of using symbolic links is that the `systemd(1)` configuration file
|
|
for containerd will not need to be modified to allow the daemon to find this
|
|
binary (see the [section on installing containerd](#install-containerd) below).
|
|
|
|
| Command | Description |
|
|
|-|-|
|
|
| `/opt/kata/bin/containerd-shim-kata-v2` | The main Kata 2.x binary |
|
|
| `/opt/kata/bin/kata-collect-data.sh` | Data collection script used for [raising issues](https://github.com/kata-containers/kata-containers/issues) |
|
|
| `/opt/kata/bin/kata-runtime` | Utility command |
|
|
|
|
- Check installation by showing version details:
|
|
|
|
```bash
|
|
$ kata-runtime --version
|
|
```
|
|
|
|
## Install containerd
|
|
|
|
> **Note:**
|
|
>
|
|
> If your distribution packages containerd, we recommend you install that
|
|
> version. If it does not, or you wish to perform a manual installation,
|
|
> continue with the steps below.
|
|
|
|
- Download a release from:
|
|
|
|
- https://github.com/containerd/containerd/releases
|
|
|
|
- Unpack the downloaded archive.
|
|
|
|
- Configure containerd
|
|
|
|
- Download the standard `systemd(1)` service file and install to
|
|
`/etc/systemd/system/`:
|
|
|
|
- https://raw.githubusercontent.com/containerd/containerd/main/containerd.service
|
|
|
|
> **Notes:**
|
|
>
|
|
> - You will need to reload the systemd configuration after installing this
|
|
> file.
|
|
>
|
|
> - If you have not created a symbolic link for
|
|
> `/opt/kata/bin/containerd-shim-kata-v2`, you will need to modify this
|
|
> file to ensure the containerd daemon's `PATH` contains `/opt/kata/`.
|
|
> See the `Environment=` command in `systemd.exec(5)` for further
|
|
> details.
|
|
|
|
- Add the Kata Containers configuration to the containerd configuration file:
|
|
|
|
```toml
|
|
[plugins]
|
|
[plugins."io.containerd.grpc.v1.cri"]
|
|
[plugins."io.containerd.grpc.v1.cri".containerd]
|
|
default_runtime_name = "kata"
|
|
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
|
|
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.kata]
|
|
runtime_type = "io.containerd.kata.v2"
|
|
```
|
|
|
|
> **Note:**
|
|
>
|
|
> The containerd daemon needs to be able to find the
|
|
> `containerd-shim-kata-v2` binary to allow Kata Containers to be created.
|
|
|
|
- Start the containerd service.
|
|
|
|
## Test the installation
|
|
|
|
You are now ready to run Kata Containers. You can perform a simple test by
|
|
running the following commands:
|
|
|
|
```bash
|
|
$ image="docker.io/library/busybox:latest"
|
|
$ sudo ctr image pull "$image"
|
|
$ sudo ctr run --runtime "io.containerd.kata.v2" --rm -t "$image" test-kata uname -r
|
|
```
|
|
|
|
The last command above shows details of the kernel version running inside the
|
|
container, which will likely be different to the host kernel version.
|