Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

Commit 0500a7f

Browse files
authored
Merge pull request #763 from amshinde/1.11-backports
1.11 doc backports
2 parents 6f5954e + 5ad4530 commit 0500a7f

11 files changed

+54
-16
lines changed

how-to/how-to-import-kata-logs-with-fluentd.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ in Kibana:
185185
![Kata tags in EFK](./images/efk_syslog_entry_detail.png).
186186

187187
We can however further sub-parse the Kata entries using the
188-
[Fluentd plugins](https://docs.fluentbit.io/manual/parser/logfmt) that will parse
188+
[Fluentd plugins](https://docs.fluentbit.io/manual/pipeline/parsers/logfmt) that will parse
189189
`logfmt` formatted data. We can utilise these to parse the sub-fields using a Fluentd filter
190190
section. At the same time, we will prefix the new fields with `kata_` to make it clear where
191191
they have come from:

how-to/how-to-load-kernel-modules-with-kata.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,9 @@ There are some limitations with this approach:
5656

5757
As was mentioned above, not all containers need the same modules, therefore using
5858
the configuration file for specifying the list of kernel modules per [POD][3] can
59-
be a pain. Unlike the configuration file, annotations provide a way to specify
60-
custom configurations per POD.
59+
be a pain.
60+
Unlike the configuration file, [annotations](how-to-set-sandbox-config-kata.md)
61+
provide a way to specify custom configurations per POD.
6162

6263
The list of kernel modules and parameters can be set using the annotation
6364
`io.katacontainers.config.agent.kernel_modules` as a semicolon separated

how-to/how-to-set-sandbox-config-kata.md

Lines changed: 41 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
Kata Containers gives users freedom to customize at per-pod level, by setting
44
a wide range of Kata specific annotations in the pod specification.
55

6+
Some annotations may be [restricted](#restricted-annotations) by the
7+
configuration file for security reasons, notably annotations that could lead the
8+
runtime to execute programs on the host. Such annotations are marked with _(R)_ in
9+
the tables below.
10+
611
# Kata Configuration Annotations
712
There are several kinds of Kata configurations and they are listed below.
813

@@ -38,6 +43,8 @@ There are several kinds of Kata configurations and they are listed below.
3843
| `io.katacontainers.config.hypervisor.block_device_cache_noflush` | `boolean` | Denotes whether flush requests for the device are ignored |
3944
| `io.katacontainers.config.hypervisor.block_device_cache_set` | `boolean` | cache-related options will be set to block devices or not |
4045
| `io.katacontainers.config.hypervisor.block_device_driver` | string | the driver to be used for block device, valid values are `virtio-blk`, `virtio-scsi`, `nvdimm`|
46+
| `io.katacontainers.config.hypervisor.cpu_features` | `string` | Comma-separated list of CPU features to pass to the CPU (QEMU) |
47+
| `io.katacontainers.config.hypervisor.ctlpath` (R) | `string` | Path to the `acrnctl` binary for the ACRN hypervisor |
4148
| `io.katacontainers.config.hypervisor.default_max_vcpus` | uint32| the maximum number of vCPUs allocated for the VM by the hypervisor |
4249
| `io.katacontainers.config.hypervisor.default_memory` | uint32| the memory assigned for a VM by the hypervisor in `MiB` |
4350
| `io.katacontainers.config.hypervisor.default_vcpus` | uint32| the default vCPUs assigned for a VM by the hypervisor |
@@ -48,7 +55,7 @@ There are several kinds of Kata configurations and they are listed below.
4855
| `io.katacontainers.config.hypervisor.enable_mem_prealloc` | `boolean` | the memory space used for `nvdimm` device by the hypervisor |
4956
| `io.katacontainers.config.hypervisor.enable_swap` | `boolean` | enable swap of VM memory |
5057
| `io.katacontainers.config.hypervisor.entropy_source` | string| the path to a host source of entropy (`/dev/random`, `/dev/urandom` or real hardware RNG device) |
51-
| `io.katacontainers.config.hypervisor.file_mem_backend` | string | file based memory backend root directory |
58+
| `io.katacontainers.config.hypervisor.file_mem_backend` (R) | string | file based memory backend root directory |
5259
| `io.katacontainers.config.hypervisor.firmware_hash` | string | container firmware SHA-512 hash value |
5360
| `io.katacontainers.config.hypervisor.firmware` | string | the guest firmware that will run the container VM |
5461
| `io.katacontainers.config.hypervisor.guest_hook_path` | string | the path within the VM that will be used for drop in hooks |
@@ -59,7 +66,7 @@ There are several kinds of Kata configurations and they are listed below.
5966
| `io.katacontainers.config.hypervisor.initrd_hash` | string | container guest initrd SHA-512 hash value |
6067
| `io.katacontainers.config.hypervisor.initrd` | string | the guest initrd image that will run in the container VM |
6168
| `io.katacontainers.config.hypervisor.jailer_hash` | string | container jailer SHA-512 hash value |
62-
| `io.katacontainers.config.hypervisor.jailer_path` | string | the jailer that will constrain the container VM |
69+
| `io.katacontainers.config.hypervisor.jailer_path` (R) | string | the jailer that will constrain the container VM |
6370
| `io.katacontainers.config.hypervisor.kernel_hash` | string | container kernel image SHA-512 hash value |
6471
| `io.katacontainers.config.hypervisor.kernel_params` | string | additional guest kernel parameters |
6572
| `io.katacontainers.config.hypervisor.kernel` | string | the kernel used to boot the container VM |
@@ -68,12 +75,14 @@ There are several kinds of Kata configurations and they are listed below.
6875
| `io.katacontainers.config.hypervisor.memory_offset` | uint32| the memory space used for `nvdimm` device by the hypervisor |
6976
| `io.katacontainers.config.hypervisor.memory_slots` | uint32| the memory slots assigned to the VM by the hypervisor |
7077
| `io.katacontainers.config.hypervisor.msize_9p` | uint32 | the `msize` for 9p shares |
71-
| `io.katacontainers.config.hypervisor.path` | string | the hypervisor that will run the container VM |
78+
| `io.katacontainers.config.hypervisor.path` (R) | string | the hypervisor that will run the container VM |
79+
| `io.katacontainers.config.hypervisor.pcie_root_port` | specify the number of PCIe Root Port devices. The PCIe Root Port device is used to hot-plug a PCIe device (QEMU) |
7280
| `io.katacontainers.config.hypervisor.shared_fs` | string | the shared file system type, either `virtio-9p` or `virtio-fs` |
7381
| `io.katacontainers.config.hypervisor.use_vsock` | `boolean` | specify use of `vsock` for agent communication |
82+
| `io.katacontainers.config.hypervisor.vhost_user_store_path` (R) | `string` | specify the directory path where vhost-user devices related folders, sockets and device nodes should be (QEMU) |
7483
| `io.katacontainers.config.hypervisor.virtio_fs_cache_size` | uint32 | virtio-fs DAX cache size in `MiB` |
7584
| `io.katacontainers.config.hypervisor.virtio_fs_cache` | string | the cache mode for virtio-fs, valid values are `always`, `auto` and `none` |
76-
| `io.katacontainers.config.hypervisor.virtio_fs_daemon` | string | virtio-fs `vhost-user` daemon path |
85+
| `io.katacontainers.config.hypervisor.virtio_fs_daemon` (R) | string | virtio-fs `vhost-user` daemon path |
7786
| `io.katacontainers.config.hypervisor.virtio_fs_extra_args` | string | extra options passed to `virtiofs` daemon |
7887

7988
# Example - Using annotations
@@ -131,3 +140,31 @@ spec:
131140
stdin: true
132141
tty: true
133142
```
143+
144+
# Restricted annotations
145+
146+
Some annotations are _restricted_, meaning that the configuration file specifies
147+
the acceptable values. Currently, only hypervisor annotations are restricted,
148+
for security reason, with the intent to control which binaries the Kata
149+
Containers runtime will launch on your behalf.
150+
151+
The configuration file validates the annotation _name_ as well as the annotation
152+
_value_.
153+
154+
The acceptable annotation names are defined by the `enable_annotations` entry in
155+
the configuration file.
156+
157+
For restricted annotations, an additional configuration entry provides a list of
158+
acceptable values. Since most restricted annotations are intended to control
159+
which binaries the runtime can execute, the valid value is generally provided by
160+
a shell pattern, as defined by `glob(3)`. The table below provides the name of
161+
the configuration entry:
162+
163+
| Key | Config file entry | Comments |
164+
|-------| ----- | ----- |
165+
| `ctlpath` | `valid_ctlpaths` | Valid paths for `acrnctl` binary |
166+
| `file_mem_backend` | `valid_file_mem_backends` | Valid locations for the file-based memory backend root directory |
167+
| `jailer_path` | `valid_jailer_paths`| Valid paths for the jailer constraining the container VM (Firecracker) |
168+
| `path` | `valid_hypervisor_paths` | Valid hypervisors to run the container VM |
169+
| `vhost_user_store_path` | `valid_vhost_user_store_paths` | Valid paths for vhost-user related files|
170+
| `virtio_fs_daemon` | `valid_virtio_fs_daemon_paths` | Valid paths for the `virtiofsd` daemon |

how-to/how-to-use-kata-containers-with-acrn.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ This document requires the presence of the ACRN hypervisor and Kata Containers o
2727

2828
- ACRN supported [Hardware](https://projectacrn.github.io/latest/hardware.html#supported-hardware).
2929
> **Note:** Please make sure to have a minimum of 4 logical processors (HT) or cores.
30-
- ACRN [software](https://projectacrn.github.io/latest/tutorials/kbl-nuc-sdc.html#use-the-script-to-set-up-acrn-automatically) setup.
30+
- ACRN [software](https://projectacrn.github.io/1.6/tutorials/kbl-nuc-sdc.html#use-the-script-to-set-up-acrn-automatically) setup.
3131
- For networking, ACRN supports either MACVTAP or TAP. If MACVTAP is not enabled in the Service OS, please follow the below steps to update the kernel:
3232

3333
```sh

how-to/how-to-use-virtio-mem-with-kata.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Please use following unofficial version of the Linux kernel and QEMU that suppor
2020
The Linux kernel is at https://github.com/davidhildenbrand/linux/tree/virtio-mem-rfc-v4.
2121
The Linux kernel config that can work with Kata Containers is at https://gist.github.com/teawater/016194ee84748c768745a163d08b0fb9.
2222

23-
The QEMU is at https://github.com/teawater/qemu/tree/kata-virtio-mem. (The original source is at https://github.com/davidhildenbrand/qemu/tree/virtio-mem. Its base version of QEMU cannot work with Kata Containers. So merge the commit of `virtio-mem` to upstream QEMU.)
23+
The QEMU is at https://github.com/teawater/qemu/tree/kata-virtio-mem. (The original source is at https://github.com/davidhildenbrand/qemu/tree/virtio-mem-vfio. Its base version of QEMU cannot work with Kata Containers. So merge the commit of `virtio-mem` to upstream QEMU.)
2424

2525
Set Linux and the QEMU that support `virtio-mem` with following line in the Kata Containers QEMU configuration `configuration-qemu.toml`:
2626
```toml

how-to/service-mesh.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ is not able to perform a proper setup of the rules.
7676

7777
### Service Mesh Istio
7878

79-
As a reference, you can follow Istio [instructions](https://istio.io/docs/setup/kubernetes/quick-start/#download-and-prepare-for-the-installation).
79+
As a reference, you can follow Istio [instructions](https://istio.io/latest/docs/setup/getting-started/#download-and-prepare-for-the-installation).
8080

8181
The following is a summary of what you need to install Istio on your system:
8282
```

install/docker/opensuse-leap-docker-install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ You can ignore the content of this comment.
77
88
```bash
99
$ echo "NOTE: this document is just a link to the generic openSUSE install guide located at:
10-
https://raw.githubusercontent.com/kata-containers/documentation/master/install/docker/opensuse-docker-install.md
10+
https://github.com/kata-containers/documentation/tree/master/install/docker/opensuse-docker-install.md
1111
1212
Please download this file and run kata-doc-to-script.sh again."
1313
```

install/docker/opensuse-tumbleweed-docker-install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ You can ignore the content of this comment.
77
88
```bash
99
$ echo "NOTE: this document is just a link to the generic openSUSE install guide located at:
10-
https://raw.githubusercontent.com/kata-containers/documentation/master/install/docker/opensuse-docker-install.md
10+
https://github.com/kata-containers/documentation/tree/master/install/docker/opensuse-docker-install.md
1111
1212
Please download this file and run kata-doc-to-script.sh again."
1313
```

install/installing-with-kata-doc-to-script.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ to generate installation bash scripts.
1717

1818
```bash
1919
$ source /etc/os-release
20-
$ curl -fsSL -O https://raw.githubusercontent.com/kata-containers/documentation/master/install/${ID}-installation-guide.md
20+
$ curl -fsSL -O https://github.com/kata-containers/documentation/tree/master/install/${ID}-installation-guide.md
2121
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/kata-containers/tests/master/.ci/kata-doc-to-script.sh) ${ID}-installation-guide.md ${ID}-install.sh"
2222
```
2323

@@ -33,7 +33,7 @@ $ bash "./${ID}-install.sh"
3333

3434
```bash
3535
$ source /etc/os-release
36-
$ curl -fsSL -O https://raw.githubusercontent.com/kata-containers/documentation/master/install/docker/${ID}-docker-install.md
36+
$ curl -fsSL -O https://github.com/kata-containers/documentation/tree/master/install/docker${ID}-docker-install.md
3737
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/kata-containers/tests/master/.ci/kata-doc-to-script.sh) ${ID}-docker-install.md ${ID}-docker-install.sh"
3838
```
3939

install/opensuse-leap-installation-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ You can ignore the content of this comment.
88
99
```bash
1010
$ echo "NOTE: this document is just a link to the generic openSUSE install guide located at:
11-
https://raw.githubusercontent.com/kata-containers/documentation/master/install/opensuse-installation-guide.md
11+
https://github.com/kata-containers/documentation/tree/master/install/opensuse-installation-guide.md
1212
1313
Please download this file and run kata-doc-to-script.sh again."
1414
```

0 commit comments

Comments
 (0)