1.2. Red Hat Developer Hub Operator を使用したカスタム設定での Developer Hub の実行


Developer Hub Operator を使用してカスタム設定で Red Hat Developer Hub を実行するには、以下のような Backstage カスタムリソースを作成します。

  • カスタム config map にプロビジョニングされたファイルをマウントする。
  • カスタムシークレットでプロビジョニングされた環境変数を挿入する。

手順

  1. my-rhdh-custom-resource.yaml ファイルで Backstage カスタムリソースを作成し、カスタム config map とシークレットを使用します。

    例1.1 最小の my-rhdh-custom-resource.yaml カスタムリソースの例

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: my-rhdh-custom-resource
    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets
        extraFiles:
          mountPath: /opt/app-root/src
        replicas: 1
        route:
          enabled: true
      database:
        enableLocalDb: true

    例1.2 動的プラグインおよび RBAC ポリシー config map、および外部の PostgreSQL データベースシークレットを含む my-rhdh-custom-resource.yaml カスタムリソースの例。

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: <my-rhdh-custom-resource>
    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config
             - name: rbac-policies
        dynamicPluginsConfigMapName: dynamic-plugins-rhdh
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets
             - name: my-rhdh-database-secrets
        extraFiles:
          mountPath: /opt/app-root/src
          secrets:
            - name: my-rhdh-database-certificates-secrets
              key: postgres-crt.pem, postgres-ca.pem, postgres-key.key
        replicas: 1
        route:
          enabled: true
      database:
        enableLocalDb: false
    必須フィールド:
    必須フィールドはありません。空の Backstage カスタムリソースを作成し、デフォルト設定で Developer Hub を実行できます。
    オプションのフィールド:
    spec.application.appConfig.configMaps
    config map 名のリストを入力します。

    my-rhdh-app-config config map のファイルをマウントします。

    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config

    例1.3 my-rhdh-app-config および rbac-policies config map にファイルをマウントします。

    spec:
      application:
        appConfig:
          mountPath: /opt/app-root/src
          configMaps:
             - name: my-rhdh-app-config
             - name: rbac-policies
    spec.application.extraEnvs.envs

    必要に応じて、プロキシー環境変数 など、シークレットではない追加の環境変数を入力します。

    例1.4 HTTP_PROXYHTTPS_PROXY、および NO_PROXY 環境変数を注入します。

    spec:
      application:
        extraEnvs:
          envs:
            - name: HTTP_PROXY
              value: 'http://10.10.10.105:3128'
            - name: HTTPS_PROXY
              value: 'http://10.10.10.106:3128'
            - name: NO_PROXY
              value: 'localhost,example.org'
    spec.application.extraEnvs.secrets

    環境変数のシークレット名リストを入力します。

    例1.5 環境変数を my-rhdh-secrets シークレットに注入します。

    spec:
      application:
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets

    例1.6 my-rhdh-secrets および my-rhdh-database-secrets シークレットに環境変数を注入します。

    spec:
      application:
        extraEnvs:
          secrets:
             - name: my-rhdh-secrets
             - name: my-rhdh-database-secrets
    spec.application.extraFiles.secrets

    証明書ファイルのシークレット名とファイルのリストを入力します。

    my-rhdh-database-certificates-secrets シークレットに含まれる postgres-crt.pempostgres-ca.pem、および postgres-key.key ファイルをマウントします。

    spec:
      application:
        extraFiles:
          mountPath: /opt/app-root/src
          secrets:
            - name: my-rhdh-database-certificates-secrets
              key: postgres-crt.pem, postgres-ca.pem, postgres-key.key

    spec.database.enableLocalDb

    ローカルの PostgreSQL データベースを有効または無効にします。

    ローカルの PostgreSQL データベース生成を無効にして、外部の postgreSQL データベースを使用します。

    spec:
      database:
        enableLocalDb: false

    開発環境で、ローカルの PostgreSQL データベースを使用します。

    spec:
      database:
        enableLocalDb: true

    spec.deployment
    任意で デプロイメント設定を入力します
  2. Backstage カスタムリソースを適用して、Developer Hub インスタンスを起動または更新します。

    $ oc apply --filename=my-rhdh-custom-resource.yaml --namespace=my-rhdh-project

1.2.1. Red Hat Developer Hub Operator を使用したカスタム設定での追加ファイルのマウント

Developer Hub Operator を使用して、ConfigMap や Secret などの追加ファイルをコンテナー内の任意の場所にマウントできます。

mountPath フィールドで、ConfigMap または Secret をマウントする場所を指定します。マウントの動作は、subPath を含めるか除外するかに関係なく、key または mountPath フィールドの指定によって変わります。

  • keymountPath が指定されていない場合: 各キーまたは値が、subPath を使用して filename またはコンテンツとしてマウントされます。
  • keymountPath の有無にかかわらず指定されている場合: 指定されたキーまたは値が、subPath を使用してマウントされます。
  • mountPath のみが指定されている場合: すべてのキーまたは値を含むディレクトリーが、subPath を使用せずにマウントされます。
注記
  • OpenShift Container Platform は、subPath を使用してマウントされたボリュームを自動的に更新しません。デフォルトでは、RHDH Operator がこれらの ConfigMap または Secret を監視し、変更が発生したときに RHDH Pod を更新します。
  • セキュリティー上の理由から、Red Hat Developer Hub は Operator サービスアカウントにシークレットの読み取りアクセス権を付与しません。そのため、mountPath と key の両方を指定せずに Secret からファイルをマウントすることはできません。

前提条件

手順

  1. OpenShift Container Platform で、次の YAML コードを使用して ConfigMap または Secret を作成します。

    例1.7 最小限の my-project-configmap ConfigMap の例

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: my-project-configmap
    data:
      file11.txt: |
        My file11 content
      file 12.txt: |
        My file12 content

    例1.8 最小限の my-rhdh-secrets シークレットの例

    apiVersion: v1
    kind: Secret
    metadata:
      name: my-rhdh-secrets
    StringData:
      secret11.txt: |
        secret-content

    詳細は、カスタム Red Hat Developer Hub 設定のプロビジョニングおよび使用 を参照してください。

  2. configMaps name の値を ConfigMap の名前に設定するか、secrets name の値を Backstage CR の Secret の名前に設定します。以下に例を示します。

    spec:
      application:
        extraFiles:
          mountPath: /my/path
          configMaps:
            - name: my-project-configmap
              key: file12.txt
              mountPath: /my/my-rhdh-config-map/path
          secrets:
            - name: my-rhdh-secrets
              key: secret11.txt
              mountPath: /my/my-rhdh-secret/path
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.