Ingress Controller
Learn about installing Istio ingress controller in a Kubernetes cluster running Seldon Core 2.
Last updated
Was this helpful?
Learn about installing Istio ingress controller in a Kubernetes cluster running Seldon Core 2.
Last updated
Was this helpful?
An ingress controller functions as a reverse proxy and load balancer, implementing a Kubernetes Ingress. It adds an abstraction layer for traffic routing by receiving traffic from outside the Kubernetes platform and load balancing it to Pods running within the Kubernetes cluster.
Seldon Core 2 works seamlessly with any service mesh or ingress controller, offering flexibility in your deployment setup. This guide provides detailed instructions for installing and configuring Istio with Seldon Core 2.
Istio implements the Kubernetes ingress resource to expose a service and make it accessible from outside the cluster. You can install Istio in either a self-hosted Kubernetes cluster or a managed Kubernetes service provided by a cloud provider that is running the Seldon Core 2.
Install.
Ensure that you install a version of Istio that is compatible with your Kubernetes cluster version. For detailed information on supported versions, refer to the .
Installing Istio ingress controller in a Kubernetes cluster running Seldon Core 2 involves these tasks:
Add the Istio Helm charts repository and update it:
Create the istio-system
namespace where Istio components are installed:
Install the base component:
Install Istiod, the Istio control plane:
Install Istio Ingress Gateway:
Verify that Istio Ingress Gateway is installed:
This should return details of the Istio Ingress Gateway, including the external IP address.
Verify that all Istio Pods are running:
The output is similar to:
Inject Envoy sidecars into application Pods in the namespace seldon-mesh
:
Verify that the injection happens to the Pods in the namespace seldon-mesh
:
Find the IP address of the Seldon Core 2 instance running with Istio:
It is important to expose seldon-service
service to enable communication between deployed machine learning models and external clients or services. The Seldon Core 2 inference API is exposed through the seldon-mesh
service in the seldon-mesh
namespace. If you install Core 2 in multiple namespaces, you need to expose the seldon-mesh
service in each of namespace.
Verify if the seldon-mesh
service is running for example, in the namespace seldon
.
When the services are running you should see something similar to this:
Create a YAML file to create a VirtualService named iris-route
in the namespace seldon-mesh
. For example, create the seldon-mesh-vs.yaml
file. Use your preferred text editor to create and save the file with the following content:
Create a virtual service to expose the seldon-mesh
service.
When the virtual service is created, you should see this:
Additional Resources
Make a note of the IP address that is displayed in the output. This is the IP address that you require to .