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>-namespace
cge1egvsb2nhba-namespace-ul1411
<userid>-aka-<username>-namespace
cgezegvsb2nhba-aka-user1-namespace-6m2w2b
4.2.2. プロジェクトの事前プロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
自動プロビジョニングに依存するのではなく、ワークスペースプロジェクトを事前にプロビジョニングできます。ユーザーごとに手順を繰り返します。
手順
CheCluster
レベルでの自動 namespace プロビジョニングを無効にします。devEnvironments: defaultNamespace: autoProvision: false
devEnvironments: defaultNamespace: autoProvision: false
Copy 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 間でテンプレート内に定義されたすべてのリソースをレプリケートできます。前述の
ConfigMap
、Secret
、およびPersistentVolumeClaim
とは別に、Template
オブジェクトには以下を含むことができます。-
LimitRange
-
NetworkPolicy
-
ResourceQuota
-
ロール
RoleBinding
Copy 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.18/html-single/user_guide/index#end-user-guide:mounting-configmaps
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.18/html-single/user_guide/index#end-user-guide:mounting-secrets
- https://access.redhat.com/documentation/ja-jp/red_hat_openshift_dev_spaces/3.18/html-single/user_guide/index#end-user-guide:requesting-persistent-storage-for-workspaces
- ボリューム、configmaps、シークレットの自動マウント
-
Template
の OpenShift API リファレンス - OpenShift プロジェクト作成の設定