Frakti

簡介

Frakti是一個基於Kubelet CRI的運行時,它提供了hypervisor級別的隔離性,特別適用於運行不可信應用以及多租戶場景下。Frakti實現了一個混合運行時:

  • 特權容器以Docker container的方式運行

  • 而普通容器則以hyper container的方法運行在VM內

Allinone安裝方法

Frakti提供了一個簡便的安裝腳本,可以一鍵在Ubuntu或CentOS上啓動一個本機的Kubernetes+frakti集群。

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

集群部署

首先需要在所有機器上安裝hyperd, docker, frakti, CNI 和 kubelet。

安裝hyperd

Ubuntu 16.04+:

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

CentOS 7:

配置hyperd:

安裝docker

Ubuntu 16.04+:

CentOS 7:

啓動docker:

安裝frakti

安裝CNI

Ubuntu 16.04+:

CentOS 7:

配置CNI網絡,注意

  • frakti目前僅支持bridge插件

  • 所有機器上Pod的子網不能相同,比如master上可以用10.244.1.0/24,而第一個Node上可以用10.244.2.0/24

安裝Kubelet

Ubuntu 16.04+:

CentOS 7:

配置Kubelet使用frakti runtime:

配置Master

配置Node

配置CNI網絡路由

在集群模式下,需要爲容器網絡配置直接路由,假設有一臺master和兩臺Node:

CNI的網絡路由可以這麼配置:

參考文檔

Last updated