CMLで構築してるいるときにあった小ネタvol.3
[備忘録]
— うさぎエンジニア (@usagi_automate) 2021年1月12日
CMLでUbuntu触る時
初期セットアップはEDIT CONFIGでcloud-initを使うと非常に楽
write_files: ファイル内容上書き(yamlなのでインデント注意)
runcmd: でコマンドを書いたら起動時に実行してくれる
(注意点:変更はWipeしないとできない、コマンドコケてても気づけない) pic.twitter.com/ohGKzkjAu9
cloud-initは画像赤枠のEDIT CONFIGから設定が可能です
EDIT CONFIGの変更には条件があるようです
- サーバが停止している
- サーバーが初期化されている
直接書き込むことで変更が可能です
変更後は忘れずに [ save ] を実施しましょう
初期化はWIPE NODEをクリックすることで可能です。
cloud-initの記載方法は下記Qiitaを参考にさせていただきました! qiita.com
実際に作成したconfigは下記です。
#cloud-config password: PASSWORD chpasswd: { expire: False } hostname: intenal-sv4 ssh_pwauth: True ssh_authorized_keys: - your-ssh-pubkey-line-goes-here timezone: Asia/Tokyo locale: ja_JP.utf8 write_files: - path: /etc/netplan/50-cloud-init.yaml content: | network: ethernets: ens2: addresses: - 10.0.4.2/24 gateway4: 10.0.4.1 dhcp4: false nameservers: addresses: - 192.168.100.1 version: 2 runcmd: - sudo netplan apply
UbuntuのIPaddressは/etc/netplan/50-cloud-init.yaml
を変更することで設定が可能です。
cloud-initは起動の度に走るわけではなく、初回起動時にのみ動作するようで、
runcmdでip add add 10.0.4.2/24 dev ens2
のように設定をしてしまうと、サーバを停止→起動すると設定が飛んでしまいます。
なので、/etc/netplan/50-cloud-init.yaml
を変更するようにしました。