Настройка времени ожидания http для родного сервиса - PullRequest
1 голос
/ 28 февраля 2020

Какие параметры требуются, чтобы прокси-сервер очереди не отключился через 60 секунд? Мой http запрашивает тайм-аут в 60 секунд, и прокси-сервер очереди имеет эти сообщения об ошибках

{"level":"error","ts":"2020-02-27T11:44:58.886Z","logger":"queueproxy","caller":"network/error_handler.go:31","msg":"error reverse proxying request; sockstat: sockets: used 375\nTCP: inuse 5 orphan 1 tw 95 alloc 54 mem 7\nUDP: inuse 0 mem 3\nUDPLITE: inuse 0\nRAW: inuse 0\nFRAG: inuse 0 memory 0\n","commit":"96cffff","knative.dev/key":"playground-flows-master/sleeper-service-pclb2","knative.dev/pod":"sleeper-service-pclb2-deployment-6bc5479789-gzmcj","error":"context canceled","stacktrace":"knative.dev/serving/pkg/network.ErrorHandler.func1\n\t/home/prow/go/src/knative.dev/serving/pkg/network/error_handler.go:31\nnet/http/httputil.(*ReverseProxy).ServeHTTP\n\t/usr/local/go/src/net/http/httputil/reverseproxy.go:251\nknative.dev/serving/pkg/queue.(*requestMetricHandler).ServeHTTP\n\t/home/prow/go/src/knative.dev/serving/pkg/queue/request_metric.go:71\nmain.handler.func1\n\t/home/prow/go/src/knative.dev/serving/cmd/queue/main.go:197\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2007\nknative.dev/serving/pkg/queue.ForwardedShimHandler.func1\n\t/home/prow/go/src/knative.dev/serving/pkg/queue/forwarded_shim.go:100\nnet/http.HandlerFunc.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2007\nknative.dev/serving/pkg/queue.(*timeoutHandler).ServeHTTP.func1\n\t/home/prow/go/src/knative.dev/serving/pkg/queue/timeout.go:80"}

Версии и настройки следующие.

Родная версия v0.11.0

Версия Istio: 1.3.5

KnativeService:

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: sleeper-service
spec:
  template:
    metadata:
      annotations:
        autoscaling.knative.dev/maxScale: "1"
    spec:
      containerConcurrency: 0
      containers:
      - env:
        - name: MILLISECONDS
          value: "330000"
        image: <image>
        name: user-container
        ports:
        - containerPort: 8000
          name: http1
          protocol: TCP
        readinessProbe:
          successThreshold: 1
          tcpSocket:
            port: 0
        resources: {}
      timeoutSeconds: 500
  traffic:
  - latestRevision: true
    percent: 100

Когда для maxScaling установлено значение 1 и каждый запрос занимает более 60 секунд, остальные запросы, находящиеся в очереди, время ожидания.

...