Tenemos varios contenedores LXC Linux ejecutándose en un host Linux en el centro de datos. Me pidieron que explorara la viabilidad de mover estos contenedores a Azure como parte de la estrategia de migración a la nube, pero me cuesta encontrar información sobre la compatibilidad con dicho escenario en Azure.
Entonces mis preguntas son:
- ¿Puedo simplemente alojar contenedores LXC Linux en una máquina virtual Linux en Azure?
- ¿Se pueden organizar los contenedores LXC con Kubernetes (por ejemplo, con Azue Kubernetes Service)?
- ¿Hay otras opciones aquí?
Respuesta1
La vieja pregunta y el problema probablemente estén resueltos, pero así es como mi configuración resolvería este problema.
Ejecuto mi host basado en el servidor Ubuntu 18.04 enOcéano Digitalusando principalmente esta configuración: https://blog.simos.info/trying-out-lxd-containers-on-ubuntu-on-digitalocean/
Dependiendo de sus necesidades de seguridad, es posible que desee configurar una solución VPN, pero hay un firewall y necesita abrir el puerto 8443 con otros puertos necesarios, como el 22.
Esto es un poco antiguo, pero contiene mucha información buena sobre LXC/LXD. https://stgraber.org/2016/04/12/lxd-2-0-remote-hosts-and-container-migration-612/
Agrega su DigitalOceanHost como host remoto:
OnPremHost#lxc config set core.https_address [::]:8443
OnPremHost#lxc config set core.trust_password something-secure
DigitalOceanHost#lxc config set core.https_address [::]:8443
DigitalOceanHost#lxc config set core.trust_password something-secure
OnPremHost#lxc remote add DigitalOceanHost "DigitalOcean IP"
Generating a client certificate. This may take a minute...
Certificate fingerprint: ca5484446dfgsdg4dfgs6gs4g6d465s4g6sgcg659h8gy8hg4ahdjhjkj6
ok (y/n)? y
Admin password for DigitalOceanHost:
Client certificate stored at server: DigitalOceanHost
OnPremHost#lxc snapshot localContainer remoteContainer
OnPremHost#lxc copy localContainer/remoteContainer DigitalOceanHost:DigitalOceanContainer
Luego administro los contenedores desde el Host local como:
OnPremHost#lxc list DigitalOceanHost:
+----------+---------+---------------------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+----------+---------+---------------------+------+------------+-----------+
| container| RUNNING | 10.10.10.10 (eth0) | | PERSISTENT | 1 |
+----------+---------+---------------------+------+------------+-----------+
OnPremHost#lxc exec lxchost3:container bash
container#
Verhttps://gist.github.com/berndbausch/a6835150c7a26c88048763c0bd739be6para más comandos lxc.
De esta manera, es fácil mantener los contenedores utilizando instantáneas como copias de seguridad almacenadas en el almacenamiento local y guiando la mayoría de las tareas.
Respuesta2
No proporciona metal desnudo. Es decir, elimine el Virt-Tax sobre el rendimiento como lo hacen LXC/LXD. De hecho, si no está ejecutando hosts C5 o M5 AWS Nitro, está pagando el impuesto virt independientemente del proveedor de la nube si no se proporciona LXD.