Kubernetes 部署在EKS上的服务在其外部IP上不应答 我创建了一个小应用程序,制作了一个docker映像,它可以运行 使用docker运行在本地进行优化 我在amazon上创建了一个EKS集群 我将映像放到ECR上,为部署和负载平衡器服务编写了一个yaml文件,并使用kubectl apply-f部署到我的集群

Kubernetes 部署在EKS上的服务在其外部IP上不应答 我创建了一个小应用程序,制作了一个docker映像,它可以运行 使用docker运行在本地进行优化 我在amazon上创建了一个EKS集群 我将映像放到ECR上,为部署和负载平衡器服务编写了一个yaml文件,并使用kubectl apply-f部署到我的集群,kubernetes,kubectl,aws-load-balancer,amazon-eks,Kubernetes,Kubectl,Aws Load Balancer,Amazon Eks,我可以看到我的服务: $ kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frd-front LoadBalancer 10.100.199.8 a2c269b1619ee11ea90f20636eb75c46-116080964

我可以看到我的服务:

$ kubectl get svc
NAME         TYPE           CLUSTER-IP     EXTERNAL-IP                                                               PORT(S)        AGE
frd-front    LoadBalancer   10.100.199.8   a2c269b1619ee11ea90f20636eb75c46-1160809648.us-east-2.elb.amazonaws.com   80:32594/TCP   40m
kubernetes   ClusterIP      10.100.0.1     <none>                                                                    443/TCP        22h
$kubectl获得svc
名称类型CLUSTER-IP外部IP端口年龄
frd前负载平衡器10.100.199.8 a2c269b1619ee11ea90f20636eb75c46-116089648.us-east-2.elb.amazonaws.com 80:32594/TCP 40m
kubernetes ClusterIP 10.100.0.1 443/TCP 22h
但是如果我去,就没有回应了

  • 如何开始对此进行故障排除
  • 你有什么想法吗

谢谢=)

问题可能是以下两个原因之一:

  • Docker image:该映像可能未按预期在所述端口上显示输出

  • K8s服务:服务YAML可能配置了错误的目标端口或服务端口

  • 如果你发现这两个原因都没有问题

    尝试在吊舱上使用PortForward并检查天气是否可用

    用法: 检查吊舱

    kubectl port-forward pod-name-765d459796-258hz 8080:8080 // host-port:container-port
    
    检查服务

    kubectl port-forward svc/myservice 80:8080
    
    • 如果两者都工作正常,则说明负载平衡器端或服务出站或网络策略存在问题

    • 如果端口转发后仍不工作,则发出docker映像或部署yaml


      • 问题可能是以下两个原因之一:

      • Docker image:该映像可能未按预期在所述端口上显示输出

      • K8s服务:服务YAML可能配置了错误的目标端口或服务端口

      • 如果你发现这两个原因都没有问题

        尝试在吊舱上使用PortForward并检查天气是否可用

        用法: 检查吊舱

        kubectl port-forward pod-name-765d459796-258hz 8080:8080 // host-port:container-port
        
        检查服务

        kubectl port-forward svc/myservice 80:8080
        
        • 如果两者都工作正常,则说明负载平衡器端或服务出站或网络策略存在问题

        • 如果端口转发后仍不工作,则发出docker映像或部署yaml


        你可以从集群内部访问你的应用程序吗?@KFC_u我可以使用Umesh提到的kubectl port forward访问我的应用程序。所以我知道应用程序有响应,我知道服务有响应。我想知道问题是否在于我将服务设置为侦听端口80,而端口80通常在默认情况下被阻止。我需要另一个步骤来打开集群上的端口80吗?你可以从集群内部访问你的应用程序吗?@KFC_uu我可以使用Umesh提到的kubectl port forward访问我的应用程序。所以我知道应用程序有响应,我知道服务有响应。我想知道问题是否在于我将服务设置为侦听端口80,而端口80通常在默认情况下被阻止。我需要另一个步骤来打开群集上的端口80吗?谢谢,这确实有帮助。Get-me:无法侦听端口80:侦听器无法创建,出现以下错误:[无法创建侦听器:错误侦听tcp4 127.0.0.1:80:绑定:权限被拒绝无法创建侦听器:错误侦听tcp6[::1]:80:绑定:权限被拒绝]错误:无法侦听任何请求的端口:[{80 8080}]另外,我的部署吊舱是KO,ErrImageNeverPull——我要去搜索那是什么means@swafran可能图像URL或标记不正确。另外,如果这回答了您的问题,请批准。标签和图像都可以。我可以用port forward到达服务台。我将您的答案标记为正确,因为我要求您提供故障排除步骤,而您给出了帮助我的好步骤。现在我知道服务有响应,但网络或出站出现问题,我该去哪里检查呢?可能任何类型的网络策略都在阻止流量。。选中“kubectl获取网络策略--所有名称空间”。还是在集群上使用istio?谢谢,这确实有帮助。Get-me:无法侦听端口80:侦听器无法创建,出现以下错误:[无法创建侦听器:错误侦听tcp4 127.0.0.1:80:绑定:权限被拒绝无法创建侦听器:错误侦听tcp6[::1]:80:绑定:权限被拒绝]错误:无法侦听任何请求的端口:[{80 8080}]另外,我的部署吊舱是KO,ErrImageNeverPull——我要去搜索那是什么means@swafran可能图像URL或标记不正确。另外,如果这回答了您的问题,请批准。标签和图像都可以。我可以用port forward到达服务台。我将您的答案标记为正确,因为我要求您提供故障排除步骤,而您给出了帮助我的好步骤。现在我知道服务有响应,但网络或出站出现问题,我该去哪里检查呢?可能任何类型的网络策略都在阻止流量。。选中“kubectl获取网络策略--所有名称空间”。还是在集群上使用istio?