4.2.6. ユーザーのプロジェクトの事前作成
ユーザーのプロジェクトを事前に作成するには、プロジェクトのラベルおよびアノテーションを使用します。この namespace は、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>
metadata:
labels:
app.kubernetes.io/part-of: che.eclipse.org
app.kubernetes.io/component: workspaces-namespace
annotations:
che.eclipse.org/username: <username>
- 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> roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: admin subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: <username>
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: admin
namespace: <namespace>
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: admin
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: <username>
Kubernetes では、che
ServiceAccount には、クラスター全体の list
および get
namespaces
パーミッションと、ターゲット namespace の admin
ロールが必要です。