8.4. アセット生成の例


以下は、Cloud Foundry (CF) Node.js アプリケーションの検出マニフェストとデプロイメントマニフェストを生成する例です。

この例では、以下のファイルとディレクトリーが使用されます。

  • CF Node.js アプリケーションマニフェスト名: cf-nodejs-app.yaml
  • 検出マニフェスト名: discover.yaml
  • アプリケーションの Helm チャートの場所: helm_sample
  • デプロイメントマニフェスト: ConfigMap と Dockerfile
  • デプロイメントマニフェストの出力場所: newDir

cf-nodejs-app.yaml が MTA CLI バイナリーと同じディレクトリーにあると想定します。CF アプリケーションマニフェストの場所が異なる場合は、マニフェストへの場所のパスを input として入力することもできます。

前提条件

  • MTA CLI 7.3.0 がインストールされている。
  • CF アプリケーションマニフェストが YAML ファイルとして存在する。
  • OCP デプロイメントに必要な設定を含む Helm テンプレートを作成した。

手順

  1. ターミナルアプリケーションを開き、<MTA_HOME>/ ディレクトリーに移動します。
  2. CF Node.js アプリケーションマニフェストの内容を確認します。

    $ cat cf-nodejs-app.yaml
    name: cf-nodejs
    lifecycle: cnb
    buildpacks:
      - docker://my-registry-a.corp/nodejs
      - docker://my-registry-b.corp/dynatrace
    memory: 512M
    instances: 1
    random-route: true
    Copy to Clipboard Toggle word wrap
  3. 検出マニフェストを生成します。

    $ mta-cli discover cloud-foundry \ --input cf-nodejs-app.yaml \ --output discover.yaml \
    Copy to Clipboard Toggle word wrap
  4. 検出マニフェストの内容を確認します。

    $ cat discover.yaml
    name: cf-nodejs
    randomRoute: true
    timeout: 60
    buildPacks:
    - docker://my-registry-a.corp/nodejs
    - docker://my-registry-b.corp/dynatrace
    instances: 1
    Copy to Clipboard Toggle word wrap
  5. discover.yaml ファイルを使用して、newDir ディレクトリーにデプロイメントマニフェストを生成します。

    $ mta-cli generate helm \ --chart-dir helm_sample \ --input discover.yaml --output-dir newDir
    Copy to Clipboard Toggle word wrap
  6. newDir ディレクトリー内の Dockerfile の内容を確認します。

    $ cat ./newDir/Dockerfile
    FROM busybox:latest
    
    RUN echo "Hello cf-nodejs!"
    Copy to Clipboard Toggle word wrap
  7. newDir ディレクトリーの ConfigMap の内容を確認します。

    $ cat ./newDir/configmap.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cf-nodejs-config
    data:
      RANDOM_ROUTE: true
      TIMEOUT: "60"
      BUILD_PACKS: |
        - docker://my-registry-a.corp/nodejs
        - docker://my-registry-b.corp/dynatrace
      INSTANCES: "1"
    Copy to Clipboard Toggle word wrap
  8. ConfigMap で、namenodejs-app に、INSTANCES2 にオーバーライドします。

    $ mta-cli generate helm \ --chart-dir helm_sample \ --input discover.yaml --set name="nodejs-app" \ --set instances=2 \ --output-dir newDir \
    Copy to Clipboard Toggle word wrap
  9. ConfigMap の内容を再度確認します。

    $ cat ./newDir/configmap.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: nodejs-app
    data:
      RANDOM_ROUTE: true
      TIMEOUT: "60"
      BUILD_PACKS: |
        - docker://my-registry-a.corp/nodejs
        - docker://my-registry-b.corp/dynatrace
      INSTANCES: "2"
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat