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.
Configuration of Kubelet to utilize frakti runtime:
sed -i '2 i\Environment="KUBELET_EXTRA_ARGS=--container-runtime=remote --container-runtime-endpoint=/var/run/frakti.sock --feature-gates=AllAlpha=true"' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctldaemon-reload
Master Configuration
kubeadminitkubeadminit--pod-network-cidr10.244.0.0/16--kubernetes-versionlatest# Optional: enable schedule pods on the masterexport KUBECONFIG=/etc/kubernetes/admin.confkubectltaintnodes--allnode-role.kubernetes.io/master:NoSchedule-
Node Configuration
# get token on master nodetoken=$(kubeadmtokenlist|grepauthentication,signing|awk'{print $1}')# join master on worker nodeskubeadmjoin--token $token ${master_ip}
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:
# on masteriprouteadd10.244.2.0/24via10.140.0.2iprouteadd10.244.3.0/24via10.140.0.3# on node-1iprouteadd10.244.1.0/24via10.140.0.1iprouteadd10.244.3.0/24via10.140.0.3# on node-2iprouteadd10.244.1.0/24via10.140.0.1iprouteadd10.244.2.0/24via10.140.0.2