6.3. 専用の namespace の設定
Bare Metal as a Service (BMaaS) ワークロードと OpenShift Container Platform インフラストラクチャー間の偶発的な干渉を防ぐには、専用の namespace をセットアップします。すべての BMaaS プロジェクトに対してこの手順を繰り返します。
前提条件
- ID プロバイダーを設定 している。
手順
アイデンティティープロバイダーで BMaaS
bmadminユーザーを設定し、OpenShift にシークレットを作成します。アイデンティティープロバイダーに
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-confignamespace に作成します。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>
-
アイデンティティープロバイダーシークレットに固有の引数。
<identity_provider_arguments>は、ID プロバイダーの適切な引数に置き換えます。
アイデンティティープロバイダーを使用するように OAuth を設定します。
次のコマンドを実行して OAuth リソースを編集します。
oc edit oauth cluster
$ oc edit oauth clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow エディターが開き、Oauth リソースが表示されます。
アイデンティティープロバイダーの設定を
spec.identityProvidersリストに追加します。Expand 表6.1 アイデンティティープロバイダーの設定例 型 例 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 ホスト専用の
bmaasnamespace を作成します。oc new-project <namespace>
$ oc new-project <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <namespace>-
<namespace> は、使用する namespace 名に置き換えます。この例では
bmaasを使用します。
次のコマンドを実行して、
bmaasnamespace の BMaaSbmadminユーザーにeditロールを割り当てます。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.19 https://github.com/openshift/baremetal-operator.git
$ git clone -b release-4.19 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 次のコマンドを実行して、
bmaasnamespace 内の BMaaSbmadminユーザーにカスタム RBAC ロールを割り当てます。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。