kourier
This commit is contained in:
parent
08bb684cc2
commit
828972ee0c
|
@ -1 +1,2 @@
|
||||||
knative-docs
|
knative-docs
|
||||||
|
.Ds_Store
|
|
@ -0,0 +1,657 @@
|
||||||
|
# Copyright 2020 The Knative Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: kourier-system
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
|
||||||
|
---
|
||||||
|
# Copyright 2020 The Knative Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: kourier-bootstrap
|
||||||
|
namespace: kourier-system
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
data:
|
||||||
|
envoy-bootstrap.yaml: |
|
||||||
|
dynamic_resources:
|
||||||
|
ads_config:
|
||||||
|
transport_api_version: V3
|
||||||
|
api_type: GRPC
|
||||||
|
rate_limit_settings: {}
|
||||||
|
grpc_services:
|
||||||
|
- envoy_grpc: {cluster_name: xds_cluster}
|
||||||
|
cds_config:
|
||||||
|
resource_api_version: V3
|
||||||
|
ads: {}
|
||||||
|
lds_config:
|
||||||
|
resource_api_version: V3
|
||||||
|
ads: {}
|
||||||
|
node:
|
||||||
|
cluster: kourier-knative
|
||||||
|
id: 3scale-kourier-gateway
|
||||||
|
static_resources:
|
||||||
|
listeners:
|
||||||
|
- name: stats_listener
|
||||||
|
address:
|
||||||
|
socket_address:
|
||||||
|
address: 0.0.0.0
|
||||||
|
port_value: 9000
|
||||||
|
filter_chains:
|
||||||
|
- filters:
|
||||||
|
- name: envoy.filters.network.http_connection_manager
|
||||||
|
typed_config:
|
||||||
|
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
|
||||||
|
stat_prefix: stats_server
|
||||||
|
http_filters:
|
||||||
|
- name: envoy.filters.http.router
|
||||||
|
typed_config:
|
||||||
|
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
|
||||||
|
route_config:
|
||||||
|
virtual_hosts:
|
||||||
|
- name: admin_interface
|
||||||
|
domains:
|
||||||
|
- "*"
|
||||||
|
routes:
|
||||||
|
- match:
|
||||||
|
safe_regex:
|
||||||
|
google_re2: {}
|
||||||
|
regex: '/(certs|stats(/prometheus)?|server_info|clusters|listeners|ready)?'
|
||||||
|
headers:
|
||||||
|
- name: ':method'
|
||||||
|
exact_match: GET
|
||||||
|
route:
|
||||||
|
cluster: service_stats
|
||||||
|
clusters:
|
||||||
|
- name: service_stats
|
||||||
|
connect_timeout: 0.250s
|
||||||
|
type: static
|
||||||
|
load_assignment:
|
||||||
|
cluster_name: service_stats
|
||||||
|
endpoints:
|
||||||
|
lb_endpoints:
|
||||||
|
endpoint:
|
||||||
|
address:
|
||||||
|
pipe:
|
||||||
|
path: /tmp/envoy.admin
|
||||||
|
- name: xds_cluster
|
||||||
|
# This keepalive is recommended by envoy docs.
|
||||||
|
# https://www.envoyproxy.io/docs/envoy/latest/api-docs/xds_protocol
|
||||||
|
typed_extension_protocol_options:
|
||||||
|
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
|
||||||
|
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
|
||||||
|
explicit_http_config:
|
||||||
|
http2_protocol_options:
|
||||||
|
connection_keepalive:
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
connect_timeout: 1s
|
||||||
|
load_assignment:
|
||||||
|
cluster_name: xds_cluster
|
||||||
|
endpoints:
|
||||||
|
lb_endpoints:
|
||||||
|
endpoint:
|
||||||
|
address:
|
||||||
|
socket_address:
|
||||||
|
address: "net-kourier-controller.knative-serving"
|
||||||
|
port_value: 18000
|
||||||
|
type: STRICT_DNS
|
||||||
|
admin:
|
||||||
|
access_log:
|
||||||
|
- name: envoy.access_loggers.stdout
|
||||||
|
typed_config:
|
||||||
|
"@type": type.googleapis.com/envoy.extensions.access_loggers.stream.v3.StdoutAccessLog
|
||||||
|
address:
|
||||||
|
pipe:
|
||||||
|
path: /tmp/envoy.admin
|
||||||
|
layered_runtime:
|
||||||
|
layers:
|
||||||
|
- name: static-layer
|
||||||
|
static_layer:
|
||||||
|
envoy.reloadable_features.override_request_timeout_by_gateway_timeout: false
|
||||||
|
|
||||||
|
---
|
||||||
|
# Copyright 2021 The Knative Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: config-kourier
|
||||||
|
namespace: knative-serving
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
data:
|
||||||
|
_example: |
|
||||||
|
################################
|
||||||
|
# #
|
||||||
|
# EXAMPLE CONFIGURATION #
|
||||||
|
# #
|
||||||
|
################################
|
||||||
|
|
||||||
|
# This block is not actually functional configuration,
|
||||||
|
# but serves to illustrate the available configuration
|
||||||
|
# options and document them in a way that is accessible
|
||||||
|
# to users that `kubectl edit` this config map.
|
||||||
|
#
|
||||||
|
# These sample configuration options may be copied out of
|
||||||
|
# this example block and unindented to be in the data block
|
||||||
|
# to actually change the configuration.
|
||||||
|
|
||||||
|
# Specifies whether requests reaching the Kourier gateway
|
||||||
|
# in the context of services should be logged. Readiness
|
||||||
|
# probes etc. must be configured via the bootstrap config.
|
||||||
|
enable-service-access-logging: "true"
|
||||||
|
|
||||||
|
# Specifies whether to use proxy-protocol in order to safely
|
||||||
|
# transport connection information such as a client's address
|
||||||
|
# across multiple layers of TCP proxies.
|
||||||
|
# NOTE THAT THIS IS AN EXPERIMENTAL / ALPHA FEATURE
|
||||||
|
enable-proxy-protocol: "false"
|
||||||
|
|
||||||
|
# The server certificates to serve the internal TLS traffic for Kourier Gateway.
|
||||||
|
# It is specified by the secret name in controller namespace, which has
|
||||||
|
# the "tls.crt" and "tls.key" data field.
|
||||||
|
# Use an empty value to disable the feature (default).
|
||||||
|
#
|
||||||
|
# NOTE: This flag is in an alpha state and is mostly here to enable internal testing
|
||||||
|
# for now. Use with caution.
|
||||||
|
cluster-cert-secret: ""
|
||||||
|
|
||||||
|
# Specifies the amount of time that Kourier waits for the incoming requests.
|
||||||
|
# The default, 0s, imposes no timeout at all.
|
||||||
|
stream-idle-timeout: "0s"
|
||||||
|
|
||||||
|
# Control the desired level of incoming traffic isolation.
|
||||||
|
#
|
||||||
|
# When set to an empty value (default), all incoming traffic flows through
|
||||||
|
# a shared ingress and listeners.
|
||||||
|
#
|
||||||
|
# When set to "port", incoming traffic is isolated by using different
|
||||||
|
# listener ports.
|
||||||
|
#
|
||||||
|
# NOTE: This flag is in an alpha state.
|
||||||
|
traffic-isolation: ""
|
||||||
|
|
||||||
|
# Specifies whether to use CryptoMB private key provider in order to
|
||||||
|
# acclerate the TLS handshake.
|
||||||
|
# NOTE THAT THIS IS AN EXPERIMENTAL / ALPHA FEATURE.
|
||||||
|
enable-cryptomb: "false"
|
||||||
|
|
||||||
|
# Configures the number of additional ingress proxy hops from the
|
||||||
|
# right side of the x-forwarded-for HTTP header to trust.
|
||||||
|
trusted-hops-count: "0"
|
||||||
|
|
||||||
|
# Specifies the cipher suites for TLS external listener.
|
||||||
|
# Use ',' separated values like "ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-ECDSA-CHACHA20-POLY1305"
|
||||||
|
# The default uses the default cipher suites of the envoy version.
|
||||||
|
cipher-suites: ""
|
||||||
|
|
||||||
|
---
|
||||||
|
# Copyright 2020 The Knative Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: net-kourier
|
||||||
|
namespace: knative-serving
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRole
|
||||||
|
metadata:
|
||||||
|
name: net-kourier
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
rules:
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["events"]
|
||||||
|
verbs: ["create", "update", "patch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["pods", "endpoints", "services", "secrets"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["configmaps"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["namespaces"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: ["coordination.k8s.io"]
|
||||||
|
resources: ["leases"]
|
||||||
|
verbs: ["get", "list", "create", "update", "delete", "patch", "watch"]
|
||||||
|
- apiGroups: ["networking.internal.knative.dev"]
|
||||||
|
resources: ["ingresses"]
|
||||||
|
verbs: ["get", "list", "watch", "patch"]
|
||||||
|
- apiGroups: ["networking.internal.knative.dev"]
|
||||||
|
resources: ["ingresses/status"]
|
||||||
|
verbs: ["update"]
|
||||||
|
---
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: net-kourier
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: net-kourier
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: net-kourier
|
||||||
|
namespace: knative-serving
|
||||||
|
|
||||||
|
---
|
||||||
|
# Copyright 2020 The Knative Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: net-kourier-controller
|
||||||
|
namespace: knative-serving
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxUnavailable: 0
|
||||||
|
maxSurge: 100%
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: net-kourier-controller
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
prometheus.io/scrape: "true"
|
||||||
|
prometheus.io/port: "9090"
|
||||||
|
prometheus.io/path: "/metrics"
|
||||||
|
labels:
|
||||||
|
app: net-kourier-controller
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- image: registry.cn-beijing.aliyuncs.com/cypress-boat/knative-kourier:v1.11
|
||||||
|
name: controller
|
||||||
|
env:
|
||||||
|
- name: CERTS_SECRET_NAMESPACE
|
||||||
|
value: ""
|
||||||
|
- name: CERTS_SECRET_NAME
|
||||||
|
value: ""
|
||||||
|
- name: SYSTEM_NAMESPACE
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
- name: METRICS_DOMAIN
|
||||||
|
value: "knative.dev/samples"
|
||||||
|
- name: KOURIER_GATEWAY_NAMESPACE
|
||||||
|
value: "kourier-system"
|
||||||
|
- name: ENABLE_SECRET_INFORMER_FILTERING_BY_CERT_UID
|
||||||
|
value: "false"
|
||||||
|
# KUBE_API_BURST and KUBE_API_QPS allows to configure maximum burst for throttle and maximum QPS to the server from the client.
|
||||||
|
# Setting these values using env vars is possible since https://github.com/knative/pkg/pull/2755.
|
||||||
|
# 200 is an arbitrary value, but it speeds up kourier startup duration, and the whole ingress reconciliation process as a whole.
|
||||||
|
- name: KUBE_API_BURST
|
||||||
|
value: "200"
|
||||||
|
- name: KUBE_API_QPS
|
||||||
|
value: "200"
|
||||||
|
ports:
|
||||||
|
- name: http2-xds
|
||||||
|
containerPort: 18000
|
||||||
|
protocol: TCP
|
||||||
|
readinessProbe:
|
||||||
|
grpc:
|
||||||
|
port: 18000
|
||||||
|
periodSeconds: 10
|
||||||
|
failureThreshold: 3
|
||||||
|
livenessProbe:
|
||||||
|
grpc:
|
||||||
|
port: 18000
|
||||||
|
periodSeconds: 10
|
||||||
|
failureThreshold: 6
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: true
|
||||||
|
runAsNonRoot: true
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 200m
|
||||||
|
memory: 200Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 500Mi
|
||||||
|
restartPolicy: Always
|
||||||
|
serviceAccountName: net-kourier
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: net-kourier-controller
|
||||||
|
namespace: knative-serving
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: grpc-xds
|
||||||
|
port: 18000
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 18000
|
||||||
|
selector:
|
||||||
|
app: net-kourier-controller
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
---
|
||||||
|
# Copyright 2020 The Knative Authors
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: 3scale-kourier-gateway
|
||||||
|
namespace: kourier-system
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
spec:
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
rollingUpdate:
|
||||||
|
maxUnavailable: 0
|
||||||
|
maxSurge: 100%
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: 3scale-kourier-gateway
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: 3scale-kourier-gateway
|
||||||
|
annotations:
|
||||||
|
# v0.26 supports envoy v3 API, so
|
||||||
|
# adding this label to restart pod.
|
||||||
|
networking.knative.dev/poke: "v0.26"
|
||||||
|
prometheus.io/scrape: "true"
|
||||||
|
prometheus.io/port: "9000"
|
||||||
|
prometheus.io/path: "/stats/prometheus"
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- args:
|
||||||
|
- --base-id 1
|
||||||
|
- -c /tmp/config/envoy-bootstrap.yaml
|
||||||
|
- --log-level info
|
||||||
|
command:
|
||||||
|
- /usr/local/bin/envoy
|
||||||
|
image: docker.io/envoyproxy/envoy:v1.24-latest
|
||||||
|
name: kourier-gateway
|
||||||
|
ports:
|
||||||
|
- name: http2-external
|
||||||
|
containerPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
- name: http2-internal
|
||||||
|
containerPort: 8081
|
||||||
|
protocol: TCP
|
||||||
|
- name: https-external
|
||||||
|
containerPort: 8443
|
||||||
|
protocol: TCP
|
||||||
|
- name: http-probe
|
||||||
|
containerPort: 8090
|
||||||
|
protocol: TCP
|
||||||
|
- name: https-probe
|
||||||
|
containerPort: 9443
|
||||||
|
protocol: TCP
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 65534
|
||||||
|
runAsGroup: 65534
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
volumeMounts:
|
||||||
|
- name: config-volume
|
||||||
|
mountPath: /tmp/config
|
||||||
|
lifecycle:
|
||||||
|
preStop:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
[
|
||||||
|
"/bin/sh",
|
||||||
|
"-c",
|
||||||
|
"curl -X POST --unix /tmp/envoy.admin http://localhost/healthcheck/fail; sleep 15",
|
||||||
|
]
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
httpHeaders:
|
||||||
|
- name: Host
|
||||||
|
value: internalkourier
|
||||||
|
path: /ready
|
||||||
|
port: 8081
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
httpHeaders:
|
||||||
|
- name: Host
|
||||||
|
value: internalkourier
|
||||||
|
path: /ready
|
||||||
|
port: 8081
|
||||||
|
scheme: HTTP
|
||||||
|
initialDelaySeconds: 10
|
||||||
|
periodSeconds: 5
|
||||||
|
failureThreshold: 6
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 200m
|
||||||
|
memory: 200Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 500Mi
|
||||||
|
volumes:
|
||||||
|
- name: config-volume
|
||||||
|
configMap:
|
||||||
|
name: kourier-bootstrap
|
||||||
|
restartPolicy: Always
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kourier
|
||||||
|
namespace: kourier-system
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http2
|
||||||
|
port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8080
|
||||||
|
- name: https
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8443
|
||||||
|
selector:
|
||||||
|
app: 3scale-kourier-gateway
|
||||||
|
type: LoadBalancer
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kourier-internal
|
||||||
|
namespace: kourier-system
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: http2
|
||||||
|
port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8081
|
||||||
|
- name: https
|
||||||
|
port: 443
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 8444
|
||||||
|
selector:
|
||||||
|
app: 3scale-kourier-gateway
|
||||||
|
type: ClusterIP
|
||||||
|
---
|
||||||
|
apiVersion: autoscaling/v2
|
||||||
|
kind: HorizontalPodAutoscaler
|
||||||
|
metadata:
|
||||||
|
name: 3scale-kourier-gateway
|
||||||
|
namespace: kourier-system
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
spec:
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 10
|
||||||
|
scaleTargetRef:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: 3scale-kourier-gateway
|
||||||
|
metrics:
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: cpu
|
||||||
|
target:
|
||||||
|
type: Utilization
|
||||||
|
# Percentage of the requested CPU
|
||||||
|
averageUtilization: 100
|
||||||
|
---
|
||||||
|
apiVersion: policy/v1
|
||||||
|
kind: PodDisruptionBudget
|
||||||
|
metadata:
|
||||||
|
name: 3scale-kourier-gateway-pdb
|
||||||
|
namespace: kourier-system
|
||||||
|
labels:
|
||||||
|
networking.knative.dev/ingress-provider: kourier
|
||||||
|
app.kubernetes.io/component: net-kourier
|
||||||
|
app.kubernetes.io/version: "1.11.1"
|
||||||
|
app.kubernetes.io/name: knative-serving
|
||||||
|
spec:
|
||||||
|
minAvailable: 80%
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: 3scale-kourier-gateway
|
||||||
|
|
||||||
|
---
|
||||||
|
|
Loading…
Reference in New Issue