我想使用本地提供商(re lxc)在云实例上安装 juju-gui。但是,我遇到的问题是 juju-gui 将安装到 lxc 容器本身中,并且该容器将是一个不可路由的 10.xxx 地址。
我按照这些做了一些进步一般说明
之后,创建我的密钥文件,我确保 juju-gui 容器和主机(以及/etc/ssl/certs
主机/etc/ssl/private
和/var/lib/lxc/cn_name/rootfs/etc/ssl/certs
容器/var/lib/lxc/cn_name/rootfs/etc/ssl/private
中)都有它们的副本。
将我的浏览器指向主机云实例的公共 IP 我确实会被重定向到 juju-gui web 管理员登录页面但它只是一直旋转“连接到 Juju 环境”??
我确信之前有人这样做过,但我现在却无法弄清楚哪里配置不正确。
我的目标是能够将我的浏览器指向云实例公共地址,登录到 juju-gui,并且因为我为本地提供商设置了额外的魅力/服务,所以将额外的魅力/服务部署到该云实例中的更多 LXC 容器中。
答案1
我最终仅使用以下 IPTABLES 命令将 HTTP 和 HTTPS 访问转发到 JUJU-GUI 正在运行的 LXC 容器:
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
使用上述内容,我现在能够从互联网访问以“本地”提供商模式在 LXC 容器中运行的 Juju-GUI。
任何已部署的 charm...都部署到同一主机上的其他 LXC 容器。
答案2
简而言之,目前这不是一种经过测试和支持的设置 Juju GUI 的方法。它需要与 juju 状态服务器进行直接的 wss 通信才能运行。不过,团队对此很感兴趣,我很好奇您是否可以分享一些有关您的设置的更多细节,看看我们是否可以做一些工作来启用和支持它。
答案3
您只需在计算机终端上使用此命令即可向您的容器添加静态路由。
sudo route add -net 10.X.X.X/24 gw SERVERIP
例如,如果我的公共服务器地址是,1.1.1.1
并且我的容器的地址是,10.0.3.194/24
则要使用的命令是:
sudo route add -net 10.0.3.0/24 gw 1.1.1.1