6.5. サービスアカウント別のセルフプロビジョニングされたプロジェクトの有効化および制限
デフォルトで、サービスアカウントはプロジェクトを作成できません。ただし、管理者はサービスアカウント別にこの機能を有効でき、指定されるサービスアカウントが要求するセルフプロビジョニングされたプロジェクトの数は、ProjectRequestLimit
受付制御プラグイン で制限できます。
サービスアカウントがプロジェクトを作成することを許可される場合、プロジェクトエディターがラベルを操作する可能性があるため、プロジェクトのそれらのラベルを信頼することはできません。
プロジェクトにサービスアカウントを作成します (存在しない場合)。
oc create sa <sa_name>
$ oc create sa <sa_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-admin
権限を持つユーザーとして、self-provisioner
クラスターロールをサービスアカウントに追加します。oc adm policy \ add-cluster-role-to-user self-provisioner \ system:serviceaccount:<project>:<sa_name>
$ oc adm policy \ add-cluster-role-to-user self-provisioner \ system:serviceaccount:<project>:<sa_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/origin/master/master-config.yaml のマスター設定ファイルを編集し、
ProjectRequestLimit
セクションのmaxProjectsForServiceAccounts
パラメーター値を、任意の指定のセルフプロビジョニングされたサービスが作成できるプロジェクトの最大数に設定します。たとえば、以下の設定は、サービスアカウントごとにグローバル制限の 3 つのプロジェクトを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更を保存した後に、それらの変更を有効にするには、OpenShift Container Platform を再起動します。
master-restart api master-restart controllers
# master-restart api # master-restart controllers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントとしてログインし、新規プロジェクトを作成して、変更が適用されていることを確認します。
トークンを使用し、サービスアカウントとしてログインします。
oc login --token <token>
$ oc login --token <token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 新しいプロジェクトを作成します。
oc new-project <project_name>
$ oc new-project <project_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow