Frakti

Introduction

Frakti serves as a revolutionary runtime based on Kubelet CRI that provides hypervisor-level isolation. It proves to be especially beneficial when running untrusted applications and in multi-tenant scenarios. Frakti has ingeniously invented a mixed runtime:

  • Privileged containers operate just like Docker containers

  • While standard containers run within VMs using the hyper container method

Allinone Installation Guide

Frakti extends the convenience of an installation script that kick-starts a local Kubernetes plus Frakti cluster on either Ubuntu or CentOS platforms within one click.

curl -sSL https://github.com/kubernetes/frakti/raw/master/cluster/allinone.sh | bash

Cluster Deployment

First off, make sure to install hyperd, docker, frakti, CNI and kubelet on all machines.

Installation of hyperd

Ubuntu 16.04+:

apt-get update && apt-get install -y qemu libvirt-bin
curl -sSL https://hypercontainer.io/install | bash

CentOS 7:

Hyperd Configuration:

Docker Installation

Ubuntu 16.04+:

CentOS 7:

Starting Docker:

Installation of frakti

Installation of CNI

Ubuntu 16.04+:

CentOS 7:

CNI network configuration (Note)

  • Currently, frakti only supports the bridge plugin

  • The Pod subnet should not be the same on all machines, for instance, the master can use 10.244.1.0/24, while the first Node can use 10.244.2.0/24

Installation of Kubelet

Ubuntu 16.04+:

CentOS 7:

Configuration of Kubelet to utilize frakti runtime:

Master Configuration

Node Configuration

CNI Network Routing Configuration

In cluster mode, direct routing needs to be configured for the container network. Assume there is a master and two Nodes:

CNI network routes can be configured like this:

Additional Resources

最后更新于