Can istio use existing services?

8/7/2018

I already have some services in my k8s cluster and want to mantain them separately. Examples:

  • grafana with custom dashboards and custom dockerfile
  • prometheus-operator instead of basic prometheus
  • jaeger pointing to elasticsearch as internal storage
  • certmanager in my own namespace (also I use it for nginx-ingress legacy routing)

Is it possible to use existing instances instead of creating istio-specific ones? Can istio communicate with them or it's hardcoded?

-- Andrey Afoninsky
istio
kubernetes

2 Answers

8/8/2018

Kubernetes provides quite a big variety of Networking and Load Balancing features from the box. However, the idea to simplify and extend the functionality of Istio sidecars is a good choice as they are used for automatic injection into the Pods in order to proxy the traffic between internal Kubernetes services.

You can implement sidecars manually or automatically. If you choose the manual way, make sure to add the appropriate parameter under Pod's annotation field:

annotations:
        sidecar.istio.io/inject: "true"

Automatic sidecar injection requires Mutating Webhook admission controller, available since Kubernetes version 1.9 released, therefore sidecars can be integrated for Pod's creation process as well.

Get yourself familiar with this Article to shed light on using different monitoring and traffic management tools in Istio.

-- mk_sta
Source: StackOverflow

9/27/2018

Yes - it is possible to use external services with istio. You can disable grafana and prometheus just by setting proper flags in values.yaml of istio helm chart (grafana.enabled=false, etc). You can check kyma-project project to see how istio is integrated with prometheus-operator, grafana deployment with custom dashboards, and custom jaeger deployment. From your list only certmanager is missing.

-- Piotr Bochynski
Source: StackOverflow