【发布时间】:2020-03-20 11:40:09
【问题描述】:
我有一个网页,它运行良好。但是对于只有一个路径 /user/reg 它给出了 502 错误代码,因为该路径需要更多时间来处理,所以我已经向容器添加了活性和就绪性探测器,但仍然有同样的问题。我正在使用 Kubernetes 入口和 GCP 中部署的完整堆栈。
下面是我的入口配置
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.global-static-ip-name: "nonprod"
ingress.kubernetes.io/force-ssl-redirect: "true"
kubernetes.io/ingress.allow-http: "false"
ingress.kubernetes.io/upstream-max-fails: "999"
ingress.kubernetes.io/upstream-fail-timeout: "999"
name: nonprod
namespace: nonprod
spec:
tls:
- hosts:
- hostname.example.com
secretName: nonprod-tls
rules:
- host: hostname.example.com
http:
paths:
- path: /*
backend:
serviceName: nonprod-nodeport
servicePort: 80
下面是我的部署yaml
image: gcr.io/image:v1
livenessProbe:
failureThreshold: 3
httpGet:
path: /
port: 80
scheme: HTTP
initialDelaySeconds: 180
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: drupal
ports:
- containerPort: 80
readinessProbe:
failureThreshold: 3
httpGet:
path: /
port: 80
scheme: HTTP
initialDelaySeconds: 180
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
cpu: "1"
memory: 2Gi
requests:
cpu: "1"
memory: 2Gi
我检查了其他类似的问题,但没有帮助
当我检查日志时
2020/03/20 06:46:35 [info] 91#91: *60234 epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too while sending request to upstream, clie
nt: 10.44.0.1, server: example.com, request: "POST /user/register HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "hostname.example.com", referre
r: "https://hostname.example.com/user/register"
10.44.0.1 - - [20/Mar/2020:06:46:35 +0000] "POST /user/register HTTP/1.1" 499 0 "https://hostname.example.com/user/register" "Mozilla/5.0 (Macintosh; Intel Mac OS X
10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36 Edg/80.0.361.66" "27.59.32.87, 34.107.231.112"
10.44.0.1 - - [20/Mar/2020:06:46:35 +0000] "GET / HTTP/1.1" 200 17662 "-" "kube-probe/1.15+" "-"
【问题讨论】:
-
我找不到支持 GKE
Ingress的关于上游的annotation。在创建此Ingress定义时,您是否遵循任何特定指南。您是否尝试过使用支持此annotation的自定义Ingress控制器? -
我们有一个特定的要求来遵循 GKE Ingress。因为我需要使用仅支持 HTTP(S) 负载均衡器的云盔甲。和 IP 应该是静态的。而且上游不适用于这个入口
标签: nginx kubernetes google-kubernetes-engine