Azure CycleCloud クラスターは、基本マシン イメージ、CycleCloud Cluster Init、Chef インフラストラクチャ自動化フレームワークの組み合わせを使用して構築および構成されます。
Chef クックブックを構築する方法を理解する必要があるのは、高度な CycleCloud ユーザーだけです。 ただし、多くのユーザーは CycleCloud で Chef を使用する方法に関する基本的な知識を活用できます。 特に、ユーザーは、 run_list
、 recipe
、Chef attributes
の概念を理解する必要があります。
Chef の基本的な概念
CycleCloud クラスター内の各 node
は、Chef run_list
に従って初期化されます。
run_list
は、ノードを初期化するために適用する、順序付けされた一連の特徴またはrecipes
です。
recipes
には、機能の適用に必要な低レベルのシステム操作の実装が含まれています。
Cookbooks
は、機能を構成する recipes
のコレクションです。
Cookbooks
recipes
は Chef attributes
によってパラメーター化され、機能をさらにカスタマイズおよび構成できます。
CycleCloud には、多くのユーザーに十分なクラスターの種類のセットをプロビジョニングするために使用できる定義済みのクラスター テンプレートのセットが付属しています。 Cluster-Init を使用して、さらにカスタマイズを簡単に行うことができます。 そのため、ほとんどのユーザーは、 run_lists
を変更したり、独自の recipes
と cookbooks
を構築したりする必要はありません。
ただし、CycleCloud クラスターは、すべての CycleCloud クラスターで使用できる一連の Common Cookbook を 使用してプロビジョニングされます。 これらの cookbooks
には、カスタマイズする必要がある一連の attributes
があります。 次のセクションでは、最もよく使用される attributes
の一部について説明します。
注
Chef 属性を直接変更する場合は、クラスター テンプレート機能を使用します。
クックブックの一般的な属性は変更される可能性があります。 属性設定は、制御する機能が CycleCloud のより一般的または強力な機能として使用できるようになると、一般的に置き換えられます。 クラスター テンプレートと Chef 属性の両方でカスタマイズを使用できる場合は、より一般的なソリューションであるため、クラスター テンプレート メソッドを常に優先します。
Opscode Chef フレームワークの詳細については、 Opscode Web サイトを参照してください。
Chef 属性の使用
Chef attributes
個々のノードまたはノード配列の run_list
の操作を構成します。 ノードの [[[configuration]]]
サブセクションでこれらの属性を設定します。 たとえば、次のコードは、CycleServer を実行するように構成されたノードの CycleServer 管理者パスワードを設定します。
[[node cycle_server]]
[[[configuration]]]
run_list = role[monitor], recipe[cyclecloud::searchable], recipe[cfirst], \
recipe[cuser::admins], recipe[cshared::client], recipe[cycle_server::4-2-x], \
recipe[cluster_init], recipe[ccallback::start], recipe[ccallback::stop]
cycle_server.admin.pass=P\@ssw0rd
サンダー
Cycle Computing には、クラウド サービスからノードへのオブジェクトのダウンロードを簡略化するために、 thunderball
と呼ばれる Chef リソースが用意されています。 Thunderball は、失敗したダウンロードの再試行を自動的に処理し、複数の構成をサポートします。 既定では、Thunderball は CycleCloud パッケージ リポジトリからファイルをダウンロードし、 $JETPACK_HOME/system/chef/cache/thunderballs
に書き込みます。 既定の構成を使用する例:
thunderball "condor" do
url "cycle/condor-8.2.9.tgz"
end
次の表に、Thunderball リソースのすべての属性を示します。
特性 | 説明 |
---|---|
チェックサム | ダウンロードする成果物の SHA256 チェックサム。 |
顧客 | 使用するコマンド ライン クライアント。 既定値は :pogo です。 |
設定 | 使用するカスタムサンダーボール構成。 |
dest_file | ダウンロードするファイル パス。
storedir は、 dest_file が使用中の場合は無視されます。 |
storedir | 場所ファイルのダウンロード先。 既定値は thunderball.storedir です。 |
URL | ダウンロードするファイルの場所 (完全または部分的)。 |
別のリポジトリからオブジェクトをダウンロードするには、カスタム構成セクションを使用します。
特性 | 説明 |
---|---|
基盤 | ベース URL。 |
顧客 | プロバイダーと対話するためのコマンド ライン ツール。 |
エンドポイント | 使用する URL エンドポイント。 |
ファイル名 | 使用する構成ファイル。 |
パスワード | Azure のパスワード。 |
proxy_host | プロキシとして使用するホスト。 |
proxy_port | プロキシに使用するポート。 |
ユーザー | 構成のローカル システム ユーザー。
user 属性を指定した場合、filename 属性は無視されます。 ユーザーのホーム ディレクトリに構成ファイルが含まれています。 |
ユーザー名 | Azure のAccess_key/ユーザー名。 |