skupper
skupper copied to clipboard
Different behavior for dns name creation between namespaces when `--publish-not-read-address` is not used
When not created with --publish-not-ready-address, the creation of the DNS name behaves differently on the namespace where the service is created and the one where it is replicated by Skupper.
On the namespace where the K8S service and statefulset reside, and where the skupper expose statefulset command was issued, the name is not created until at least one pod from the statefulset is ready.
On the other namespace, however, the name appears shortly after Skupper expose is executed.
Steps to reproduce:
- Create a headless K8S service on prv named backend-0.backend
- Create a statefulset that uses the above service as its base service; on it, set a ReadinessProbe configured with
InitialDelaySeconds: 60(or greater) - Expose the statefulset with skupper, without
--publish-not-read-address - Check for the name
backend-0.backendon both prv and pub - On prv, the name resolution will fail until the probe starts reporting ready; on pub, it will work after some time, even if prv's backend-0 is still reporting as not ready
On my local testing, the dnsname appeared some 30s after skupper expose. A deployment named backend-0 also appeared on it, and it reported as ready as soon as its containers were running.