- versions: Update cri-o to fix race condition test. - network: Add test for VhostUserEndpoint Attach() - logging: Add containerID and sandboxID to all log calls - versions: Update kernel to version 4.14.51 - network: Use pointer for VhostUserNetDevice for Attach - [RFC] makefile: honor DESTDIR flag. - cli: kata-check if SMT is off on POWER8 systems - virtcontainer : sconstification of constifiable vars - ci: Fix static checks call. - kata_agent: fix connection race - test: supplement test cases for kata-check and kata-env in Arm64 - qemu: clean up qmp channel - sandbox: expose share sandbox pidns setting - versions: update supported docker version - cli: add no-pivot flag to be compatible with docker in ramdisk - virtcontainers : fix shared dir resource remaining - docs: update debug runtime link - Versions: Add CNI plugins version - network: Always bind back physical interfaces - subsystem: cli - docs: fix invalid urls - shm: Create shared /dev/shm - docs: Fix invalid URLs - CI: Enable Travis-CI for linux-ppc64le - Fix golint ppc64le issues and eventually Travis-CI - cpuinfo/arm64: Refine CPUInfo in Arm64 - docs: Update README with Power Support - ppc64le: Restrict maxmem to avoid HTAB allocation failure - make sure kataAgent/createContainer can decode old specs.Spec - arch/arm64: Fix ARM64 build - virtcontainers: Remove unnecessary kernel parameters for ppc64le - Enable Kata container on ppc64le arch - unittest: tiny fix for incorrect parameters - Update the README.md so showing that containerd is supported - Fix pause-remove container - virtcontainers/api: use RW lock to update containers - Share pid namespace - config: Show which config file loaded150bcafnetwork: Add test for VhostUserEndpoint Attach()aeea3f6versions: Update cri-o to fix racy test.a3ce121logging: Add containerID and sandboxID to all log calls510b333network: Use pointer for VhostUserNetDevice for Attach44c8901versions: Update kernel to version 4.14.51f890ffdcli: kata-check if SMT is off on POWER8 systems9d709cdci: Fix static checks call.ee33245kata_agent: fix connection racef2096f1test: supplement test cases for kata-check and kata-env in Arm6439bc5abmakefile: honor DESTDIR flag.2b94252sandbox: expose share sandbox pidns setting8f329dbqemu: clean up qmp channel2d65499virtcontainer: sconstification of constifiable vars6b496e4cli: add no-pivot flag to be compatible with docker in ramdisk59adb6eversions: update supported docker version8a6d383virtcontainers : fix shared dir resource remainingdeaf1e3docs: update debug runtime link50579d0Versions: Add CNI plugins versiona31dd49cni: Use the vendored version of CNI plugins to install binaries0806dccnetwork: Drop mounted parameter in call to deleteNetNSf2d9632network: Always bind back physical interfaces45d0816docs: fix invalid urls7069045subsystem: clic2397a0CI: Enable Travis-CI for x86 linux and linux-ppc64led6b956acli: Add kata-check_ppc64le_test file4824669cli: Fix TestCheckCLIFunctionFail failure on ppc64lebb0488evirtcontainers: Fix comment causing golint issue4d470e5shm: Create shared /dev/shm 92470fb docs: Fix invalid URLs44b9950docs: Update README with Power Support7757dcecpuinfo/arm64: Refine CPUInfo in Arm643b20aebppc64le: Restrict maxmem to avoid HTAB allocation failure2796b19virtcontainers: Remove unnecessary kernel parameters for ppc64le6e161a2arch/arm64: Fix ARM64 build9a0434dvirtcontainers: make kataAgent/createContainer can decode old specs.Specc10db01unittest: tiny fix for incorrect parametersca9f571subsystem: docsdf05b2ccli: fix pause-remove containerb99cadbvirtcontainers: add pause and resume container to the APIe14eab0runtime: Add testcases for ppc64le and arm6412e4dbecli: Leverage the new support for ppc64lebaa553dvirtcontainers: Get qemu suppport for ppc64le4276c0cvirtcontainers/cli: refactor code7d435b8virtcontainers/api: use RW lock to update containers704d713test: Fix tests to include pause/resume api changesd885782namespace: Check if pid namespaces need to be shared6d391c4vendor: Vendor in agent protocol changes.054a8ceconfig: Show which config file loaded Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.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
- Quick start for users
- 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:
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):$ sudo kata-runtime kata-check
Quick start for users
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.