kubernetes-yaml/learn/learn-kubernetes-master/kiamol/ch21/lab/knative/04-net-contour.yaml

125 lines
3.9 KiB
YAML

# Not used directly, this lets the knative-serving service account reconcile
# HTTPProxy resources.
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: knative-contour-core
labels:
networking.knative.dev/ingress-provider: contour
serving.knative.dev/controller: "true"
rules:
- apiGroups: ["projectcontour.io"]
resources: ["httpproxies"]
verbs: ["get", "list", "create", "update", "delete", "deletecollection", "patch",
"watch"]
---
# Copyright 2019 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-contour
namespace: knative-serving
labels:
networking.knative.dev/ingress-provider: contour
serving.knative.dev/release: "v0.16.0"
data:
_example: |
################################
# #
# EXAMPLE CONFIGURATION #
# #
################################
# visibility contains the configuration for how to expose services
# of assorted visibilities. Each entry is keyed by the visibility
# and contains two keys:
# 1. the "class" value to pass to the Contour class annotations,
# 2. the namespace/name of the Contour Envoy service.
visibility: |
ExternalIP:
class: contour-external
service: contour-external/envoy
ClusterLocal:
class: contour-internal
service: contour-internal/envoy
---
# 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: contour-ingress-controller
namespace: knative-serving
labels:
networking.knative.dev/ingress-provider: contour
spec:
replicas: 1
selector:
matchLabels:
app: contour-ingress-controller
template:
metadata:
labels:
app: contour-ingress-controller
spec:
serviceAccountName: controller
containers:
- name: controller
# This is the Go import path for the binary that is containerized
# and substituted here.
image: gcr.io/knative-releases/knative.dev/net-contour/cmd/controller@sha256:07ddbb34ac2d8412569eff362b3a51ad88fa2ca03b82aec41f655b81530c5226
resources:
requests:
cpu: 40m
memory: 40Mi
limits:
cpu: 400m
memory: 400Mi
env:
- name: SYSTEM_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONFIG_LOGGING_NAME
value: config-logging
- name: CONFIG_OBSERVABILITY_NAME
value: config-observability
- name: METRICS_DOMAIN
value: knative.dev/net-contour
ports:
- name: metrics
containerPort: 9090
- name: profiling
containerPort: 8008
securityContext:
allowPrivilegeEscalation: false
---