LXD and MACVLAN

You can configure the instances to assign IPs manually using their own internal network config, or you could automate that using cloud-init, similar to how it can be done with routed NIC types (that don’t support DHCP).

See How to get LXD containers get IP from the LAN with routed network