第4章 cloud-init の設定
cloud-init
を使用すると、さまざまな設定タスクを実行できます。
cloud-init
設定では、cloud.cfg
ファイルおよび cloud.cfg.d
ディレクトリーへのディレクティブの追加を必要とすることがあります。あるいは、特定のデータソースでは、ユーザーデータファイルやメタデータファイルなどのファイルにディレクティブを追加する必要がある場合があります。データソースでは、ディレクティブの HTTP サーバーへのアップロードが必要な場合があります。データソースの要件を確認し、それに応じてディレクティブを追加します。
4.1. NoCloud データソースの cloud-init を含む仮想マシンの作成 リンクのコピーリンクがクリップボードにコピーされました!
cloud-init
を含む新しい仮想マシン (VM) を作成するには、meta-data
ファイルと user-data
ファイルを作成します。
-
meta-data
ファイルには、インスタンスの詳細が含まれます。 -
user-data
ファイルには、ユーザーを作成し、アクセスを付与するための情報が含まれます。
これらのファイルを新しい ISO イメージに追加し、KVM ゲストイメージから作成した新しい仮想マシンに ISO ファイルをアタッチします。このシナリオでは、データソースは NoCloud です。
手順
cloudinitiso
という名前のディレクトリーを作成し、作業ディレクトリーとして設定します。mkdir cloudinitiso cd cloudinitiso
$ mkdir cloudinitiso $ cd cloudinitiso
Copy to Clipboard Copied! Toggle word wrap Toggle overflow meta-data
ファイルを作成し、次の情報を追加します。instance-id: citest local-hostname: citest-1
instance-id: citest local-hostname: citest-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow user-data
ファイルを作成し、次の情報を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記user-data
ファイルの最後の行は、SSH 公開鍵を参照します。~/.ssh/id_rsa.pub
で SSH 公開鍵を検索します。このサンプル手順を行う場合は、行を変更して公開鍵の 1 つを含めます。genisoimage
コマンドを使用して、user-data
およびmeta-data
を含む ISO イメージを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat カスタマーポータルから、
/var/lib/libvirt/images
ディレクトリーに KVM ゲストイメージをダウンロードします。 virt-install
ユーティリティーを使用して KVM ゲストイメージから新しい仮想マシンを作成し、ダウンロードしたイメージを既存のイメージにアタッチします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザー名
cloud-user
とパスワードcilogon
を使用してイメージにログオンします。citest-1 login: cloud-user Password: [cloud-user@citest-1 ~]$
citest-1 login: cloud-user Password: [cloud-user@citest-1 ~]$
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
cloud-init
ステータスをチェックして、ユーティリティーが定義されたタスクを完了したことを確認します。cloud-init status
[cloud-user@citest-1 instance]$ cloud-init status status: done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cloud-init
ユーティリティーは、実行時に/var/lib/cloud
の下のcloud-init
ディレクトリーレイアウトを作成し、指定したディレクティブに基づいて特定のディレクトリーコンテンツを更新または変更します。たとえば、データソースファイルをチェックして、データソースが
NoCloud
であることを確認できます。cd /var/lib/cloud/instance cat datasource
$ cd /var/lib/cloud/instance $ cat datasource DataSourceNoCloud: DataSourceNoCloud [seed=/dev/sr0][dsmode=net]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cloud-init
は、user-data を/var/lib/cloud/instance/user-data.txt
にコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenStack の場合、インスタンスの作成と管理 には、cloud-init
を使用してインスタンスを設定するための情報が含まれています。具体的な手順については、カスタムインスタンスの作成 を参照してください。