Azure aks 无法访问外部 IP

Azure aks could not access to EXTERNAL-IP

我只是创建了 aks 并创建了示例服务。

kubectl get service azure-vote-front --watch

NAME               TYPE           CLUSTER-IP   EXTERNAL-IP    PORT(S)        AGE  
azure-vote-front   LoadBalancer   10.0.1.71    13.71.XXX.XXX   80:31619/TCP   1h  

我想访问 13.71.xxx.xxx:31619 但它正在等待而不是 return.

您只需通过浏览器访问地址13.71.xxx.xxx即可,无需31619端口

如果一切设置正确,导航到 http://www.13.71.xxx.xxx 应该会直接转到应用程序。

要确保应用程序正常运行,您可以做的是调查映像和 pod。

对于图像,您可以 运行 在本地使用 Docker。 docker run azure-vote-front image=nameOfImage"。如果可行,那么您已确定该映像可以离线运行,这是很好的第一步。

下一步是调试您的 pod。您可以使用命令 kubectl describe pod azure-vot-front-generated-id-number 来获取部署状态。如果您在这里也找不到任何错误,那么我建议您检查日志。 kubectl logs -f azure-vote-froned-generated-id-number 将为您提供应用程序的日志。我的猜测是,通过这一步您会发现错误并能够修复它。

PORT(S) 下的输出部分显示了集群内的端口映射。 external-ip 上端口 80 上的任何请求都将被过滤到集群内的端口 31619。 Kubernetes 已确保在请求到达您的应用程序时将请求过滤回应用程序的端口 80。只要您在 Docker 文件中公开端口,就应该没问题。

您的图像存储在哪里?

当你配置 K8S yaml 文件时,你给它提供了图像位置,你需要确保你的服务有它的凭据。

例如,如果您将其存储在 Azure Container Registry you will need to config the authentication between them to give AKS access to your image Authentication between ACR and AKS cluster for pulling images

自己检查一下运行 kubectl get pods,如果看到under status - 'ImagePullBackOff' 说明拉取镜像操作失败。 深入挖掘 - 运行 kubectl describe pod <your pod name> - 在 EVENTS 下 - 您会找到错误消息。