防止用户在OpenShift / OKD集群上创建项目
从下面的链接下载并以PDF格式支持本文。
theロード下载PDF指南
关门
如果您有一个新创建的OpenShift / OKD Kubernetes集群,则用户可以默认创建项目/名称空间,而无需咨询集群管理员。对于大多数配置,应禁用此功能,以防止滥用群集的计算资源。此外,开发人员需要遵循正确的过程将应用程序部署到OpenShift集群环境。
本指南介绍了如何防止登录用户自行创建项目。相反,您会看到一条消息,指示您向相关团队发送电子邮件以创建项目,并获得使用该项目的授权。
您需要一个符合本指南要求的OpenShift容器环境。查看我们有关如何创建OpenShift集群的指南:
使用CodeReady容器设置本地OpenShift 4集群
如何在CentOS 7上设置本地OpenShift Origin(OKD)集群
如何使用minishift运行本地Openshift集群
在OpenShift中禁用项目自配置
首先,使用以下命令查看自我配置的群集角色绑定的用法。
$ oc describe clusterrolebinding.rbac self-provisioners
----
Name: self-provisioners
Labels:
Annotations: rbac.authorization.kubernetes.io/autoupdate: true
Role:
Kind: ClusterRole
Name: self-provisioner
Subjects:
Kind Name Namespace
---- ---- ---------
Group system:authenticated:oauth
必须删除 自我配置 组系统中的群集角色:已验证:oauth:
oc patch clusterrolebinding.rbac self-provisioners -p '{"subjects": null}'
您应该获得以下输出:
clusterrolebinding.rbac.authorization.k8s.io/self-provisioners patched
如果自配置群集角色绑定将自配置角色绑定到的用户,组或服务帐户的数量超过系统:authenticated:oauth group,请执行以下命令。
oc adm policy
remove-cluster-role-from-group self-provisioner
system:authenticated:oauth
您可以使用以下命令直接应用补丁:
oc patch clusterrolebinding.rbac self-provisioners -p '{ "metadata": { "annotations": { "rbac.authorization.kubernetes.io/autoupdate": "false" } } }'
查看自配置群集角色绑定的内容。
oc edit clusterrolebinding.rbac self-provisioners
该值必须设置如下 错了
..... metadata: annotations: rbac.authorization.kubernetes.io/autoupdate: "false" .....
以经过身份验证的用户身份登录,并确认您不能自行设置项目。
$ oc new-project test
Error from server (Forbidden): You may not request a new project via this API.
使用OpenShift自定义项目请求消息
您需要自定义OpenShift用户尝试从CLI或Web控制台创建项目时出现的消息。
从CLI
以具有cluster-admin特权的用户身份登录,然后编辑project.config.openshift.io/cluster资源。
$ oc edit project.config.openshift.io/cluster
使用自定义消息的值更新projectRequestMessage参数。
projectRequestMessage: "To request a project, contact OpenShift Admin Team at [email protected]"
从网络仪表板
打开OpenShift Web控制台, 行政管理 → 集群设置 页面。
请点击 全局配置 显示所有配置资源。
查找条目 该项目
请点击 YAML 编辑它。
projectRequestMessage: "To request a project, contact OpenShift Admin Team at [email protected]"
保存更改后。用户可以尝试以开发者或服务帐户的身份创建一个新项目,并且该请求将不被处理。用户收到您刚刚设置的自定义消息。
OpenShift和Kubernetes详细信息:
使用Cephfs的Kubernetes的Ceph永久存储
使用Ceph RBD的Kubernetes持久存储
用于运行Kubernetes的最小的容器操作系统
如何使用NodePort安装Kubernetes仪表板
如何创建管理员用户以访问Kubernetes仪表板
从下面的链接下载并以PDF格式支持本文。
theロード下载PDF指南
关门