diff --git a/openshift-knative-operator/cmd/operator/kodata/ingress/1.14/kourier/1-net-kourier.yaml b/openshift-knative-operator/cmd/operator/kodata/ingress/1.14/kourier/1-net-kourier.yaml index 0feec8f66b..0b759f4ece 100644 --- a/openshift-knative-operator/cmd/operator/kodata/ingress/1.14/kourier/1-net-kourier.yaml +++ b/openshift-knative-operator/cmd/operator/kodata/ingress/1.14/kourier/1-net-kourier.yaml @@ -97,6 +97,15 @@ data: exact: GET route: cluster: service_stats + - match: + safe_regex: + regex: '/drain_listeners' + headers: + - name: ':method' + string_match: + exact: POST + route: + cluster: service_stats clusters: - name: service_stats connect_timeout: 0.250s @@ -107,8 +116,9 @@ data: lb_endpoints: endpoint: address: - pipe: - path: /tmp/envoy.admin + socket_address: + address: 127.0.0.1 + port_value: 9901 - name: xds_cluster # This keepalive is recommended by envoy docs. # https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol @@ -137,8 +147,9 @@ data: typed_config: "@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog address: - pipe: - path: /tmp/envoy.admin + socket_address: + address: 127.0.0.1 + port_value: 9901 --- # Copyright 2021 The Knative Authors # @@ -462,8 +473,13 @@ spec: - --base-id 1 - -c /tmp/config/envoy-bootstrap.yaml - --log-level info + - --drain-time-s $(DRAIN_TIME_SECONDS) + - --drain-strategy immediate command: - /usr/local/bin/envoy + env: + - name: DRAIN_TIME_SECONDS + value: "15" image: TO_BE_REPLACED name: kourier-gateway ports: @@ -497,7 +513,7 @@ spec: lifecycle: preStop: exec: - command: ["/bin/sh","-c","curl -X POST --unix /tmp/envoy.admin http://localhost/healthcheck/fail; sleep 15"] + command: ["/bin/sh","-c","curl -X POST http://localhost:9901/drain_listeners?graceful; sleep $DRAIN_TIME_SECONDS"] readinessProbe: httpGet: httpHeaders: @@ -527,6 +543,9 @@ spec: limits: cpu: "1" memory: 800Mi + + # to ensure a graceful drain, terminationGracePeriodSeconds must be greater than DRAIN_TIME_SECONDS environment variable + terminationGracePeriodSeconds: 30 volumes: - name: config-volume configMap: