有什么最好的解决方案来取代kubernetes端口转发



我正在rancher服务器k3s上工作,以提高我对这些解决方案的了解。

我想在局域网上公开容器服务,这就是我使用kubectl port-forward的原因。

kubectl port-forward --namespace=ns-name --address LAN-IP service/hello 30104:8080

但我可以在一些网络资源中看到,这不是一个可靠的解决方案,只是用于本地测试目的。

我试图用ingress替换它们,但除了rancher组件之外,我在ingressDNSnginx-ingress之间有点迷失了方向。我知道load balancer需要一个云提供商,例如拥有一个公共IP,并处理负载均衡器的<pending>状态。

你能告诉我在没有云提供商的情况下如何在局域网中更换port-forward吗?

[编辑@Rajesh Dutta]

我已经使用了NodePort,但是,在没有端口转发的情况下,服务公开为NODE_IP:PORT,而不是LAN_IP:PORT。我需要从集群之外加入它。

这就是我所做的:

1-创建部署

kubectl create deployment hello --image=gcr.io/google-samples/node-hello:1.0 --port=8080 --replicas=2

2-公开部署(创建服务(

kubectl expose deployment hello --type=NodePort

3-正向服务

kubectl port-forward --namespace=ns-name --address local-ip service/hello 30104:8080

IP架构

现在,考虑到我将有几个服务,我会找到最好的方法来取代端口转发。

首先,我建议使用NodePort服务。这将向NodePort(30000-32767(公开您的应用程序。稍后,如果你愿意,你可以选择切换到入口。

假设您正在尝试使用部署类型的对象

命令:

kubectl expose deployment deployment-name --type=NodePort --port=8080 --target-port=<rancher server port>

相关内容

  • 没有找到相关文章

最新更新