3.2.5.2.18. OpenShift リソース


複合デプロイメントは、devfile で参照できる OpenShift リソース一覧を使用して記述できます。これにより、ワークスペースの一部になります。

重要
  • CodeReady Workspaces ワークスペースは内部的に単一のデプロイメントとして表されるため、OpenShift 一覧のすべてのリソースはその単一デプロイメントにマージされます。
  • このようなリストを設計する場合は注意してください。これは名前競合やその他の問題が発生する可能性があるためです。
  • OpenShift オブジェクトのサブセットのみがサポートされます。デプロイメントPodサービス永続ボリューム要求シーク レット、および ConfigMapKubernetes Ingress は無視されますが、OpenShift ルートがサポートされます。他のオブジェクトタイプを使用して devfile から作成されたワークスペースは起動できません。
  • OpenShift クラスターで CodeReady Workspaces を実行する場合、OpenShift リストのみがサポートされます。OpenShift クラスターで CodeReady Workspaces を実行する場合、両方の OpenShift リストがサポートされます。
apiVersion: 1.0.0
metadata:
  name: MyDevfile
projects:
  - name: my-go-project
    clonePath: go/src/github.com/acme/my-go-project
    source:
      type: git
      location: https://github.com/acme/my-go-project.git
components:
  -  type: kubernetes
     reference: ../relative/path/postgres.yaml
Copy to Clipboard Toggle word wrap

上記のコンポーネントは、devfile 自体の場所に関連するファイルを参照します。つまり、この devfile は、devfile の場所を指定する CodeReady Workspaces ファクトリーによってのみロードできるため、参照される OpenShift リソース一覧の場所を判別できます。

postgres.yaml ファイルの例を以下に示します。

apiVersion: v1
kind: List
items:
-
    apiVersion: v1
    kind: Deployment
    metadata:
        name: postgres
        labels:
            app: postgres
    spec:
        template:
        metadata:
            name: postgres
            app:
                name: postgres
        spec:
            containers:
            - image: postgres
              name: postgres
              ports:
              - name: postgres
                containerPort: 5432
                volumeMounts:
                - name: pg-storage
                  mountPath: /var/lib/postgresql/data
            volumes:
            - name: pg-storage
              persistentVolumeClaim:
                  claimName: pg-storage
-
    apiVersion: v1
    kind: Service
    metadata:
        name: postgres
        labels:
            app: postgres
            name: postgres
    spec:
        ports:
            - port: 5432
              targetPort: 5432
        selector:
            app: postgres
-
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
        name: pg-storage
      labels:
        app: postgres
    spec:
        accessModes:
         - ReadWriteOnce
        resources:
            requests:
                storage: 1Gi
Copy to Clipboard Toggle word wrap

関連付けられた OpenShift リストを含む devfile の基本例は、「 web-nodejs-with-db-sample on redhat- developer GitHub」を参照してください。

リソースのサブセットのみを必要とする汎用または大きなリソース一覧を使用している場合、セレクターを使用して特定のリソースを選択できます(通常の OpenShift セレクターと同様に、一覧内のリソースのラベルで機能します)。

apiVersion: 1.0.0
metadata:
  name: MyDevfile
projects:
  - name: my-go-project
    clonePath: go/src/github.com/acme/my-go-project
    source:
      type: git
      location: https://github.com/acme/my-go-project.git
components:
  - type: kubernetes
    reference: ../relative/path/postgres.yaml
    selector:
      app: postgres
Copy to Clipboard Toggle word wrap

さらに、リソース一覧に存在するコンテナーのエントリーポイント(コマンドおよび引数)を変更することもできます。高度なユースケースの詳細は、参考(TODO: link)を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat