Installation de Calculate en LXC
Updated 13 Juin 2023
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:
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:
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
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.