防止用户在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控制台, 行政管理集群设置 页面。

请点击 全局配置 显示所有配置资源。

防止用户在OpenShift / OKD集群上创建项目

查找条目 该项目

防止用户在OpenShift / OKD集群上创建项目

请点击 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指南

关门


Sidebar