web-dev-qa-db-ja.com

「それに対する変更はインスタンス全体で持続しない」とは、実際には50-cloud-init.yamlで意味します

最近のUbuntuでは、netplanがネットワークアダプターを構成するデフォルトの方法です。私の1つに静的IPが欲しいのですが、その方法に関するガイドがいくつかあります。いくつか 編集するように指示 50-cloud-init.yaml。しかし、そのファイルには不吉な警告があります:

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

Askubuntuに関する1つの答えは、これを参照し、 ユーザーがそうするかどうか です。 (レンダラーがnetworkdに設定されていることに注意してください。)

どちらのアプローチが正しいですか?どちらも機能しますか?

最もわかりにくいのは、「インスタンス間で持続する」とはどういう意味ですか?設定は、再起動後も問題なく保持されます。 50-cloud-init.yamlの設定が失われるのはいつですか?

5
aggieNick02

「インスタンス全体ではない」という警告は、最初のcloud-init実行(起動時)をまだ実行する必要があるイメージにyamlファイルへの変更を入力すると、変更がcloud-initによって上書きされることを意味します。

Cloud-initは、最初の起動時にconfigreのものに使用されます。そのため、最初の(場合によっては後続の)起動時にファイルを変更します。 50 ... yamlファイルはその1つです。

Cloud-initがイメージで初めて実行されると、それらの変更は再度実行されません。

したがって、警告は、コンテナーや仮想マシンなどの未使用の未使用のシステムイメージ上のファイルを変更しないようにアドバイスします。

ちなみに、「cloud-init clean」コマンドを実行すると、cloud-initのステータスが「これまでに実行されたことがない」に戻り、50 .... yamlファイルも再生成されます。

5
Lismatro

/etc/netplan/50-cloud-init.yamlへの変更は再起動後も維持されますが、インスタンスをバックアップして新しいインスタンスに復元した場合は(再起動後にバックアップが行われた場合でも)変わりません。

Convert/etc/network/interfaces to netplan で説明されている解決策は、インスタンス間で永続的になると思いますが、とにかくすべてのインスタンスのMACアドレスを更新する必要があるとわかりました...

そこで、次のような小さなスクリプトの作成を終了しました。

  • /etc/netplan/50-cloud-init.yamlの最後に設定を追加します
  • 実行Sudo netplan apply

インスタンスを作成するたびにこのスクリプトを1回実行するだけです。

0
max