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的网络路由可以这么配置:

参考文档

最后更新于