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-config
Copy 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-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - <identity_provider_arguments>
-
特定于身份提供程序 secret 的参数。将
<identity_provider_arguments>
替换为身份提供程序的适当参数。
配置 OAuth 以使用身份提供程序:
运行以下命令来编辑 OAuth 资源:
oc edit oauth cluster
$ oc edit oauth cluster
Copy 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 bmaas
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令克隆
baremetal-operator
存储库,以获取基于角色的访问控制(RBAC)角色定义:git clone -b release-4.19 https://github.com/openshift/baremetal-operator.git
$ git clone -b release-4.19 https://github.com/openshift/baremetal-operator.git
Copy 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>.yaml
Copy 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 bmaas
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,以
bmadmin
用户身份登录:oc login <api_server_url>:6443
$ oc login <api_server_url>:6443
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <api_server_url>
- Kubernetes API 的 URL。