无法从 EKS 中创建的负载均衡器访问部署

Unable to reach the deployment from the load balancer created in EKS

我是 EKS 的新手(但熟悉 k8s),我正在尝试 运行 我在 EKS 上的项目。

我运行我的项目部署和数据库部署,都是运行ning:

kubectl get deploy -owide
NAME   READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS   IMAGES             SELECTOR
my-app   1/1     1            1           98m   my-app         me/my-app:latest   app=my-app
db     1/1     1            1           16h   db           mariadb:10.4.12    app=db

我创建了负载均衡器来访问我的应用程序 pods:

get svc -owide
NAME         TYPE           CLUSTER-IP       EXTERNAL-IP                                                               PORT(S)          AGE    SELECTOR
my-app         LoadBalancer   10.102.XXX.XXX   XXX-XXX.us-east-1.elb.amazonaws.com   8000:31722/TCP   114m   app=my-app
kubernetes   ClusterIP      10.102.0.1       <none>                                                                    443/TCP          39h    <none>

我尝试通过负载均衡器 (XXX-XXX.us-east-1.elb.amazonaws.com) 创建的外部 ip 访问该网站,并使用端口(我尝试了 80、8000 和 31722) ,然后我收到“无法访问该站点”。

我错过了什么吗?

这是我的应用程序服务:

apiVersion: v1
kind: Service
metadata:
  name: my-app
spec:
  type: LoadBalancer
  ports:
  - name: "8000"
    port: 8000
    targetPort: 8000
  selector:
    app: my-app

这是我的应用程序 yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
  labels:
    app: my-app
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - env:
        - name: REVERSE_PROXY
          value: "true"
        - name: UPLOAD_FOLDER
          value: /var/uploads
        - name: WORKERS
          value: "1"
        image: me/my-app:latest
        imagePullPolicy: ""
        name: my-app
        ports:
        - containerPort: 8000
        resources: {}
      restartPolicy: Always
      serviceAccountName: ""

我建议按照以下步骤查找根本原因;

  1. 检查是否可以从您尝试访问的 host/machine 访问 laod balancer 的 XXX-XXX.us-east-1.elb.amazonaws.com 域。您可以使用 ping 命令从 host/machine/laptop/desktop 检查网络可达性。

  2. 如果第 1 步成功执行,请检查负载均衡器的默认 cloudwatch 指标。请参阅 this 有关通过 AWS Web 控制台查看 cloudwatch 指标的文档。您可以在此指标中检查任何不可用的错误计数。

  3. 如果您在Step2中没有找到任何有用的信息,并且您启用了VPC流日志,那么您可以跟踪vpc流日志来检查,进出网络流量有什么问题AWS 负载均衡器。有关 VPC 流日志信息,请参阅来自 AWS 的 this 文档。