使用 Kubectl 命令创建 POD 时端口映射在 AKS 中不起作用

Port mapping is not working in AKS while creating a POD using Kubectl command

我是 AKS 的新手,正在尝试创建 PODLoad Balancer 服务以将 pod 公开到 Internet。我有一张 .Net5 API application 的图片。我用 Port=8080 创建了一个 POD(kubectl run net5pod --image net5demoapi:latest --port=8080),但是当我尝试通过使用 curl 命令连接到 pod (kubectl exec -it net5pod -- /bin/bash) 来访问我的应用程序时,发现我的应用程序是 运行 in port 5000 而不是 port 8080 ]. Load Balancer service 也会发生同样的情况,我们在创建 POD/LB Service 时提供的自定义端口不起作用。有人可以告诉我是否缺少任何配置或步骤吗?

如果它是一个网络应用程序,试试这个而不是在你的 pod = kubectl port-forward pods/net5pod 8080 中执行 shell。现在您可以通过 http://localhost:8080

访问您的应用程序

也可能是容器镜像有一个从端口 5000 开始的入口点。最简单的解决方案是通过 kubectl expose 为 pod 创建一个服务并指定 --port=8080--target-port=5000.更复杂的解决方案是覆盖入口点。

这里也有解释:https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service