Configure cluster-local domain encryption
Warning
The Knative Serving encryption features cluster-local-domain-tls
and system-internal-tls
are in experimental state. Please use with caution!
Before you begin
You must meet the following requirements to enable secure HTTPS connections:
- Knative Serving must be installed. For details about installing the Serving component, see the Knative installation guides.
Warning
This feature is currently only supported with Kourier and Istio as a networking layer.
Installing and configuring cert-manager and integration
First, you need to install and configure cert-manager
and the Knative cert-manager integration. Please refer to Configuring Knative cert-manager integration for details.
Enabling cluster-local-domain-tls
To enable cluster-local-domain-tls
update the config-network ConfigMap in the knative-serving
namespace:
Run the following command to edit your
config-network
ConfigMap:kubectl edit configmap config-network -n knative-serving
Add the
cluster-local-domain-tls: Enabled
attribute under thedata
section:apiVersion: v1
kind: ConfigMap
metadata:
name: config-network
namespace: knative-serving
data:
...
cluster-local-domain-tls: Enabled
...
Restart the Knative Serving controller to start the Knative cert-manager integration:
kubectl rollout restart deploy/controller -n knative-serving
Congratulations! Knative is now configured to obtain and renew TLS certificates for cluster-local domains.
Verification
Deploy a Knative Service
Check the URL with
kubectl get ksvc -n <your-namespace> -o yaml
The service URL cluster-local domain (https://helloworld.test.svc.cluster.local) should now be https:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld
namespace: test
spec:
# ...
status:
address:
# cluster-local-domain:
url: https://helloworld.test.svc.cluster.local
# ...
# external domain:
url: http://helloworld.first.example.com
Trust
Note
A quick note on trust, all clients that call the cluster-local domain of a Knative Service need to trust the Certificate Authority that signed the certificates. This is out of scope of Knative, but needs to be addressed to ensure a working system. Especially when a Certificate Authority performs a rotation of the CA or the intermediate certificates. Find more information on Configuring Knative cert-manager integration.