You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用kubectl在AKS中创建Pod时端口映射失效问题咨询

AKS部署.NET5应用端口不生效问题解决方案
  • 核心误区澄清:kubectl run 命令中的 --port 参数仅为Kubernetes层面的容器端口声明,不会修改容器内应用本身的监听端口配置,这是端口不匹配的核心原因。
  • 第一步:修正.NET5应用监听端口
    .NET5默认监听5000(HTTP)、5001(HTTPS)端口,如需改为自定义端口,可在创建Pod时传入ASP.NET Core专用环境变量ASPNETCORE_URLS,示例命令:
    kubectl run net5pod --image net5demoapi:latest --port=8080 --env ASPNETCORE_URLS=http://+:8080
    
    也可在构建镜像时通过Dockerfile的ENV指令固化该配置,避免每次运行时传参。
  • 第二步:LoadBalancer服务端口配置修正
    LoadBalancer类型的服务需要配置targetPort参数匹配Pod内应用实际监听的端口,而非Pod声明的端口:
    1. 如果没有修改.NET5应用默认监听端口,应用仍跑在5000,创建服务的命令为:
    kubectl expose pod net5pod --type=LoadBalancer --name=net5api-service --port=80 --target-port=5000
    
    1. 如果已经通过环境变量将应用监听端口改为8080,targetPort对应改为8080即可。
  • 验证步骤
    • 执行kubectl logs net5pod查看应用启动日志,确认日志中打印的监听地址端口和预期一致
    • 执行kubectl describe svc net5api-service检查服务的Endpoints是否关联到正确的Pod端口
    • LB服务创建后执行kubectl get svc等待EXTERNAL-IP分配完成,直接访问该IP即可访问到你的API服务

内容的提问来源于stack exchange,提问作者Annamalai D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:54:04