主机和节点之间的 Kubernetes 端口转发? #负载均衡器

Kubernetes port forwarding between host machine and nodes? #LoadBalancer

这个周末我有 1 个任务,让 OpenFaas Cloud 在我的家庭服务器上运行。免责声明,本人对Kubernetes知之甚少

我一直在关注这里的 OpenFaas Cloud 指南。 slack 小组非常有帮助,但我仍然坚持: https://github.com/openfaas-incubator/ofc-bootstrap

所以我在主机上有一个 kubernetes 集群 (Ubuntu 16.04)。它的IP是192.168.0.98.

我想在我的主机 (192.168.0.98) 上映射端口 80,以便它将流量发送到 LoadBalancer(10.104.107.60)

kubernetes                                   ClusterIP      10.96.0.1       <none>        443/TCP                      6h30m

nginxingress-nginx-ingress-controller        LoadBalancer   10.104.107.60   <pending>     80:31166/TCP,443:30837/TCP   4h42m

nginxingress-nginx-ingress-default-backend   ClusterIP      10.97.123.87    <none>        80/TCP                       4h42m

LoadBalancer 是 运行 nginx-ingress,当我询问 OpenFaas 组上的端口转发时,他们提到:

Nginx -> 路由器 -> 认证 -> 网关 -> 函数

On the cloud a load balancer gets an IP and you set the DNS then accessing the load balancer corresponds to nginx You are on premise so you need to edit your nginx config so that it binds to port 80/443 or use HAProxy on the host to forward to the nginx you have running on the node inside the cluster.

这有点超出了我的技能范围:(

假设如您所述设置了 Hyper-V 级端口转发,您将希望将主服务从 LoadBalancer 切换到 NodePort,并硬连接特定节点端口或转发恰好被选中的端口。

通过升级 nginx-ingress-controller 的相应 helm 图表,您可以很容易地将 LoadBalancer 服务类型更改为 NodePort 类型:

helm upgrade nginxingress stable/nginx-ingress --set \
controller.service.type=NodePort --recreate-pods

您现在应该可以通过 http://localhost_ip:node_port/

访问 openfaas 网关了