mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-22 05:28:25 +00:00
- Ensure that our documented crictl pod config file contents have
uid and namespace fields for compatibility with crictl 1.24+
This avoids a user potentially hitting the error:
```
getting sandbox status of pod "d3af2db414ce8": metadata.Name,
metadata.Namespace or metadata.Uid is not in metadata
"&PodSandboxMetadata{Name:nydus-sandbox,Uid:,Namespace:default,Attempt:1,}"
getting sandbox status of pod "-A": rpc error: code = NotFound desc = an
error occurred when try to find sandbox: not found
```
Fixes: #8092
Signed-off-by: stevenhorsman <steven@uk.ibm.com>
(cherry picked from commit 8f8c2215
)
59 lines
1.5 KiB
Markdown
59 lines
1.5 KiB
Markdown
# Kata Containers with virtio-fs-nydus
|
|
|
|
## Introduction
|
|
|
|
Refer to [kata-`nydus`-design](../design/kata-nydus-design.md) for introduction and `nydus` has supported Kata Containers with hypervisor `QEMU` and `CLH` currently.
|
|
|
|
## How to
|
|
|
|
You can use Kata Containers with `nydus` as follows,
|
|
|
|
1. Use [`nydus` latest branch](https://github.com/dragonflyoss/image-service);
|
|
|
|
2. Deploy `nydus` environment as [`Nydus` Setup for Containerd Environment](https://github.com/dragonflyoss/image-service/blob/master/docs/containerd-env-setup.md);
|
|
|
|
3. Start `nydus-snapshotter` with `enable_nydus_overlayfs` enabled;
|
|
|
|
4. Use [kata-containers](https://github.com/kata-containers/kata-containers) `latest` branch to compile and build `kata-containers.img`;
|
|
|
|
5. Update `configuration-qemu.toml` or `configuration-clh.toml`to include:
|
|
|
|
```toml
|
|
shared_fs = "virtio-fs-nydus"
|
|
virtio_fs_daemon = "<nydusd binary path>"
|
|
virtio_fs_extra_args = []
|
|
```
|
|
|
|
6. run `crictl run -r kata nydus-container.yaml nydus-sandbox.yaml`;
|
|
|
|
The `nydus-sandbox.yaml` looks like below:
|
|
|
|
```yaml
|
|
metadata:
|
|
attempt: 1
|
|
name: nydus-sandbox
|
|
uid: nydus-uid
|
|
namespace: default
|
|
log_directory: /tmp
|
|
linux:
|
|
security_context:
|
|
namespace_options:
|
|
network: 2
|
|
annotations:
|
|
"io.containerd.osfeature": "nydus.remoteimage.v1"
|
|
```
|
|
|
|
The `nydus-container.yaml` looks like below:
|
|
|
|
```yaml
|
|
metadata:
|
|
name: nydus-container
|
|
image:
|
|
image: localhost:5000/ubuntu-nydus:latest
|
|
command:
|
|
- /bin/sleep
|
|
args:
|
|
- 600
|
|
log_path: container.1.log
|
|
```
|