This topic tells you how to configure Cloud Native Runtimes, commonly known as CNRs, with Tanzu Service Mesh.
You cannot install Cloud Native Runtimes on a cluster that has Tanzu Service Mesh attached.
This workaround describes how you can configure Tanzu Service Mesh to ignore the Cloud Native Runtimes. This allows Contour to provide ingress routing for the Knative workloads, while Tanzu Service Mesh continues to satisfy other connectivity concerns.
NoteCloud Native Runtimes workloads are unable to use Tanzu Service Mesh features like Global Namespace, Mutual Transport Layer Security authentication (mTLS), retries, and timeouts.
For information about Tanzu Service Mesh, see Tanzu Service Mesh Documentation.
The following prerequisites are required:
NoteIf you installed Cloud Native Runtimes on a cluster that has Tanzu Service Mesh attached before doing the following procedure, pods fail to start. To fix this problem, follow the procedure in this topic and then delete all pods in the excluded namespaces.
Configure Tanzu Service Mesh to ignore namespaces related to Cloud Native Runtimes:
Create an Is Exactly rule for each of the following namespaces:
Where CONTOUR-NS
is the one or more namespaces where Contour is installed on your cluster. If Cloud Native Runtimes was installed as part of a Tanzu Application Profile, this value is likely tanzu-system-ingress
.
After configuring Tanzu Service Mesh, install Cloud Native Runtimes and verify your installation:
NoteYou must create all Knative workloads in the namespace or namespaces where you plan to run these Knative workloads. If you do not, your pods fail to start.