This documentation is for a release that is no longer maintained
See documentation for the latest supported version.4.2. プロジェクトの設定
OpenShift Dev Spaces は、ユーザーごとに、プロジェクト内のワークスペースを分離します。OpenShift Dev Spaces は、ラベルとアノテーションの存在によってユーザープロジェクトを識別します。ワークスペースを起動する際に必要なプロジェクトが存在しない場合、OpenShift Dev Spaces はテンプレート名を使用してプロジェクトを作成します。
OpenShift Dev Spaces の動作は、次の方法で変更できます。
4.2.1. プロジェクト名の設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Dev Spaces がワークスペース起動時に必要なプロジェクトを作成するために使用するプロジェクト名テンプレートを設定できます。
有効なプロジェクト名テンプレートは、次の規則に従います。
-
<username>または<userid>プレースホルダーは必須です。 -
ユーザー名と ID に無効な文字を含めることはできません。ユーザー名または ID のフォーマットが OpenShift オブジェクトの命名規則と互換性がない場合、OpenShift Dev Spaces は、互換性のない文字を
-記号に置き換えてユーザー名や ID を有効な名前に変更します。 -
OpenShift Dev Spaces は、
<userid>プレースホルダーを 14 文字の文字列と判断し、ID が衝突しないようにランダムな 6 文字の接尾辞を追加します。結果は、再利用のためにユーザー設定に保存されます。 - Kubernetes は、プロジェクト名の長さを 63 文字に制限しています。
- OpenShift は、長さをさらに 49 文字に制限しています。
手順
CheClusterカスタムリソースを設定します。「CLI を使用して CheCluster カスタムリソースの設定」 を参照してください。spec: components: devEnvironments: defaultNamespace: template: <workspace_namespace_template_>spec: components: devEnvironments: defaultNamespace: template: <workspace_namespace_template_>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例4.3 ユーザーワークスペースプロジェクト名テンプレートの例
Expand ユーザーワークスペースプロジェクト名テンプレート 結果のプロジェクト例 <username>-devspaces(デフォルト)user1-devspaces
<userid>-namespacecge1egvsb2nhba-namespace-ul1411<userid>-aka-<username>-namespacecgezegvsb2nhba-aka-user1-namespace-6m2w2b
4.2.2. プロジェクトの事前プロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
自動プロビジョニングに依存するのではなく、ワークスペースプロジェクトを事前にプロビジョニングできます。ユーザーごとに手順を繰り返します。
手順
CheClusterレベルでの自動 namespace プロビジョニングを無効にします。devEnvironments: defaultNamespace: autoProvision: falsedevEnvironments: defaultNamespace: autoProvision: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のラベルとアノテーションを使用して、<username> ユーザーの <project_name> プロジェクトを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 選択したプロジェクト名を使用します。
4.2.3. ユーザー namespace の設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift Dev Spaces を使用して ConfigMaps、Secrets、PersistentVolumeClaim、およびその他の Kubernetes オブジェクトを openshift-devspaces namespace から多数のユーザー固有の namespace にレプリケートするプロセスを説明します。OpenShift Dev Spaces は、共有認証情報、設定ファイル、証明書などの重要な設定データのユーザー namespace への同期を自動化します。
openshift-devspaces namespace の Kubernetes リソースに変更を加えると、OpenShift Dev Spaces はすべてのユーザー namespace にわたって変更を直ちに複製します。逆に、Kubernetes リソースがユーザー namespace で変更されると、OpenShift Dev Spaces は変更を直ちに元に戻します。
手順
以下の
ConfigMapを作成して、すべてのユーザー namespace に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加してConfigMapをカスタマイズできます。その他の可能なラベルとアノテーションは、ボリューム、configmap、シークレットの自動マウント を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例4.4 ユーザーワークスペースに
settings.xmlファイルをマウントCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の
Secretを作成して、それをすべてのユーザー namespace に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加してSecretをカスタマイズできます。その他の可能なラベルとアノテーションは、ボリューム、configmap、シークレットの自動マウント を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例4.5 ユーザーワークスペースに証明書をマウントする
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ワークスペースの起動時に
update-ca-trustコマンドを実行して証明書をインポートします。これは手動で実行することも、devfile のpostStartイベントにこのコマンドを追加することで実行することもできます。devfile でのイベントバインディングの追加 を参照してください。例4.6 環境変数をユーザーワークスペースにマウントする
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の
PersistentVolumeClaimを作成して、それをすべてのユーザー namespace に複製します。設定可能性を高めるために、追加のラベルとアノテーションを追加して
PersistentVolumeClaimをカスタマイズできます。その他の可能なラベルとアノテーションは、ボリューム、configmap、シークレットの自動マウント を参照してください。PersistentVolumeClaimを変更するには、一度削除し、openshift-devspaces namespace に新しいものを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例4.7
PersistentVolumeClaimをユーザーワークスペースにマウントCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Kubernetes Engine を活用するために、
Templateオブジェクトを作成して、テンプレート内で定義したすべてのリソースを各ユーザー namespace に複製できます。Templateオブジェクトには、前述のConfigMap、Secret、PersistentVolumeClaimの他に、次のものを含めることができます。-
LimitRange -
NetworkPolicy -
ResourceQuota -
Role RoleBindingCopy to Clipboard Copied! Toggle word wrap Toggle overflow parametersはオプションであり、使用可能なパラメーターを定義します。現時点では、PROJECT_NAMEおよびPROJECT_ADMIN_USERのみがサポートされています。PROJECT_NAMEは OpenShift Dev Spaces namespace の名前で、PROJECT_ADMIN_USERは namespace の OpenShift Dev Spaces ユーザーです。オブジェクトの namespace 名は、同期中にユーザーの namespace 名に置き換えられます。
例4.8 Kubernetes リソースをユーザー namespace にレプリケートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Template Kubernetes リソースの作成は、OpenShift でのみサポートされます。
-
関連情報
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.19/html-single/user_guide/index#end-user-guide:mounting-configmaps
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.19/html-single/user_guide/index#end-user-guide:mounting-secrets
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.19/html-single/user_guide/index#end-user-guide:requesting-persistent-storage-for-workspaces
- ボリューム、configmaps、シークレットの自動マウント
-
Templateの OpenShift API リファレンス - OpenShift プロジェクト作成の設定