istio: Proxy cannot get SDS push if SDS server is not ready and proxy sends out SDS requests already.
Bug description SDS agent prints a log when it starts the SDS server, but we need a log indicating when the SDS server is ready.
If SDS server is not ready, and Envoy sends SDS requests, then no secrets are pushed to Envoy. We can reproduce this by adding a delay before starting SDS server here.
If the local SDS integration test is ready, we can add more tests to cover negative cases and corner cases on SDS.
We may need a debug endpoint at SDS server, and make readiness probe to the endpoint before starting Envoy.
Expected behavior Envoy gets key/cert via SDS
Steps to reproduce the bug Add a delay before starting SDS server here, check Envoy log/config and traffic.
Version (include the output of istioctl version --remote
and kubectl version
and helm version
if you used Helm)
1.5
How was Istio installed?
Environment where bug was observed (cloud vendor, OS, etc)
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 5
- Comments: 54 (45 by maintainers)
Nice to see this is being resolved. We were having weird 503 and noticed that secrets in the sidecars are not initialized. Is this going to be in release-1.5?
1.5.2 + envoy from 1.6 is broken: gcr.io/howardjohn-istio/proxyv2:mismatch 1.6 + envoy from 1.5 is working: gcr.io/howardjohn-istio/proxyv2:mismatch-16-agent
conclusion: its purely on pilot-agent that we have broken this
on some versions just the ROOTCA is broken:
full log: root-missing.txt
how to workaround this? I met this 503
TLS error: Secret is not supplied by SDS
I found some logs in istio-ingressgateway pod:
Here is a new one⦠the
default
secret is fetched but ROOTCA is not:Running
1.6-alpha.81322fa1cba9fe98047bfcc275b0adeb82465fdd