LXD-vertrouwensconfiguratie automatiseren
Categories:
Projects:
c2platform/c2/ansible-inventory ,
c2platform.dev
Overzicht
Deze handleiding legt de automatiseringsaanpak uit voor
LXD-vertrouwensconfiguratie
die deel uitmaakt van
Ansible Desktop-rol ( c2platform.dev.desktop).
LXD via snap installeren is eenvoudig, maar het configureren van vertrouwensrelaties
vereist speciale aandacht. Een script met passwordless sudo kan vertrouwensrelaties beheren
zonder een uitlog-/inlogcyclus om
LXD-groepsrechten te activeren.
Een Ansible-ontwikkelomgeving is single-user en vertrouwt op virtualisatie met VirtualBox en LXD. Het C2 Platform ondersteunt het overdragen van een ontwikkeldesktop aan een andere gebruiker, die het setupscript opnieuw kan uitvoeren of deze stappen kan volgen. De handleiding behandelt ook mogelijke conflicten, zoals een bestaande vertrouwensrelatie die door een andere gebruiker is aangemaakt.
Probleem
Na installatie van
LXD als snap en activering van de ontwikkelomgeving
geeft een commando zoals vagrant status c2d-rproxy1 een foutmelding
dat de vertrouwensrelatie niet is ingesteld. Dit komt doordat de
omgeving voor het eerst wordt opgezet en de Vagrant LXD-provider vereist dat de vertrouwensrelatie
wordt opgezet voordat er interactie met LXD plaatsvindt.
(c2) onknows@io1:~/git/gitlab/c2/ansible-c2d$ vagrant status c2d-rproxy1
The LXD provider could not authenticate to the daemon at https://127.0.0.1:8443.
You may need configure LXD to allow requests from this machine. The
easiest way to do this is to add your LXC client certificate to LXD's
list of trusted certificates. This can typically be done with the
following command:
$ lxc config trust add /home/onknows/.vagrant.d/data/lxd/client.crt
You can find more information about configuring LXD at:
https://documentation.ubuntu.com/lxd/en/latest/howto/initialize/
Directe LXD-commando’s mislukken eveneens zonder groepsrechten:
(c2) onknows@io1:~/git/gitlab/c2/ansible-c2d$ lxc ls
Error: LXD unix socket "/var/snap/lxd/common/lxd/unix.socket" not accessible: permission denied
(c2) onknows@io1:~/git/gitlab/c2/ansible-c2d$ groups
onknows sudo
Oplossing met sudo
Passwordless sudo maakt het mogelijk om vertrouwensrelaties te controleren en te beheren zonder actieve LXD-groepsrechten. Bestaande vertrouwensrelaties weergeven:
sudo lxc config trust ls
Voorbeelduitvoer met een conflicterende client.crt-vertrouwensrelatie:
+--------+------------+---------------+--------------+-----------------------------+-----------------------------+
| TYPE | NAME | COMMON NAME | FINGERPRINT | ISSUE DATE | EXPIRY DATE |
+--------+------------+---------------+--------------+-----------------------------+-----------------------------+
| client | client.crt | bobtestc2@io1 | 85811f508645 | Aug 6, 2026 at 7:36am (UTC) | Aug 3, 2036 at 7:36am (UTC) |
+--------+------------+---------------+--------------+-----------------------------+-----------------------------+
De conflicterende vertrouwensrelatie verwijderen via fingerprint:
sudo lxc config trust remove 85811f508645
De vereiste vertrouwensrelatie toevoegen:
sudo lxc config trust add /home/onknows/.vagrant.d/data/lxd/client.crt
De bijgewerkte vertrouwenslijst verifiëren:
sudo lxc config trust ls
Voorbeelduitvoer:
+--------+------------+-------------+--------------+-----------------------------+-----------------------------+
| TYPE | NAME | COMMON NAME | FINGERPRINT | ISSUE DATE | EXPIRY DATE |
+--------+------------+-------------+--------------+-----------------------------+-----------------------------+
| client | client.crt | onknows@io1 | dc2f65e73a7d | Aug 7, 2026 at 5:37am (UTC) | Aug 4, 2036 at 5:37am (UTC) |
+--------+------------+-------------+--------------+-----------------------------+-----------------------------+
Verificatie
Vagrant-status controleren:
vagrant status c2d-rproxy1
Voorbeelduitvoer:
Current machine states:
c2d-rproxy1 not created (lxd)
The environment has not yet been created. Run `vagrant up` to
create the environment. If a machine is not created, only the
default provider will be shown. So if a provider is not listed,
then the machine is not created for that environment.
De machine starten:
vagrant up c2d-rproxy1
Dit slaagt zonder actieve LXD-groepsrechten in de sessie.
Aanvullende informatie
- LXD: LXD is een lichtgewicht, open-source virtualisatieplatform dat de mogelijkheden van traditionele virtuele machines combineert met de flexibiliteit van Docker-containers om virtuele omgevingen efficiënt te beheren.
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.