I’m exploring the features of Incus and have a question about integrating with external DNS. Is it possible to configure an external DNS so that when a VM or container is instantiated in Incus, the DNS registration is done automatically?
Context
I’m currently using Incus to manage an environment with multiple VMs and containers. Manually assigning IP addresses and domain names has become a tedious and error-prone process. Automating this task would be extremely beneficial to keep the environment organized and efficient.
Specific Questions
Does Incus Support This Functionality? - Is there a native feature in Incus that allows for this configuration?
Recommended Tools or Scripts? - If it’s not a native feature, is there a recommended tool or script that can be integrated with Incus to achieve this?
Practical Experiences - Has anyone implemented something similar and can share their experience and potential pitfalls to avoid?
When you launch system containers and virtual machines with Incus, you can configure the networking so that the instances either take their network configuration directly from your network (unmanaged), or take it from the Incus private bridge (managed network, managed by Incus).
In the first case, you would be using your existing networking infrastructure to provide the networking configuration of your liking. That process is transparent to Incus and you have full control to configure as you wish. I am referring to macvlan, routed, bridged networking, etc. Your instances are communicating directly with your network infrastructure.
In the second case your instances would be receiving private IP addresses, that you may make static, if you require so. You may use proxy devices to expose individual ports from instances, but the IP addresses would not be exposed to the network.
I am using Incus with a managed network based on OVN for my containers and virtual machines. I would like to automate the process of external DNS registration when I instantiate a new VM or container. Is the best approach for this through custom scripts?