美文网首页
kubeflow中文文档-v0.6 多用户隔离 Multi-us

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

作者: Jayce_xi | 来源:发表于2019-09-27 17:53 被阅读0次

官方文档-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是一一对应的,所以在以下文档中这个两个名词可能会进行混用。

  • 用户可以从kubeflow控制面板中的上部选择namespaceprofile,因为这两个资源的名字相同,可以认为是多用户隔离中的一个标志)。一个用户只会看到他自己有权限(可读或者可写都可以)的namespace

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

  • 当用户选择了一个namespace,Notebooks Servers UI 将只显示相应namespace下的notebook。其他的notebook对于这个namespace下的用户是隐藏状态。
  • 当一个没有授权的用户去查看这个页面的时候就会报错:

用户可以通过这个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集群中拥有管理员权限的用户,这个用户拥有在这个集群中创建任意资源的权利。

  • 自动创建profile
    kubeflow v0.6.2提供了自动创建profile功能。
    • 在kubeflow部署过程中会自动的为部署的用户创建一个profile。当这个用户登录到这个控制面板时直接就能看到他的profile(在namespace中可以看到,这两个资源同名)。
    • 当一个用户第一次登入到控制面板时,就会出发一次profile的自动创建,会有如下引导。
      • 为你的profile取一个名字

相关文章

网友评论

      本文标题:kubeflow中文文档-v0.6 多用户隔离 Multi-us

      本文链接:https://www.haomeiwen.com/subject/htrauctx.html