我试图在没有运气的情况下做以下一周!我想在机器部署过程中创建一个 MACVLAN。我已经使用 Cloud-Init 语法为此过程提供了代码:
#cloud-config
write_files:
- content: |
#!/bin/bash
sudo ip link add eth0 link enp0s3 type macvlan mode bridge
sudo ifconfig eth0 up
path: /tmp/macvlan.sh
permissions: '777'
- content: |
[Unit]
Description=macvlan setup service
[Service]
ExecStart=/etc/init.d/macvlan.sh
[Install]
WantedBy=multi-user.target
path: /tmp/macvlan.service
permissions: '777'
runcmd:
- sudo mv /tmp/macvlan.sh /etc/init.d/macvlan.sh
- sudo mv /tmp/macvlan.service /etc/systemd/system/macvlan.service
- systemctl enable macvlan
- systemctl start macvlan
所以现在我想知道如何在部署过程中自动使用这个代码?我知道有一种方法可以手动使用代码,如下所示:
maas $PROFILE machine deploy $SYSTEM_ID user_data=$(base64 ./import_key.sh)
但我希望 MaaS 自动为所有机器执行此操作(因为我正在使用 Juju 控制器部署新机器,而我无法手动执行此操作)。如果无法使用 Cloud-Init,那么是否可以使用 Curtin?如何?