AWS EKS-无法访问LoadBalancer后面的Apache httpd

时间:2018-09-19 18:39:15

标签: apache amazon-web-services kubernetes

我已经在容器中部署了一个Apache httpd服务器,并试图通过LoadBalancer在外部公开它。尽管当我尝试访问负载平衡器公开的外部URL时,我可以登录到本地主机并获得预期的响应(curl -X GET localhost),但是我从服务器得到了一个空答复:

curl -X GET ad8d14ea0ba9611e8b2360afc35626a3-553331517.us-east-1.elb.amazonaws.com:5000
curl: (52) Empty reply from server

任何想法,我都缺少-我是否不知道还有某种其他的重定向方式?

yaml在这里:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: apache
labels:
  app: apache
spec:
  replicas: 1
selector:
  matchLabels:
    pod: apache
template:
  metadata:
    name: apachehost
    labels:
      pod: apache
    spec:
      containers:
      - name: apache
        image: myrepo/apache2
      ports:
      - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: apache
labels:
  app: apache
spec:
  type: LoadBalancer
  selector:
    pod: apache
  ports:
    - name: port1
      port: 5000
      targetPort: 80

3 个答案:

答案 0 :(得分:0)

1。检查您的吊舱运行情况。

2。检查aws IAM和安全组也可能是未公开的5000端口。在kubernet master中使用curl命令并检查端口。

3。共享一个pod日志

答案 1 :(得分:0)

检查abs负载均衡器中LB安全组中的开放端口5000。按照约束规则。

检查负载均衡器的入站规则。

答案 2 :(得分:0)

如果您的 Pod 在 Fargate 上运行,负载均衡器服务将无法工作:https://docs.aws.amazon.com/eks/latest/userguide/load-balancing.html