istio: (I believe) The startup time of istio-proxy causes some communications issues for up to 30s with the kubernetes API
Hey, I’m not sure if there’s a huge amount you can do about this one…
If you read through https://github.com/kubernetes/ingress-nginx/issues/1968 - you will see that the nginx-ingress-controller
attempts to query the kubernetes api (kubernetes.default.svc.cluster.local) for the version almost immediately when it boots, and it retries for around 30 seconds before its’ actually able to successfully get a response.
The nginx-ingress-controller
connects first time when it is started without istio-proxy.
We worked around this by adding a retry/delay into the controller to give istio-proxy time to “boot”, but it feels like something we shouldn’t really need to be doing?
Could this be because istio-proxy is taking a while to sync the config that says mtlsExcludedServices: kubernetes.default.svc.cluster.local
?
Thoughts?
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 23 (23 by maintainers)
Hey @nmittler - looks good, thanks and the
-n
flag resolves the need for me to manually remove the iptables rule (yay). Look forward to 0.8.0 to test it out.@Stono In #4569 I added a new option to the startup script
-x
to allow you to exclude outbound IPs. We now use this in our nginx test to add an exclusion for kube master. If you’re doing manual injection, you can provide this value to istioctl via the--excludeIPRanges
flag.This will all be in
0.8.0
, so give it a try when it’s released. Cheers!