jacksonfang 看了上次Kubesphere 3.1的演示,在Kubeedge对接的这一部分,演示中表示只能有平台管理员来管理边缘平台的节点,在我们公司的场景中,存在大量小租户的共享一个集群的情况,他们各自都会有自己的边缘节点,要求彼此之间不相互影响,目前的方式存在如下的问题: 为了管理边缘节点,需要新开一套k8s集群,对于小规模租户,云上资源消耗较多 只有平台管理员才能添加边缘节点,这个权限一般不会给租户的运维人员开发,导致后续添加和删除节点的操作都需要平台管理员介入,管理不方便 一个租户只能看到自己管理的边缘节点,后台保证边缘节点操作的隔离性, 演示中Kubeedge可以给自己打上Label,拥有很高的权限,在实际情况下,边缘节点在用户侧,无法完全受到平台管理员的控制,要尽可能降低边缘节点的权限
jacksonfang 目前我们这边在思考具体的实现并且有了一个粗略的实现方式 对于边端节点,通过节点名称来区分属于不同的租户,后台通过Controller来给对应的节点打上所属租户的Label,避免边缘端直接给自身打上Label 在企业空间页面增加边缘节点这一菜单,用于管理企业空间的边缘节点 所有对边缘节点的部署操作都需要在apiserver中进行校验,防止用户错误部署到其他租户的边缘节点
benjaminhuo 你的提议和 kubesphere 现有租户模型冲突,现有的租户模型默认就不是按节点划分的,是按ns 组织起来的ws 划分。 节点隔离租户的方式会有一些实际的问题,比如涉及到工作负载的调度,怎么知道这个租户有权限调度到哪些节点等等问题
jacksonfang 这是因为传统的Kubernetes在云上的节点是共有资源,可以多租户共享,但是在边缘计算时,边缘节点一般属于一个特定租户的(自己掏钱买的),不太可能作为集群共享的资源,对于工作负载调度等问题,租户添加的node都会在上面打上租户对应的label,可以在后台强制对边缘计算的工作负载添加nodeSelector等措施来保证,这个我觉得不是问题