
Quiero instalar juju-gui usando un proveedor local (re lxc) en una instancia en la nube. Sin embargo, el problema que tengo es que juju-gui se instalará en un contenedor lxc y ese contenedor será una dirección 10.xxx no enrutable.
Hice algunos progresos siguiendo estosinstrucciones generales
Después de crear mis archivos clave, me aseguré de que el contenedor juju-gui tuviera una copia de ellos, así como del host ( /etc/ssl/certs
y /etc/ssl/private
en el host y /var/lib/lxc/cn_name/rootfs/etc/ssl/certs
en /var/lib/lxc/cn_name/rootfs/etc/ssl/private
el contenedor).
Al apuntar mi navegador a la IP pública de la instancia de la nube del host, me redirigen a la página de inicio de sesión del administrador web de juju-gui, pero sigue girando con "Conectando al entorno de Juju".
Estoy seguro de que alguien ha hecho esto antes, pero ahora estoy atascado tratando de descubrir qué no está configurado correctamente.
Mi objetivo es poder apuntar mi navegador a la dirección pública de la instancia de la nube, iniciar sesión en juju-gui y, como estoy configurado para el proveedor local, implementar accesos/servicios adicionales en más contenedores LXC dentro de esa instancia de la nube.
Respuesta1
Finalmente utilicé los siguientes comandos IPTABLES para reenviar el acceso HTTP y HTTPS al contenedor LXC en el que se ejecuta JUJU-GUI:
sudo iptables -t nat -I PREROUTING -p tcp -d <host-ip> --dport 443 -j DNAT --to <lxc-ip>:443
sudo iptables -t nat -I PREROUTING -p tcp -d <host-ip> --dport 80 -j DNAT --to <lxc-ip>:80
sudo iptables -A FORWARD -p tcp -d <lxc-ip> --dport 443 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d <lxc-ip> --dport 80 -j ACCEPT
Usando lo anterior, ahora puedo acceder a Juju-GUI que se ejecuta en un contenedor LXC en modo de proveedor "local" desde Internet.
Cualquier acceso implementado... se implementa en otros contenedores LXC en el mismo host.
Respuesta2
La respuesta corta es que actualmente esta no es una forma probada y compatible de configurar la GUI de Juju. Necesita tener comunicación directa con los servidores del estado de Juju para funcionar. Sin embargo, el equipo está interesado en esto y tengo curiosidad por saber si podría compartir más detalles sobre su configuración para ver si hay trabajo que podamos hacer para habilitarla y respaldarla.
Respuesta3
Solo tienes que usar este comando en la terminal de tu computadora para agregar una ruta estática a tu contenedor.
sudo route add -net 10.X.X.X/24 gw SERVERIP
por ejemplo, si la dirección de mi servidor público es 1.1.1.1
y la dirección de mi contenedor es 10.0.3.194/24
el comando a usar es:
sudo route add -net 10.0.3.0/24 gw 1.1.1.1