【问题标题】:Kubernetes port forwarding between host machine and nodes? #LoadBalancer主机和节点之间的 Kubernetes 端口转发? #LoadBalancer
【发布时间】:2019-07-04 08:10:56
【问题描述】:

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

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

所以我在主机(Ubuntu 16.04)上有一个 kubernetes 集群。它的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

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

Nginx -> 路由器 -> 认证 -> 网关 -> 功能

在云端,负载均衡器获取 IP,然后您设置 DNS 访问负载均衡器对应于 nginx 你在前提所以 您需要编辑您的 nginx 配置,使其绑定到端口 80/443 或 在主机上使用 HAProxy 转发到您正在运行的 nginx 集群内的节点。

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

【问题讨论】:

  • 你是如何设置本地集群的。它是否在某种虚拟机中运行?
  • 是的,它在 hyper-v 上运行,它是一个单节点集群
  • 你必须通过 Hyper-V 执行此操作,直到数据包实际到达 VM 才涉及 Kubernetes,主机网络和 VM 之间的网络完全取决于 Hyper-V跨度>
  • 到宿主机的hyper-v全部排序,真实服务器是0.124,vm是0.98。使虚拟机正常的数据包

标签: kubernetes openfaas


【解决方案1】:

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

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

您现在应该可以通过 http://localhost_ip:node_port/ 访问 openfaas 网关

【讨论】:

    【解决方案2】:

    假设 Hyper-V 级别的端口转发设置如您所述,您需要将主服务从 LoadBalancer 切换到 NodePort,然后硬连线特定节点端口或转发碰巧选择的任何一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      • 2019-07-15
      • 2020-06-01
      • 1970-01-01
      相关资源
      最近更新 更多