私は、ホーム サーバーで Ubuntu クラウド イメージと kvm/qemu を使用して VM を起動するために、cloud-init 22.1-14 を使用しています。init の一部として任意のファイルを書き込もうとすると VM の作成が停止するため、データ ソースを実装する必要がある段階にあると思います。構成データを含む ISO イメージを生成するために私が行っていることは次のとおりです。
cloud-localds --network-config=/srv/init/network-init.cfg /var/kvm/mldc-seed.qcow2 /srv/init/cloud-init.cfg
以下は、cloud-init 22.1-14 では動作しない構文を使用して .tmux.conf ファイルを作成しようとした例です。
write_files:
- path: /home/msh/.tmux.conf
content: |
unbind C-b
set -g prefix C-a
bind-key C-a last-window
bind-key k confirm kill-window
owner: 'muh:adm'
permissions: '0640'
インストールした cloud-init のバージョンに注意を払ってから、任意のファイルを書き込む能力が向上しました。今では、cloud-init の実行を中断することなく、任意の数のテキスト ファイルを書き込むことができます。
write_files:
- content: |
set ts=2
set sts=2
set sw=2
set expandtab
path: /home/msh/.exrc
owner: root:root
permissions: '0660'
defer: true
答え1
サードパーティまたは「外部」データ ソースを使用しない場合に使用するデータ ソースは、NoCloud と呼ばれます。cloud-localds をローカルで実行すると、NoCloud を使用していることになります。