From c8c9ec897590461fc6626cf65a520bfaf467c018 Mon Sep 17 00:00:00 2001 From: Reto Lehmann Date: Tue, 31 Jan 2023 15:12:38 +0100 Subject: [PATCH] Add serving-internal docs about Knative encryption support --- .../encryption/encryption-overview.drawio.svg | 4 ++++ docs/encryption/encryption-overview.md | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 docs/encryption/encryption-overview.drawio.svg create mode 100644 docs/encryption/encryption-overview.md diff --git a/docs/encryption/encryption-overview.drawio.svg b/docs/encryption/encryption-overview.drawio.svg new file mode 100644 index 000000000000..e2f79e3b066e --- /dev/null +++ b/docs/encryption/encryption-overview.drawio.svg @@ -0,0 +1,4 @@ + + + +























Namespace: demo-1
Namespace: demo-1...























Namespace: knative-serving
Namespace: knative-serving...
starts
starts
Serving Controller
Serving Controller
populates
certificate
populates...
populates
certificate
populates...
Certificate Controller
(Control-Protocol)
Certificate Controll...
Secret
serving-certs-ctrl-ca
Secret...
reads certificate + key
reads certificate + key
Secret
knative-serving-certs
Secret...
creates
creates
Revision Reconciler
Revision Reconciler
uses
uses
Secret
knative-serving-certs
Secret...
encrypted with
QP certificate,
validates SAN
encrypted with...
Activator
Activator
Kservice
with Queue-Proxy
Kservice...









...
encrypted using activator certificate.
ingress controller validates SAN
encrypted using activator certificate....
Ingress Controller
(e.g. Kourier)
Ingress Controller...
encrypted via ingress solution
encrypted via ingress solution
reads CA
reads CA
Namespace: ingress-controller
Namespace: ingress-controller
Text is not SVG - cannot display
\ No newline at end of file diff --git a/docs/encryption/encryption-overview.md b/docs/encryption/encryption-overview.md new file mode 100644 index 000000000000..a8557aba841f --- /dev/null +++ b/docs/encryption/encryption-overview.md @@ -0,0 +1,21 @@ +# Knative Serving Encryption +There are two layers where Knative Serving can provide encryption +* HTTPS on the ingress layer to the cluster +* HTTPS on the cluster internal components + +## Visualization +![Visualization of Knative encryption](./encryption-overview.drawio.svg) + +## HTTPS on the ingress layer +On this layer Knative Serving provides two modes: +* Provide certificates manually, refer to the [existing docs](https://knative.dev/docs/serving/using-a-tls-cert/). +* Provide certificates automatically using `cert-manager`, refer to the [existing docs](https://knative.dev/docs/serving/using-auto-tls/). + + +## HTTPS on the cluster internal components +**Warning: Alpha feature** + +This is currently `work-in-progress` and tracked in https://github.com/knative/serving/issues/11906. You can experiment with this feature using: +* an ingress layer that already supports the feature (e.g. Kourier or Contour) +* Set `internal-encryption: "true"` in the `config-network` configmap +