首页 > 解决方案 > 使用 Kubectl 命令创建 POD 时,端口映射在 AKS 中不起作用

问题描述

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

标签: azure-aks

解决方案


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

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

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


推荐阅读