Starting a container/pod after running the istio-proxy

10/22/2018

I am trying to implement a service mesh to a service with Kubernetes using Istio and Envoy. I was able to set up the service and istio-proxy but I am not able to control the order in which the container and istio-proxy are started.

My container is the first started and tries to access an external resource via TCP but at that time, istio-proxy has not completely loaded and so does the ServiceEntry for the external resource

I tried adding a panic in my service and also tried with a sleep of 5 seconds before accessing the external resource.

Is there a way that I can control the order of these?

-- DoIt
envoyproxy
istio
kubernetes

2 Answers

10/22/2018

I don't think you can control the order other than listing the containers in a particular order in your pod spec. So, I recommend you configure a Readiness Probe so that you are pod is not ready until your service can send some traffic to the outside.

-- Rico
Source: StackOverflow

10/22/2018

Github issue here:

Support startup dependencies between containers on the same Pod

We're currently recommending that developers solve this problem themselves by running a startup script on their application container which delays application startup until Envoy has received its initial configuration. However, this is a bit of a hack and requires changes to every one of the developer's containers.

-- Ijaz Ahmad Khan
Source: StackOverflow