LXC和Ingress上Kubernetes的迷人分布
我正试图从本地LXC容器上托管的Kubernetes集群中获得一个体面的解决方案来公开我的服务 设置如下所示: 主机:运行LXC集群的Ubuntu18.04 在LXC内部,有一个运行我的应用程序的Kubernetes分发版和另一个运行NGINX反向代理的容器 我还在kubernetes内部安装了Metallb负载平衡器,并使用了所有需要internet公开的k8s服务,如LXC和Ingress上Kubernetes的迷人分布,kubernetes,load-balancing,lxc,Kubernetes,Load Balancing,Lxc,我正试图从本地LXC容器上托管的Kubernetes集群中获得一个体面的解决方案来公开我的服务 设置如下所示: 主机:运行LXC集群的Ubuntu18.04 在LXC内部,有一个运行我的应用程序的Kubernetes分发版和另一个运行NGINX反向代理的容器 我还在kubernetes内部安装了Metallb负载平衡器,并使用了所有需要internet公开的k8s服务,如负载平衡器: apiVersion:v1 种类:服务 元数据: 名称空间:blazedesk 名称:blazedesk sde
负载平衡器
:
apiVersion:v1
种类:服务
元数据:
名称空间:blazedesk
名称:blazedesk sdeweb服务器
标签:
应用程序:blazedesk
规格:
端口:
-港口:80
目标港:80
名称:“http”
-港口:443
目标港:443
名称:“https”
选择器:
应用程序:blazedesk
层:sdeweb服务器
类型:负载平衡器
到目前为止,我是如何将所有到达主主机的http和https流量重定向到NXGINX反向代理的:
lxc-config-device-add-proxy-myport80-proxy-listen=tcp:0.0.0:80-connect=tcp:127.0.0.1:80-proxy\u-protocol=true
lxc-config-device-add-proxy-myport443-proxy-listen=tcp:0.0.0:443-connect=tcp:127.0.0.1:443-proxy\u-protocol=true
然后,Nginx被配置为将匹配DNS地址的流量重定向到k8s服务外部IP:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/blazedesk-sdeweb-server LoadBalancer 10.152.183.215 10.190.26.240 80:31476/TCP,443:31055/TCP 17d
proxy\u passhttps://10.190.26.240;代码>
可以想象,此设置意味着大量的手动工作,尤其是当k8s服务重新启动并且metallb loadbalancer分配了新的IP时
有没有一种更简单的方法可以绕过LXC层,直接将来自主机的流量重定向到kubernetes入口?我实际上让它与作为负载平衡器服务公开的NGINX入口控制器一起工作,并使用iptables将http和https流量从主机重定向到入口外部ip