体調が絶不調。というか背中がめちゃ痛い。何をしててもいたい。整体に行った。背中の骨が何個が歪んでて、前方の胸に圧力をかけててもこっとしている様子。そりゃ痛いだろうということで直してもらった。あと、踵の骨もずれていて、踵痛くない?と。実は2ヶ月くらいいたい。それも直してもらった。どうやら、いろんなところの骨が歪んでいるらしく、修理?に普段の倍の時間がかかった。まだ炎症していたところは痛いが、痛みの質が全然違う。
なんやかんやで体、ボロボロだったのね。
閑話休題
今度は、WIndowsでCloud-initを使ってみる。
参考にさせていただいたページは、以下。以下に書かれているようにやればいい。
以上ではなく。。。いくつか追記。
注意点
- サポートOSを確認したほうがいい。Windows 11 / Windows Server 2025はまだうまく動かない。実際、Windows Server 2025で動かすと、うまく行ったり、うまくいかなかったり
サポートOSは以下に書かれている。
- タネのOSを作る時、リカバリパーティションなどは先頭に持っていった方がいい。先頭に持っていっておくと、展開時にディスクサイズを増やしたとき、起動時にディスクを最大化してくれる。
先頭に持っていく方法は、https://www.blog.slow-fire.net/2022/08/19/windows-server-2022でvmを作るとディスク拡張ができない%E3%80%82/
コメント
リンク先やWebを見ていると以下の画面を開きっぱなしにして、設定するようにと書かれている。
よくみると、Sysprepしてシャットダウンをすると書いていある。これは、
C:\Proaram Files\Cloudbase Solutions\Cloudhase-init\confにあるUnattend.xmlを利用したsysprepである。
要するにConfディレクトリで、
%systemroot%\system32\sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:"Unattend.xml"
してあげればいい。これがめんどくさい、わからない人は、リンクの通りにやればいい。よって、後でこの画面の作業が実行できるので、チェックをオフにしてFInishをクリックしても問題ない。
自分はUnattend.xmlを書き換えて、Rearm countが増えないように、プロファイルをコピーをする記述をいれたがちゃんと動いた。
設定ファイルは以下
- cloudbase-init.conf:設定ファイル
- cloudbase-init-unattend.conf: sysprep時に参照される設定ファイル
- Unattend.xml:Sysprepに使うファイル
以下を実行した。パスワードは、OSのパスワード要件に合わせる必要がある。govcが使える前提。
USERDATAFILE=userdata-windows.yaml
METADATAFILE=metadata-windows.yaml
cat << EOF > ${USERDATAFILE}
#cloud-config
write_files:
- encoding: gz+b64
content: H4sIAAAAAAAAAytJLS4x5AIAGzdZfAYAAAA=
path: C:\\vmware-guestinfo-cloudinit-datasource.txt
EOF
cat << EOF > ${METADATAFILE}
instance-id: windows2022-1
local-hostname: windows2022-1
admin-password: passwordTemp1234
EOF
USERDATA=$(gzip -c9 <${USERDATAFILE} | { base64 -w0 2>/dev/null || base64; })
METADATA=$(gzip -c9 <${METADATAFILE} | { base64 -w0 2>/dev/null || base64; })
source ~/govc-vcenter.sh
VM_NAME=Win-cloud-init1
govc vm.change -vm "$VM_NAME" \
-e guestinfo.userdata="${USERDATA}" \
-e guestinfo.userdata.encoding="gzip+base64"
govc vm.change -vm "$VM_NAME" \
-e guestinfo.metadata="${METADATA}" \
-e guestinfo.metadata.encoding="gzip+base64"
govc vm.power -on ${VM_NAME}
仮想マシンにデータを付与したので、ISOイメージなどのマウントは不要。何度か再起動すると立ち上がる。
ちなみに、ユーザデータ、メタデータを入れないでも、ディスクは最大まで拡張されている。(Linuxだとデータがないと拡張されない。)
Sysprepの代わり(結果としてSysprepはしているが)として、使えることがわかった。便利。
ただ、「どこに書いてあったんですか、誰が言ったんですか?、サポートされていますか?」勢の人にはおすすめできないが。