4.2.3. 各ユーザーのプロジェクトの事前作成
各ユーザーにプロジェクトを事前に作成するには、OpenShift のラベルとアノテーションを使用します。このプロジェクトは、CHE_INFRA_KUBERNETES_NAMESPACE_DEFAULT
変数よりも優先して使用されます。
metadata:
labels:
app.kubernetes.io/part-of: che.eclipse.org
app.kubernetes.io/component: workspaces-namespace
annotations:
che.eclipse.org/username: <username> 1
- 1
- ターゲットユーザーのユーザー名
ラベルを設定するには、CHE_INFRA_KUBERNETES_NAMESPACE_LABELS
を必要なラベルに設定します。アノテーションを設定するには、CHE_INFRA_KUBERNETES_NAMESPACE_ANNOTATIONS
を必要なアノテーションに設定します。詳細は、CodeReady Workspaces サーバーコンポーネントのシステムプロパティーのリファレンスを参照してください。
警告
単一ユーザーに複数の namespace を作成しないでください。これにより、定義されていない動作が生じる可能性があります。
重要
OAuth を使用する OpenShift では、ターゲットユーザーにターゲット namespace の admin
ロール権限が必要です。
apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: admin namespace: <namespace> 1 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: admin subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: <username> 2
Kubernetes では、che
ServiceAccount には、クラスター全体の list
および get
namespaces
パーミッションと、ターゲット namespace の admin
ロールが必要です。