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

如何在Azure Kubernetes Service中通过IP访问SwaggerHub应用UI

解决AKS中通过IP访问SwaggerHub UI的问题

1. 确认LoadBalancer服务状态

先执行命令查看SwaggerHub相关的LoadBalancer服务状态,确认外部IP已正常分配:

kubectl get svc -n <你的SwaggerHub命名空间>

找到对应服务(通常名称包含swaggerhub),检查EXTERNAL-IP列是否为有效公网IP,而非pending状态。如果是pending,等待AKS完成负载均衡器分配,或检查AKS集群的负载均衡器配置权限。

2. 验证Pod运行状态

确保所有SwaggerHub组件的Pod都正常运行:

kubectl get pods -n <你的SwaggerHub命名空间>

所有Pod的状态应为Running,且READY列显示就绪(比如1/1)。若有异常Pod,查看日志排查:

kubectl logs <异常Pod名称> -n <你的SwaggerHub命名空间>

3. 修改SwaggerHub配置以支持IP访问

SwaggerHub默认依赖域名绑定,需调整配置让它接受IP访问:

  1. 找到SwaggerHub的ConfigMap(通常名称为swaggerhub或类似):
kubectl get configmap -n <你的SwaggerHub命名空间>
  1. 编辑该ConfigMap:
kubectl edit configmap <ConfigMap名称> -n <你的SwaggerHub命名空间>
  1. 在配置中找到SWAGGERHUB_BASE_URL参数,将其值改为http://<LoadBalancer的外部IP>(测试场景用HTTP即可,若需HTTPS则改为https://)。
  2. 保存退出后,重启SwaggerHub的相关Pod,让配置生效:
kubectl rollout restart deployment <SwaggerHub部署名称> -n <你的SwaggerHub命名空间>

4. 检查网络与防火墙规则

  • 确认AKS集群的**网络安全组(NSG)**已允许外部访问LoadBalancer服务的对应端口(通常是80或443)。
  • 检查本地网络是否能连通该IP的对应端口,可使用telnet <LoadBalancer-IP> 80或curl http://<LoadBalancer-IP>测试连通性。

5. 临时端口转发测试(排查集群内部问题)

如果上述步骤仍无法访问,可通过端口转发直接连接集群内服务,验证服务本身是否正常:

kubectl port-forward svc/<SwaggerHub服务名称> 8080:80 -n <你的SwaggerHub命名空间>

然后在本地浏览器访问http://localhost:8080,若能正常打开UI,说明集群内部服务正常,问题出在外部网络或LoadBalancer配置上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:25:26