我已经在容器中部署了一个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
答案 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