kubeflow中文文档-v0.6 多用户隔离 Multi-us

2019-09-27  本文已影响0人  Jayce_xi

官方文档-Multi-user Isolation

1. 什么是多用户隔离(Multi-user Isolation)

多用户隔离是对不同用户之间使用资源的隔离。在kubeflow v0.6以上的版本,kubeflow支持的在kubeflow部署中对用户创建的资源进行多用户隔离。这个功能额主要目的是是多个用户可以共享一个集群上的kubeflow但是不会影响彼此创建的资源。隔离机制还可以防止意外删除/修改部署中其他用户的资源。当然需要注意一点:kubeflow并没有提供一个安全的多用户隔离的机制,用户还是可以通过namespace来恶意渗透到其他用户的个人资料当中

2.使用概述

kubeflow中的profile 资源会与k8s中 namesapce会拥有相同的名字。每一个用户都会创建一个自己的profile资源。一个用户可以与其他用户分享自己的profile。当一个用户分享自己的profile与其他用户时可以决定分享只读权限或者是可写权限。

一个profile的示例:

$ cat << EOF > profile.yaml
apiVersion: kubeflow.org/v1alpha1
kind: Profile
metadata:
  name: profileName   # replace with the name of profile you want
spec:
  owner:
    kind: User
    name: userid@email.com   # replace with the email of the user
EOF

在kubeflow central dashboard中,我们可以看到namespaceprofile是互相绑定的。

3.例子

注意⚠️:由于profile和Kubernetes 中的namespace是一一对应的,所以在以下文档中这个两个名词可能会进行混用。

Jupyter notebooks服务是第一个完全集成多用户隔离功能的服务,后面将以它作为例子来讲。

用户可以通过这个UI界面去创建一个新的Jupyter notebook server,而这个Jupyter notebook server的pod就会建立在这个'namespace'底下。用户对于自己的'namespace'是拥有着读和创建的权利,但是对于只读权限的namespace,就只能读而不能创建新的Jupyter notebook server。

4.在页面上创建一个新用户

kubeflow v0.6.2提供了在用户登录成功时自动创创建profile的功能。并且一个管理员用户(administrator)可以在kubeflow集群中为任何用户创建profile
解释一下,管理员用户(administrator)就是Kubernetes集群中拥有管理员权限的用户,这个用户拥有在这个集群中创建任意资源的权利。

上一篇下一篇

猜你喜欢

热点阅读