虚拟 Kubernetes
k3v 是一个专用的虚拟 Kubernetes 控制平面。 启动 pod 时,它们会在另一个集群中启动。 k3v 使用真实 Kubernetes 集群的计算、存储和网络资源。这使得我们可以将一个物理 Kubernetes 集群切分为多个小型虚拟集群。此外,理论上,一个虚拟集群可以跨多个物理集群。
./k3v --kubeconfig someconfig.yaml
```
如果您的 kube config 位于标准的 `$HOME/.kube/config` 中,则不需要参数。
3. 一旦启动 k3v,它将创建一个名为 `./k3v-data` 的本地文件夹,其中包含虚拟 Kubernetes 状态。此外,还将创建 `./kubeconfig.yaml` 文件。
4. 使用 `./kubeconfig.yaml` 与 k3v 进行交互
1. 提高安全性/多租户能力 2. 更好地将基础设施和自定义控制器(操作员)之间的关注点分离 3. 可以封装复杂的基于 k8s 的应用
Kubernetes 中的多租户模式存在多个难点。 首先,您必须信任容器的安全性。 这意味着一个不良的邻居无法攻击另一个邻居。 虚拟集群无法解决这个问题。 要解决这个问题,您需要信任容器或利用其他技术,如 gvisor 或 katacontainers。 第二个、更根本的问题是,Kubernetes 的附加面积对于多租户模式来说太大了。 目前,实现多租户模式的唯一方法是不允许用户执行绝大多数 Kubernetes 操作。 要确保各种 API 不会暴露某些问题,是非常困难的。 但是,限制访问意味着最终用户无法利用很多功能。暂无开放 Issues,或尚未同步最近议题。