On Ubuntu it is still only available via snap. I used to run a 4 node Raspberry Pi 4 lxd cluster. One of the nodes failed over a weekend while I was out of town. The containers which were running on the node properly restarted on a different node. That should have been the end of it until I was back in town and could restore the node to operational status. Unfortunately later that day the lxd snap decided to automatically update. It updated properly on the 3 nodes which remained operational but of course the failed node could not update. Once the other nodes were upgraded the cluster refused to come up because the failed node wasn't running the same version of lxd as the rest of the cluster. I mean technically it wasn't running anything but as far as lxd was concerned it was running a differing version even though it was down.
I noticed the entire cluster was down because my Plex server ran on it and I couldn't watch a movie when I tried later that evening. Luckily I was able to ssh in and determine the issue quickly. Force removing the failed node from the cluster got things going again.
Lxd was quickly replaced by K3S which is unfortunate because the lxd cluster better fit my needs, except reliability, and was much easier to configure/manage.
Even for small platform edge K8S clusters I actual find microk8s much easier than K3S but that would put me back in snap upgrade hell.
I hope Mark Shuttleworth and Stéphane Graber are reading this. Someone has sabotaged a perfectly good docker replacement with a series of really bad decisions.
Having said that, did you try to pin LXD version? For example
I noticed the entire cluster was down because my Plex server ran on it and I couldn't watch a movie when I tried later that evening. Luckily I was able to ssh in and determine the issue quickly. Force removing the failed node from the cluster got things going again.
Lxd was quickly replaced by K3S which is unfortunate because the lxd cluster better fit my needs, except reliability, and was much easier to configure/manage.
Even for small platform edge K8S clusters I actual find microk8s much easier than K3S but that would put me back in snap upgrade hell.