展開可能なアーキテクチャのバリエーションを作成する
展開可能なアーキテクチャには、さまざまな機能や複雑さが含まれる場合があります。 たとえば、シンプルで低コストの導入のための基本的な機能を備えたクイック スタート バリエーションを作成し、その後、運用環境で使用されるより複雑なアーキテクチャを備えた標準バリエーションを作成することができます。 これらのバリエーションはそれぞれ、展開可能なアーキテクチャであり、カタログ内の同じタイルのオプションとして表示されるようにオンボードおよび構成されます。
もしあなたが ibm_catalog.json カタログマニフェストファイル、variations と呼ばれる flavors。 ただし、カタログの詳細ページでは、バリエーションと呼ばれます。
コア アーキテクチャのバリエーションは、多くの場合、次の主要な領域で異なります。
- コスト
- コンプライアンス
- 時間と使用の複雑さ
- 特定のユースケースに対して異なるものを展開しますが、全体的なビジネス上の問題は同じです。
以下は、カタログに 2 つのバリエーションがあるデプロイ可能なアーキテクチャの例です。 これらの2つのバリエーションは、ユーザーがカタログタイルを選択した後に並んで表示されるように、カタログへのオンボーディング中に同じソース URL、製品名、およびバージョンを使用しています:
既存のデプロイ可能なアーキテクチャにバリエーションを追加する
すでに作成したデプロイ可能なアーキテクチャの別のバリエーションを作成するには、次の手順を実行します。
-
ソースコードリポジトリに作業ディレクトリを作成し、デプロイ可能なアーキテクチャに必要な Terraform ファイル。
-
マニフェストファイルで、次のコードスニペットを
flavorsセクション。 この配列は、オファリングを同じ展開可能なアーキテクチャの一部として定義しますが、カタログ内のバリエーションとしてリストすることを許可します。 もし、あんたが 以前にオンボードしたマニフェストをダウンロードしました カタログにバージョンがない場合、ファイルにはすでに新しいバリエーションの最小限の定義が含まれています。たとえば、デプロイ可能なアーキテクチャが
Dinnerそして、そのバリエーションを作りたいなら、それをsteak次の例に示すように。"flavors": [ { "label": "Steak", "name": "steak-variation", "working_directory": "./steak", "install_type": "fullstack" } ]リリースの一部としてアップロードする更新されたカタログ マニフェスト ファイルには、新しいバリエーションのほとんどの構成が自動的に入力されます。 ただし、製品を組織と共有する前に構成を検証することがベスト プラクティスです。
さらにバリエーションを追加する場合は、これらの手順を繰り返すことができます。 完了したら、Gitリリースして開始 プライベートカタログへのオンボーディング 他のユーザーと共有できるカタログ タイルを作成します。
複数の展開可能なアーキテクチャからなるバリエーションの追加
プロジェクトでアーキテクチャを積み重ねた 場合、そのソリューションをカタログにバリエーションとして追加することができます。 展開可能なアーキテクチャのクイックスタートのバリエーションがシンプルで低コストである場合、スタッキングによって作成されたソリューションは、通常、そのクイックスタートのバリエーションよりも複雑で、より多くのリソースを生み出す。
以下のステップを実行します。
-
プロジェクトに展開可能なアーキテクチャを積み重ねる。 詳細については、展開可能なアーキテクチャの積み重ね。
アーキテクチャを構成して展開し、ソリューション全体が設計どおりに機能することを検証してから、バリエーションとして追加する。
-
デプロイを成功させるためにユーザーが設定する必要のある変数を定義する。 詳細については、スタック変数の定義。
-
作成する スタック定義ファイル。 スタック定義は、スタックされた展開可能なアーキテクチャが互いにどのように関連するかを指定する。 前の手順で定義したスタック変数も、スタック定義ファイルに含まれます。
-
ソースコードリポジトリに作業ディレクトリを作成し、
stack_definition.jsonそのディレクトリにファイルを保存します。 詳細については、ソースリポジトリの作成。 -
あなたの
ibm_catalog.jsonマニフェストファイルで、次のコードスニペットをflavorsセクション:たとえば、デプロイ可能なアーキテクチャーが
Dinnerで、そのバリエーションを作成したい場合、次の例に示すように、Steak and potatoes with broccoliと呼ぶことができる。"flavors": [ { "label": "Steak and potatoes with broccoli", "name": "steak-potatoes-broccoli-variation", "working_directory": "./steak-potatoes-broccoli", "install_type": "fullstack" } ]
まだ作成していない場合は、Gitリリースして開始 プライベートカタログへのオンボーディング 他のユーザーと共有できるカタログ タイルを作成します。