azure-aks - 使用 Kubectl 命令创建 POD 时,端口映射在 AKS 中不起作用
问题描述
我是新手AKS
,正在尝试创建POD
一个Load Balancer
服务来将 pod 暴露给互联网。我有一张图片.Net5 API application
。我POD
用Port=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
不起作用。有人可以让我知道我缺少任何配置或步骤吗?
解决方案
如果它是一个网络应用程序,试试这个,而不是在你的 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
推荐阅读
- python - 熊猫数据框问题:试图在数据框的切片副本上设置一个值
- angular - 在 Angular 中观看模板参考值的成本是多少
- magento - 订单小计为 0 时出现 PayPal 10413 错误
- spring-boot - PagingAndSortingRepository 按 URL 上的字段过滤
- matlab - 将公里转换为地理坐标的问题
- python - Numpy 函数检查 `>=0` 对浮点错误的容忍度
- maven - Maven 依赖项中有两个相同的类。密封违规
- mongodb - 将动态结构传递给golang中的函数
- php - 将 PHP 数组按列存储到 csv
- c++ - 仿射密码解密,输出大小写不同