Replies: 2 comments 6 replies
-
Please note, this was created base on an active support ticket. |
Beta Was this translation helpful? Give feedback.
4 replies
-
@tomkerkhove Was this resolved? I have a customer with the same issue and the
I'm gathering more details and the logs, but we solved the issue by manually setting that value in the service to true during a debug session. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
in some cases, APIM pods cannot start.
displaying error:
[ErrorResolvingHostname], exception: System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (00000001, 11): Resource temporarily unavailable
at System.Net.Dns.GetHostEntryOrAddressesCore(String hostName, Boolean justAddresses, AddressFamily addressFamily, ValueStopwatch stopwatch)
at System.Net.Dns.<>c.b__33_0(Object s, ValueStopwatch stopwatch)
at System.Net.Dns.<>c__DisplayClass39_0
1.<RunAsync>b__0(Task <p0>, Object <p1>) at System.Threading.Tasks.ContinuationResultTaskFromTask
1.InnerInvoke()at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at Microsoft.WindowsAzure.ApiManagement.Proxy.Runtime.DefaultDnsNameResolver.ResolveAsync(String name, CancellationToken cancellation) in D:\a\1\s\Proxy\Gateway.Pipeline.IO\Dns\DefaultDnsNameResolver.cs:line 26
at Polly.Retry.AsyncRetryEngine.ImplementationAsync[TResult](Func
3 action, Context context, CancellationToken cancellationToken, ExceptionPredicates shouldRetryExceptionPredicates, ResultPredicates
1 shouldRetryResultPredicates, Func5 onRetryAsync, Int32 permittedRetryCount, IEnumerable
1 sleepDurationsEnumerable, Func`4 sleepDurationProvider, Boolean continueOnCapturedContext), source: NeighborhoodSolution which solved the issue was to add parameter to service
under .spec.
tells Kubernetes to register pod IP addresses in the service's DNS record EVEN IF the pods are not ready/healthy.
Without this setting, we had a circular dependency:
Pod needed DNS resolution to start
DNS resolution needed endpoints in the service
Service needed healthy pods
Pods couldn't be healthy because they couldn't start due to DNS...
With publishNotReadyAddresses: true:
Service publishes pod IPs immediately after pod creation
DNS resolution works before pod is ready
Pod can start successfully
The cycle is broken
This is a common pattern for bootstrap/discovery services where components need to find each other during startup.
Beta Was this translation helpful? Give feedback.
All reactions