Kubernetes VIP using Istio

3/18/2018

I am new to Kubernetes and trying to move from VM based services to Kubernetes.

Current approach,

Have multiple VM's and running services on each VM. Services are running on multiple VM's and have VIP in front of them. Clients will be accessing VIP and VIP will be doing round robin on available services.

I read ISTIO and ingress and hope, the same thing can be done using ISTIO. I have setup a local minikube cluster and exploring all the use cases. I was able to deploy my service with scaling factor 2. Now, I would like to access my service using VIP. I was not sure how to create VIP and expose to other service in the Kubernetes cluster and services running outside the Kubernetes cluster? Can i use the same existing VIP? Or, Do i need to do any extra setting create a VIP in Kubenetes with any service name?

Thanks

-- user1578872
istio
kubernetes
kubernetes-ingress

1 Answer

3/18/2018

Please note that Istio is an additional layer on top of other frameworks, including Kubernetes. In your case you should port your application to Kubernetes first, and then add Istio if needed.

Porting to Kubernetes:

  1. Instead of a VIP, you define a Kubernetes service. You change the code or configure your microservices to use the defined Kubernetes services instead of the VIPs.
  2. To access your services from the outside, you define a Kubernetes Ingress.

This probably should be enough to make your application run on Kubernetes.

Once you ported your application to Kubernetes, you can add Istio, see Istio Quick Start Guide. Istio can provide you advanced routing, logging and monitoring, policy enforcement, traffic encryption between services, and also support for various microservices patterns. See more at istio.io.

-- Vadim Eisenberg
Source: StackOverflow