6.3. 设置专用命名空间
为防止裸机即服务(BMaaS)工作负载和 OpenShift Container Platform 基础架构之间的意外干扰,请设置专用命名空间。为每个 BMaaS 项目重复此步骤。
先决条件
流程
在身份提供程序中配置 BMaaS
bmadmin用户,并在 OpenShift 中创建 secret:在身份提供程序中创建
bmadmin用户。例如,如果使用htpasswd身份提供程序,请运行以下命令:htpasswd -c -B -b ./users_htpasswd <username> <password>
$ htpasswd -c -B -b ./users_htpasswd <username> <password>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - <username>
-
身份提供程序的用户名。将
<username>替换为您的首选用户名。本例使用bmadmin。 - <password>
-
用户的密码。将
<password>替换为安全的密码。
运行以下命令,在
openshift-config命名空间中创建 secret 来存储身份提供程序配置:oc create secret generic <identity_provider_arguments> -n openshift-config
$ oc create secret generic <identity_provider_arguments> -n openshift-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例如,在使用
htpasswd身份提供程序时,运行以下命令:oc create secret generic htpass-secret --from-file=htpasswd=users_htpasswd -n openshift-config
$ oc create secret generic htpass-secret --from-file=htpasswd=users_htpasswd -n openshift-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow - <identity_provider_arguments>
-
特定于身份提供程序 secret 的参数。将
<identity_provider_arguments>替换为身份提供程序的适当参数。
配置 OAuth 以使用身份提供程序:
运行以下命令来编辑 OAuth 资源:
oc edit oauth cluster
$ oc edit oauth clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑器会打开并显示 Oauth 资源。
将身份提供程序配置添加到
spec.identityProviders列表中:Expand 表 6.1. 身份提供程序配置示例 类型 Example htpasswd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow LDAP
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GitHub
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关标识提供程序的更多信息,请参阅 身份验证和授权。
- 保存并退出编辑器。
运行以下命令来创建 BMaaS
bmadmin用户:oc create user <username>
$ oc create user <username>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - <username>
-
用户名。将
<username>替换为您的用户名。以下示例使用bmadmin作为用户名。
运行以下命令,为 BMaaS 主机创建一个专用的
bmaas命名空间:oc new-project <namespace>
$ oc new-project <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <namespace>-
将 <namespace> 替换为您要使用的命名空间名称。这个示例使用
bmaas。
运行以下命令,将
edit角色分配给bmaas命名空间中的 BMaaSbmadmin用户:oc adm policy add-role-to-user edit <username> -n bmaas
$ oc adm policy add-role-to-user edit <username> -n bmaasCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令克隆
baremetal-operator存储库,以获取基于角色的访问控制(RBAC)角色定义:git clone -b release-4.20 https://github.com/openshift/baremetal-operator.git
$ git clone -b release-4.20 https://github.com/openshift/baremetal-operator.gitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于您要添加的每个角色,运行以下命令来从存储库应用适当的 RBAC 角色 YAML 文件:
oc apply -f baremetal-operator/config/base/rbac/<role_filename>.yaml
$ oc apply -f baremetal-operator/config/base/rbac/<role_filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将自定义 RBAC 角色分配给
bmaas命名空间中的 BMaaSbmadmin用户:oc adm policy add-role-to-user <role_name> bmadmin -n bmaas
$ oc adm policy add-role-to-user <role_name> bmadmin -n bmaasCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,以
bmadmin用户身份登录:oc login <api_server_url>:6443
$ oc login <api_server_url>:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow <api_server_url>- Kubernetes API 的 URL。