次の方法で共有


Cloud-Init

CycleCloud では、VM で他の CycleCloud 固有の構成が行われるに、最初の起動時に仮想マシン (VM) を構成する方法として cloud-init がサポートされています。 Cloud-init の使用は、CycleCloud (HPC スケジューラ) によって管理されるソフトウェアがインストールされる前に、VM の側面 (ネットワーク、yum/apt ミラーなど) を構成するための効果的な方法です。

クラスター テンプレートの 属性を使用して起動時に実行する bash スクリプトを指定する簡単な例を CloudInit 次に示します。

[node scheduler]
CloudInit = '''#!/bin/bash
echo "cloud-init works" > /tmp/cloud-init.txt
'''

注意

クラスター テンプレートでは、三重引用符で囲まれた文字列を使用して、bash や YAML スクリプトなどの複数行の文字列を指定できます。

警告

cloud-init 内のすべての OS イメージAzure サポート。 より広範なサポートが利用可能になる場合の cloud-init とタイムラインをサポートするイメージの詳細については、Azure の仮想マシンに対する cloud-init サポートに関するページを参照してください。

UI を使用した Cloud-Init の設定

CycleCloud UI では、cloud-init 編集がサポートされています。 クラスターを作成または編集するときに、"Cloud-Init" という名前の新しいタブを使用すると、クラスター内の各ノードの cloud-init スクリプトを編集できます。 CycleCloud UI のエディターでは、任意のテキスト入力が許可されます。 構文の強調表示は、Python、シェル スクリプト、または YAML で有効になっています。

CycleCloud UI での cloud-init の編集

Cloud-Init 順序付けとエラー処理

指定した CycleCloud ノード CloudInit の場合、CycleCloud は VM をプロビジョニングし、cloud-init が実行 されて完了するまで 待ってから、他の構成が行われます。 がノードで指定され、CycleCloud が OS の cloud-init サポートを検出しない場合 CloudInit 、ノードはエラー状態になり、その理由は CycleCloud に中継されます。 スクリプトの CloudInit 実行に失敗した場合 (スクリプトエラーや構文エラーなど)、ノードはエラー状態になり、cloud-init によって報告されたエラーは CycleCloud に中継されます。

cloud-init がエラーなしで完了するまで実行されると、CycleCloud は通常どおり VM を構成し続けます。

重要

CycleCloud は cloud-init スクリプトを自動的にマージ しません 。 が [node defaults] cloud-init と既定値から継承するノードを指定した場合、 の cloud-init スクリプト [node defaults] は上書きされます。 コードを共有する必要がある場合は、スクリプトを手動でマージすることをお勧めします。 または、 インクルード ファイルのユーザー データ形式 を使用して、cloud-init によって処理される URL の一覧を含めることができます。