Knative Serving with Service Mesh?

243 views
Skip to first unread message

EJ

unread,
Jun 3, 2022, 1:03:49 AM6/3/22
to Knative Users
I'm trying to use KNative with an existing Istio install w/o gateways and am having some problems with the KNative documentation on installation. The installation of the istio ingress gateways is not documented for use with Kn, and I'm not able to just blow away our existing Istio deploiyment to use the Kn yamls, and would rather not change how our cluster is deployed.

So I have these questions:
  • This file for installing the Knative Istio controller implies that the knative-local-gateway is not necessary if you're using a service mesh with sidecar injection. Simply deleting the gateway and service causes knservice creation to fail with an ingress reconciliation error though. The file is https://github.com/knative/net-istio/releases/download/knative-v1.4.0/net-istio.yaml. How do we configure KNative to use the service mesh for local traffic instead of an additional local gateway? How does KNative queue requests if there is no gateway?
  • How to create the istio-ingressgateway with helm? Using the instructions from the istio website, and the names+namespaces from https://github.com/knative/net-istio/releases/download/knative-v1.4.0/istio.yaml doesn't seem to work. When I inspect the created resources in the cluster, they have different settings from the above file.
As a side note, I think most users who choose istio over kourier will do so because they are already using it. Re-installing Istio from scratch as shown in the instructions may not be feasible, so it will help if the install instructions are written from this perspective.

Reto Lehmann

unread,
Feb 13, 2023, 2:09:03 AM2/13/23
to Knative Users
Hello,

You should be able to install Knative and our istio integration using these instructions: https://knative.dev/docs/install/installing-istio/. With this setup, you should not need to change your existing istio installation and you can configure it to use an existing local gateway: https://knative.dev/docs/install/installing-istio/#updating-the-config-istio-configmap-to-use-a-non-default-local-gateway. You are correct that this is not documented using `kn`, as this is an advanced installation option which also relies on your existing setup.

Knative uses the activator to queue requests, so this part is not dependant on the istio gateway.

Regarding the installation with helm, it might be that our packaged istio-yaml is different to the one from the istio website. But nevertheless, you can install istio using their instructions and just add our integration described in https://knative.dev/docs/install/installing-istio/#basic-installation-with-istioctl.

I hope this helps to clarify a bit,
Best regards
Reto
Reply all
Reply to author
Forward
0 new messages