授权命名空间
在独享弹性容器集群中,主账号可将集群资源分别授权给多个子账号,各子账号可在其被分配的命名空间(Namespace)内进行资源管理。此外,主账号还支持将某一子账号(如:账号B)的命名空间资源授权给其他子账号(如:账号A),实现资源的灵活共享与隔离。操作详情如下所示。
前提条件
- 用户已开通独享型弹性容器集群,且集群可正常使用。如尚未开通,可参考开通弹性容器集群完成开通。
- 用户已被授权对应的VKS(弹性容器集群 ),企业主账号可参考授权弹性容器集群完成授权。
- 用户已安装命令行工具(kubectl),如用户尚未安装,可参考安装命令行工具(kubectl)完成安装。
重要
授权命名空间功能当前仅适用于独享型弹性容器集群,其他类型集群暂不支持该特性。
操作步骤
操作示例用到的用户信息如下所示,在实际的授权操作中请将用户信息替换为待授权用户的信息。
账号名称 | 账号角色 | Kubeconfig | 用户ID |
---|---|---|---|
企业主账号 | 管理集群资源 | 主账号集群连接文件 | - |
子账号A | 被授权账号 | A账号的集群连接文件 | 55ccf221-5e19-4e79-832f-355xxxxxxxxx |
子账号B | 授权账号 | B账号的集群连接文件 | f0d1dc27-d9ce-43db-b103-8e9xxxxxxxxx |
-
子账号B使用已注册的账号登录Alaya NeW平台,点击[产品/弹性容器集群]菜单项,进入弹性容器集群产品概览页面。
-
在产品概览页面,单击“集群管理”按钮,进入集群管理列表页面,找到已被分配的弹性容器集群,单击操作列的“kubeconfig下载”,参照使用弹性容器集群完成集群连接文件解压及集群连接。
-
子账号B运行如下所示的命令,获取RoleBinding
yaml
文件,如下图所示,然后保存该yaml
文件。kubectl get rolebinding -n [userID] -o yaml
示例如下所示。
kubectl get rolebinding -n f0d1dc27-d9ce-43db-b103-8e9c5c620253 -o yaml
-
编辑已下载的
yaml
文件,将上图高亮部分替换为子账号A的用户ID,编辑完成后,保存yaml
文件。 -
企业主账号参照使用弹性容器集群完成主账号集群连接文件解压及集群连接,运行如下所示的命令部署已保存的
yaml
文件,如下图所示。kubectl apply -f [yaml文件路径]
示例如下所示。
kubectl apply -f "C:\Users\zetyun\Downloads\资源文件\userb"
-
完成授权后,子账号A即可使用子账号B的NameSpace资源,例如下图所示。
信息图中高亮①命令如下所示,用于创建一个ClusterIP类型的Kubernetes Service。
kubectl create service [OPTIONS] TYPE NAME [--tcp=<port>:<targetPort>]