Skip to content

Latest commit

 

History

History
116 lines (86 loc) · 5.19 KB

kata-containers-3.0-rust-runtime-installation-guide.md

File metadata and controls

116 lines (86 loc) · 5.19 KB

Kata Containers 3.0 rust runtime installation

The following is an overview of the different installation methods available.

Prerequisites

Kata Containers 3.0 rust runtime requires nested virtualization or bare metal. Check hardware requirements to see if your system is capable of running Kata Containers.

Platform support

Kata Containers 3.0 rust runtime currently runs on 64-bit systems supporting the following architectures:

Notes: For other architectures, see kata-containers#4320

Architecture Virtualization technology
x86_64 Intel VT-x
aarch64 ("arm64") ARM Hyp

Packaged installation methods

Installation method Description Automatic updates Use case Availability
Using kata-deploy The preferred way to deploy the Kata Containers distributed binaries on a Kubernetes cluster No! Best way to give it a try on kata-containers on an already up and running Kubernetes cluster. Yes
Using official distro packages Kata packages provided by Linux distributions official repositories yes Recommended for most users. No
Automatic Run a single command to install a full system No! For those wanting the latest release quickly. No
Manual Follow a guide step-by-step to install a working system No! For those who want the latest release with more control. No
Build from source Build the software components manually No! Power users and developers only. Yes

Kata Deploy Installation

Follow the kata-deploy.

Official packages

ToDo

Automatic Installation

ToDo

Manual Installation

ToDo

Build from source installation

Rust Environment Set Up

  • Download Rustup and install Rust

    Notes: For Rust version, please set RUST_VERSION to the value of languages.rust.meta.newest-version key in versions.yaml or, if yq is available on your system, run export RUST_VERSION=$(yq read versions.yaml languages.rust.meta.newest-version).

    Example for x86_64

    $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    $ source $HOME/.cargo/env
    $ rustup install ${RUST_VERSION}
    $ rustup default ${RUST_VERSION}-x86_64-unknown-linux-gnu
    
  • Musl support for fully static binary

    Example for x86_64

    $ rustup target add x86_64-unknown-linux-musl
    
  • Musl libc install

    Example for musl 1.2.3

    $ curl -O https://git.musl-libc.org/cgit/musl/snapshot/musl-1.2.3.tar.gz
    $ tar vxf musl-1.2.3.tar.gz
    $ cd musl-1.2.3/
    $ ./configure --prefix=/usr/local/
    $ make && sudo make install
    

Install Kata 3.0 Rust Runtime Shim

$ git clone https://github.com/kata-containers/kata-containers.git
$ cd kata-containers/src/runtime-rs
$ make && sudo make install

After running the command above, the default config file configuration.toml will be installed under /usr/share/defaults/kata-containers/, the binary file containerd-shim-kata-v2 will be installed under /usr/local/bin/ .

Install Shim Without Builtin Dragonball VMM

By default, runtime-rs includes the Dragonball VMM. To build without the built-in Dragonball hypervisor, use make USE_BUILDIN_DB=false:

$ cd kata-containers/src/runtime-rs
$ make USE_BUILDIN_DB=false

After building, specify the desired hypervisor during installation using HYPERVISOR. For example, to use qemu or cloud-hypervisor:

sudo make install HYPERVISOR=qemu

or

sudo make install HYPERVISOR=cloud-hypervisor

Build Kata Containers Kernel

Follow the Kernel installation guide.

Build Kata Rootfs

Follow the Rootfs installation guide.

Build Kata Image

Follow the Image installation guide.

Install Containerd

Follow the Containerd installation guide.