- firecracker: Setup rootfs to be RO - firecracker: Upgrade firecracker to 0.16.0 - Add virtio-fs support (alternative to virtio-9p) - virtcontainers: fix invalid CPU topology - Firecracker: Fix kernel command line parameters - Firecracker: update to version v0.15.2 - devices: Skip floppy drives while passing devices to guest - Add test skip utils - firecracker: Add support for v0.15.x - firecracker: Add support for default VM configuration - build: Fix virtcontainers static check make target - virtcontainers: Use shim to print the agent logs if there is no proxy - shim v2: fix set status when container exit - cli: do not fail on list when some containers bust - versions: Bump NEMU version to latest release - Revert "vc: change container rootfs to be a mount" - Add agent trace support - network: pass network interface RawFlags to agent - Fix markdown - Fix parallel make - Update golang to 1.12.3 - vc: change container rootfs to be a mount - persist: baseline persist data format - factory: Add new factory option template_path - vc: remove BlockIndex from container state - factory: Check if vm templateing is on before vm templateing initialize5e9cb48firecracker: Setup rootfs to be RO93e6ad1firecracker: Upgrade firecracker to 0.16.00a69eb8kata-env: add SharedFS option to output75f7586virtiofs: Add cache option6767c1avirtiofs: Add cache size option82d1a9dkata_agent: use virtio-fs shared dir in CreateSandbox9480978qemu: add vhost-user-fs-pci device instead of 9pc155775Firecracker: Fix kernel command line parametersb496f3ffirecracker: Add support for default VM configurationf75b7fefirecracker: Add support for v0.15.x23f7cfatests: Update test code to use test constraints8e144e0pkg: Add test constraints featured690dffconfig: add virtio_fs_daemon string9e87fa2config: add shared_fs option0217077vendor: update govmm9f87e78build: Fix virtcontainers static check make targetfa5de87virtcontainers: fix invalid CPU topologyb7f51becli: do not fail on list when some containers bust854cc86shimv2: fix set status when container exit582f20fvirtcontainers: Use shim to print the agent logs if there is no proxyda0ae03versions: Bump NEMU version to latest releaseed64240agent: Support Kata agent tracingb573d9bvendor: Update for agent tracing and fix issuesb309dc5agent: Provide explicit config options for the agent87d9171utils: Remove code duplicationed248ceshim: Removed unused type and correct error message97beb2berrors: Create a new standard error for invalid confige803a7fagent: Return an error, not just an interfacebc9b9e2vc: Revert "vc: change container rootfs to be a mount"dd0808anetwork: pass network interface RawFlags to agent196661bvc: change container rootfs to be a mount989b373docs: fix lisence header to 20193262da0bugfix: fix potential panic9bd4e50store: address comments0f52c8btest: add unit test for new FS storage driver02f2122test: fix unit teste40dcb9storage: set new storage driver as "experimental"504c706storage: address comments6e4149dpersist: save and restore state from persist.json039ed4epersist: persist device datab42fde6persist: demo code for persist apie14ffb4persist: baseline persist data format0549a70factory: Add new factory option template_pathf6b8387devices: Skip floppy drives while passing devices to guest82d105fdoc: Fix markdown1a0a4bcdoc: Fix broken internal link92edeb1doc: Simplify note2037286vc: remove BlockIndex from container state76a5076template: Add check if vm template is on before vm template initialize8097c54Firecracker: update to version v0.15.253ebe51build: fix race between 'clean' and generated files7949cd6build: turn COMMIT into a file dependency0f7bb25build: extract config-generated.go.in from Makefile1eb5d6cbuild: use MAKEFILE_LIST for a more complete Makefile dependencybbf9253build: add VERSION dependency to netmon targetb20fd9dbuild: remove duplicated COLLECT_SCRIPT from cleane26f342build: Update golang to 1.12.3 Signed-off-by: katacontainersbot <katacontainersbot@gmail.com>
Runtime
This repository contains the runtime for the Kata Containers project.
For details of the other Kata Containers repositories, see the repository summary.
- Introduction
- License
- Platform support
- Download and install
- Quick start for developers
- Architecture overview
- Configuration
- Logging
- Debugging
- Limitations
- Community
- Further information
Introduction
kata-runtime, referred to as "the runtime", is the Command-Line Interface
(CLI) part of the Kata Containers runtime component. It leverages the
virtcontainers
package to provide a high-performance standards-compliant runtime that creates
hardware-virtualized containers.
The runtime is OCI-compatible, CRI-O-compatible, and Containerd-compatible, allowing it to work seamlessly with both Docker and Kubernetes respectively.
License
The code is licensed under an Apache 2.0 license.
See the license file for further details.
Platform support
Kata Containers currently works on systems supporting the following technologies:
- Intel VT-x technology.
- ARM Hyp mode (virtualization extension).
- IBM Power Systems.
- IBM Z mainframes.
Hardware requirements
The runtime has a built-in command to determine if your host system is capable of running a Kata Container:
$ kata-runtime kata-check
Note:
If you run the previous command as the
rootuser, further checks will be performed (e.g. it will check if another incompatible hypervisor is running).
Download and install
See the installation guides available for various operating systems.
Quick start for developers
See the developer guide.
Architecture overview
See the architecture overview for details on the Kata Containers design.
Configuration
The runtime uses a TOML format configuration file called configuration.toml.
The file contains comments explaining all options.
Note:
The initial values in the configuration file provide a good default configuration. You might need to modify this file if you have specialist needs.
Since the runtime supports a
stateless system,
it checks for this configuration file in multiple locations, two of which are
built in to the runtime. The default location is
/usr/share/defaults/kata-containers/configuration.toml for a standard
system. However, if /etc/kata-containers/configuration.toml exists, this
takes priority.
The command below lists the full paths to the configuration files that the runtime attempts to load. The first path that exists is used:
$ kata-runtime --kata-show-default-config-paths
Aside from the built-in locations, it is possible to specify the path to a
custom configuration file using the --kata-config option:
$ kata-runtime --kata-config=/some/where/configuration.toml ...
The runtime will log the full path to the configuration file it is using. See the logging section for further details.
To see details of your systems runtime environment (including the location of the configuration file being used), run:
$ kata-runtime kata-env
Logging
The runtime provides --log= and --log-format= options. However, the
runtime always logs to the system log (syslog or journald).
To view runtime log output:
$ sudo journalctl -t kata-runtime
For detailed information and analysis on obtaining logs for other system components, see the documentation for the kata-log-parser tool.
Debugging
See the debugging section of the developer guide.
Limitations
See the limitations file for further details.
Community
Contact
See how to reach the community.
Further information
See the project table of contents and the documentation repository.