11

私は現在 CoreOS を扱っており、これまでのところ全体的なアイデアとコンセプトは得られたと思います。まだ取得していないことの 1 つは、cloud-init.

cloud-initこれは、CoreOS の構成を行うプロセスであることを理解しています。私がまだ理解していないのは…</p>

  • CoreOS はいつ実行されcloud-initますか? 初回起動時?起動ごとに?…?
  • 構成データの場所をどのようにしてcloud-init知ることができますか? 私はそれがありconfig-drive、それは完全に理にかなっていることを見てきましたが、これが唯一の方法ですか? user-dataファイルの役割は正確には何ですか?…?
4

1 に答える 1

15

CoreOS は、起動プロセス中に cloudinit を数回実行します。現在、これは起動ごとに発生しますが、その機能は将来変更される可能性があります。

最初のパスは OEM cloud-init です。これはイメージに組み込まれ、そのプロバイダーに必要なネットワークやその他の機能をセットアップします。これは、EC2、Rackspace、Google Compute Engine などに対して行われます。これらはすべて要件が異なるためです。これらのファイルは Github で見ることができます。

2 番目のパスはユーザー データ パスで、プロバイダーごとに異なる方法で処理されます。たとえば、EC2 では、ユーザーがメタデータ サービスに保存されている UI に自由形式のテキストを入力できます。EC2 OEM には、このメタデータを読み取り、それを 2 番目の cloud-init 実行に渡すユニットがあります。Rackspace/Openstack では、config-drive を使用して、ユーザー データを含む読み取り専用ファイル システムをマウントします。Rackspace および Openstack OEM は、その場所でユーザー データ ファイルをマウントして検索することを知っています。

CoreOS の最新バージョンには、PXE ブートで使用するために評価されるリモート ファイルをフェッチするためのフラグもあります。

CoreOSディストリビューション ドキュメントにも、さらに詳細がいくつか記載されています。

于 2014-04-24T16:55:41.517 に答える