Installation de Calculate en LXC

Updated 13 Juin 2023

LXC

Installer les paquets requis

Pour continuer, vous devez installer app-containers/lxc :

emerge -a app-containers/lxc

Installation de Calculate dans un conteneur

Pour installer Calculer Linux Container, exécutez:

lxc-create -n calculate -t download -- --server mirror.calculate-linux.org --arch x86_64 --dist scratch --release live
Downloading the image index
Downloading the rootfs
Downloading the metadata
The image cache is now ready
Unpacking the rootfs

---
You just created a Calculate container (release=23, arch=amd64, variant=default)

To enable sshd, run: rc-update add sshd

For security reason, container images ship without user accounts
and without a root password.

Use lxc-attach or chroot directly into the rootfs to set a root password
or create user accounts.

Remplacez calculate par le nom que vous voulez pour votre conteneur. L'application récupère automatiquement le conteneur sur le cloud et l'installe. Les conteneurs installés sont stockés dans le répertoire /var/calculate/lxc/

Note

Dans les commandes et chemins suivants, utilisez le nom du conteneur par lequel vous avez remplacé calculate.

Configuration du réseau

Configuration réseau de l'ordinateur hôte

Pour configurer le réseau dans un conteneur LXC, vous devez configurer le pont réseau sur l'hôte. Pour ce faire, sélectionnez l'une des deux options de configuration :

  • Si l'ordinateur hôte a plusieurs adresses IP - par exemple, si vous envisagez de faire fonctionner le conteneur sur un ordinateur de bureau opérant dans un réseau local et recevant l'IP via DHCP - vous pouvez configurer le réseau en [utilisant des conteneurs de réseau partagés] (network#ispolzovanie_obshchei_seti).
  • Si l'ordinateur hôte a une seule adresse IP - par exemple, si vous utilisez un conteneur sur un VPS ou un serveur dédié - vous pouvez configurer la [translation d'adresse réseau] (network#transliatsiia_ip-adresov) via l'unique interface.

Configuration du réseau du conteneur

Configurez le réseau pour votre conteneur:

/var/calculate/lxc/calculate/config

# network type if bridge is used
lxc.net.0.type = veth
# start the network at system start
lxc.net.0.flags = up
# interface inside the container
lxc.net.0.name = eth0
# bridge to be used by the virtual interface
lxc.net.0.link = br0
# random MAC for the network interface of the container (first number must be even)
lxc.net.0.hwaddr = 02:03:04:05:06:07

Remplacez l'adresse MAC 02:03:04:05:06:07. À noter que le premier chiffre doit être pair (les adresses dont le premier chiffre est impair sont des adresses multicast et ne peuvent pas être attribuées).

Démarrer le conteneur

Pour démarrer le conteneur, exécutez:

lxc-start calculate

Assurez-vous que le conteneur est prêt à fonctionner:

lxc-info calculate
Name:           calculate
State:          RUNNING
PID:            25107
CPU use:        3.03 seconds
BlkIO use:      51.98 MiB
Memory use:     61.21 MiB
KMem use:       4.39 MiB
Link:           vethXLWII2
 TX bytes:      516 bytes
 RX bytes:      516 bytes
 Total bytes:   1.01 KiB

Ajouter le conteneur au démarrage automatique:

ln -sf /etc/init.d/lxc /etc/init.d/lxc.calculate

rc-update add lxc.calculate

Pour que le système installé dans le conteneur démarre correctement une fois que le réseau est en place, créez un fichier contenant la règle suivante :

/etc/conf.d/lxc

rc_want="net.br0"

Configuration du système dans le conteneur

Connectez-vous au conteneur pour effectuer d'autres modifications ou ajustements.

lxc-attach calculate

Note

Vous pouvez également modifier les paramètres du conteneur depuis l'ordinateur hôte, en utilisant la syntaxe suivante :

lxc-attach [HTML_REMOVED] -- [HTML_REMOVED]

Réseau

Configuration du réseau en cas d'utilisation d'un réseau partagé

Si vous utilisez un réseau partagé (avec des IP locales), vous pouvez configurer le réseau soit avec DHCP, soit en spécifiant une adresse IP disponible et une adresse IP de routeur.

Si vous utilisez un serveur DHCP sur un réseau local, il suffit d'exécuter :

/etc/init.d/net.eth0 start

rc-update add net.eth0

Configuration du réseau pour utiliser NAT

Si vous utilisez la [translation d'adresse réseau] (NAT) (network#transliatsiia_ip-adresov), modifiez les paramètres de l'hôte en conséquence :

cl-setup-network --iface eth0:192.168.11.2:24 --route default:192.168.11.1 --dns 8.8.8.8

rc-update add net.eth0

Dans notre exemple, le conteneur utilise l'IP ~192.168.11.2~~ pour passer par ~192.168.11.1~.

Autres réglages

Vérifiez les paramètres de localisation et définissez le mot de passe root :

cl-setup-locale -l ru_RU --timezone Europe/Moscow

passwd

Vous pouvez également spécifier le nom d'hôte complet:

cl-setup-network --hostname calculate.mydomain.org

Vous pouvez vérifier l'état des modifications :

hostname -f

Ajout d'applications dans un conteneur

Mettre à jour Portage dans le conteneur:

cl-update

Au premier démarrage de l'outil, l'arbre Portage est extrait et les overlays activés.

Installez maintenant le logiciel dont vous avez besoin pour la journalisation et les travaux cron:

emerge -a app-admin/logrotate app-admin/syslog-ng sys-process/cronie

Une fois la configuration terminée, vous pouvez quitter le conteneur :

exit

Mise à jour vers la version 4.0

À partir de LXC 4.0, un fichier de configuration common.conf est utilisé pour remplacer les fichiers distincts relatifs à différents types de conteneurs. Lors de la mise à jour de app-containers/lxc à partir de versions antérieures, des ajustements doivent être apportés aux paramètres des conteneurs déjà en place. Pour corriger le chemin d'accès au fichier de configuration générale :

/var/calculate/lxc/calculate/config

#lxc.include = /usr/share/lxc/config/gentoo.common.conf
lxc.include = /usr/share/lxc/config/common.conf

Pour utiliser des logiciels qui fonctionnent avec /dev/shm (PostgreSQL, pour ne citer qu'un exemple), ajoutez un point de montage tmpfs à ce chemin d'accès dans le fichier de configuration du conteneur :

/var/calculate/lxc/calculate/config

lxc.mount.entry = none dev/shm tmpfs rw,nosuid,nodev,create=dir

Conclusion

Les conteneurs sont utiles car ils restent séparés du système principal. Vous pouvez découvrir leurs différentes fonctionnalités et même essayer de lancer Calculer Linux à partir d'autres systèmes.