首页 文章

集群间RBAC与服务帐户

提问于
浏览
0

我们的基础架构目前有2个Kubernetes群集,其中一个群集(群集1)在另一个群集(群集2)中创建群集 . 由于我们在kubernetes1.7.x上,我们能够完成这项工作 .

但是,1.8 Kubernetes增加了对RBAC的支持,因此我们无法再在新集群中创建pod .

我们已经添加了对服务帐户的支持,并确保正确设置了RoleBindings . 但主要问题是服务帐户不会在集群外传播(这是正确的) . 群集2接收请求的用户称为“客户端”,因此当我们将“客户端”作为用户添加到角色绑定时,一切正常 .

这肯定不是正确的解决方案,因为现在任何与Kubernetes API服务器通信的集群都可以创建一个pod .

是否支持跨群集的RBAC?或者,有没有办法将服务信息传播到我们想要创建pod的群集?

P.S . :我们的Kubernetes集群目前正在使用GKE . 但是,我们希望这适用于所有Kubernetes引擎 .

1 回答

  • 0

    您的cluster-1 SA使用kubecfg(对于cluster-2),该kubecfg解析为用户"client" . 解决此问题的唯一方法是生成一个kubecfg(用于cluster-2),其中包含与cluster-1 SA相关联的身份(证书/令牌) . 很多方法:https://kubernetes.io/docs/admin/authentication/

    最简单的方法是在cluster-2中创建一个相同的SA,并在cluster-1中的kubecfg中使用它的标记 . 仅将RBAC提供给该SA .

相关问题