6.3. 전용 네임스페이스 설정
Bare Metal as a Service(BMaaS) 워크로드와 OpenShift Container Platform 인프라 간의 우발적인 간섭을 방지하려면 전용 네임스페이스를 설정하세요. 모든 BMaaS 프로젝트에 대해 이 절차를 반복합니다.
사전 요구 사항
프로세스
ID 공급자에서 BMaaS
bmadmin사용자를 구성하고 OpenShift에서 시크릿을 생성합니다.ID 공급자에서
bmadmin사용자를 생성합니다. 예를 들어htpasswdID 공급자를 사용하는 경우 다음 명령을 실행합니다.$ htpasswd -c -B -b ./users_htpasswd <username> <password>- <username>
-
ID 공급자의 사용자 이름입니다.
<username>을 원하는 사용자 이름으로 바꾸세요. 이 예에서는bmadmin을 사용합니다. - <password>
-
사용자의 비밀번호입니다.
<password>를 안전한 비밀번호로 바꾸세요.
다음 명령을 실행하여 ID 공급자 구성을 저장할
openshift-config네임스페이스에 시크릿을 만듭니다.$ oc create secret generic <identity_provider_arguments> -n openshift-config예를 들어
htpasswdID 공급자를 사용하는 경우 다음 명령을 실행합니다.$ oc create secret generic htpass-secret --from-file=htpasswd=users_htpasswd -n openshift-config- <identity_provider_arguments>
-
ID 공급자 시크릿에 대한 특정 인수입니다.
<identity_provider_arguments>를 해당 ID 공급자에 적합한 인수로 바꾸세요.
OAuth를 구성하여 ID 공급자를 사용합니다.
다음 명령을 실행하여 OAuth 리소스를 편집합니다.
$ oc edit oauth cluster편집기가 열리고 Oauth 리소스가 표시됩니다.
spec.identityProviders목록에 ID 공급자 구성을 추가합니다.Expand 표 6.1. ID 공급자 구성 예 유형 예제 htpasswd
# ... - name: my_bmaas_provider mappingMethod: claim type: htpasswd htpasswd: fileData: name: <secret> # ...LDAP
# ... - name: my_bmaas_provider mappingMethod: claim type: ldap ldap: attributes: id: - dn email: - mail name: - cn preferredUsername: - uid # ...GitHub
# ... - name: my_bmaas_provider mappingMethod: claim type: GitHub github: ca: name: ca-config-map clientID: {...} clientSecret: name: github-secret hostname: ... organizations: - myorganization1 - myorganization2 teams: - myorganization1/team-a - myorganization2/team-b # ...ID 공급자에 대한 자세한 내용은 인증 및 권한 부여를 참조하세요.
- 저장하고 편집기를 종료합니다.
다음 명령을 실행하여 BMaaS
bmadmin사용자를 만듭니다.$ oc create user <username>- <username>
-
사용자 이름.
<사용자 이름>을사용자 이름으로 바꾸세요. 다음 예에서는 사용자 이름으로bmadmin을사용합니다.
다음 명령을 실행하여 BMaaS 호스트에 대한 전용
bmaas네임스페이스를 만듭니다.$ oc new-project <namespace><namespace>-
<namespace>를 사용하려는 네임스페이스 이름으로 바꾸세요. 이 예에서는
bmaas 를사용합니다.
다음 명령을 실행하여
bmaas네임스페이스의 BMaaSbmadmin사용자에게편집역할을 할당합니다.$ oc adm policy add-role-to-user edit <username> -n bmaas다음 명령을 실행하여
baremetal-operator저장소를 복제하여 역할 기반 액세스 제어(RBAC) 역할 정의를 얻습니다.$ git clone -b release-4.19 https://github.com/openshift/baremetal-operator.git추가하려는 각 역할에 대해 다음 명령을 실행하여 저장소에서 적절한 RBAC 역할 YAML 파일을 적용합니다.
$ oc apply -f baremetal-operator/config/base/rbac/<role_filename>.yaml다음 명령을 실행하여
bmaas네임스페이스의 BMaaSbmadmin사용자에게 사용자 지정 RBAC 역할을 할당합니다.$ oc adm policy add-role-to-user <role_name> bmadmin -n bmaas다음 명령을 실행하여
bmadmin사용자로 로그인합니다.$ oc login <api_server_url>:6443<api_server_url>- Kubernetes API의 URL입니다.