一般的なクックブック リファレンス

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/ユーザー名。