【问题标题】:Unable to reach the deployment from the load balancer created in EKS无法从 EKS 中创建的负载均衡器访问部署
【发布时间】:2021-03-29 03:43:48
【问题描述】:

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

我运行了我的项目部署和数据库部署,两者都在运行:

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

我创建了负载均衡器来访问 my-app pod:

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>

我尝试通过负载均衡器创建的外部 ip (XXX-XXX.us-east-1.elb.amazonaws.com) 使用端口(我尝试了 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.提供端点输出。 2.显示你的部署 yaml。
  • @Vitalii 我添加了部署 yaml。而且我不知道你说的是什么端点
  • @Yagel 检查你的 elb 的安全组一次
  • kubectl 获取端点

标签: amazon-web-services kubernetes amazon-eks


【解决方案1】:

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

  1. 检查是否可以从您尝试访问的主机/机器访问 laod balancer 的 XXX-XXX.us-east-1.elb.amazonaws.com 域。您可以使用 ping 命令从您的主机/机器/笔记本电脑/桌面检查网络可达性。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 2023-03-16
    • 1970-01-01
    • 2022-01-02
    • 2021-12-04
    • 2020-07-25
    相关资源
    最近更新 更多