# Temporal worker not able to connect to internal frontend

**URL:** <https://community.temporal.io/t/temporal-worker-not-able-to-connect-to-internal-frontend/16596>\
**Category:** Community Support\
**Tags:** worker\
**Created:** [February 26, 2025, 11:14pm UTC](https://community.temporal.io/t/temporal-worker-not-able-to-connect-to-internal-frontend/16596 "2025-02-26T23:14:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![atullimaye19](https://avatars.discourse-cdn.com/v4/letter/a/71e660/32.png) [@atullimaye19](https://community.temporal.io/u/atullimaye19)\
**Post date:** [February 26, 2025, 11:14pm UTC](https://community.temporal.io/t/temporal-worker-not-able-to-connect-to-internal-frontend/16596/1 "2025-02-26T23:14:23Z")

</div>

Temporal server version v1.25.0. we are trying to setup internal-frontend and running into issues where worker service isn’t able to connect to internal-frontend after the PublicClient is removed. Anyone experienced same issue? The communication works fine if we don’t start internal-frontend service and use PublicClient for connecting to Frontend. We are running on Kubernetes with each service its own pod (frontend, internal-frontend, history, matching, worker)

We keep getting this error -  
{“level”:“warn”,“ts”:“2025-02-26T23:10:34.802Z”,“msg”:“error creating sdk client”,“service”:“worker”,“error”:“failed reaching server: received context error while waiting for new LB policy update: context deadline exceeded”,“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/sdk/factory.go:123”}  
{“level”:“error”,“ts”:“2025-02-26T23:10:38.664Z”,“msg”:“start failed”,“component”:“fx”,“error”:“context deadline exceeded”,“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/temporal/fx.go:1130”,“stacktrace”:“[go.temporal.io/server/common/log.(\*zapLogger).Error](http://go.temporal.io/server/common/log.(*zapLogger).Error)\n\t/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/log/zap\_logger.go:155\ngo.temporal.io/server/temporal.(\*fxLogAdapter).LogEvent\n\t/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/temporal/fx.go:1130\ngo.uber.org/fx.(\*App).Start.func1\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/app.go:664\ngo.uber.org/fx.(\*App).Start\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/app.go:672\ngo.temporal.io/server/temporal.(\*ServerImpl).startServices\n\t/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/temporal/server\_impl.go:155\ngo.temporal.io/server/temporal.(\*ServerImpl).Start\n\t/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/temporal/server\_impl.go:121\ngo.uber.org/fx/internal/lifecycle.(\*Lifecycle).runStartHook\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/internal/lifecycle/lifecycle.go:256\ngo.uber.org/fx/internal/lifecycle.(\*Lifecycle).Start\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/internal/lifecycle/lifecycle.go:216\ngo.uber.org/fx.(\*App).start-fm.(\*App).start.func1\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/app.go:704\ngo.uber.org/fx.(\*App).withRollback\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/app.go:686\ngo.uber.org/fx.(\*App).start\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/app.go:703\ngo.uber.org/fx.withTimeout.func1\n\t/jenkins/pkg/mod/go.uber.org/fx@v1.22.0/app.go:802”}

---

<div class="post-metadata">

**Author:** ![tihomir](https://sea2.discourse-cdn.com/flex016/user_avatar/community.temporal.io/tihomir/32/6580_2.png) [@tihomir](https://community.temporal.io/u/tihomir)\
**Post date:** [February 27, 2025, 2:44am UTC](https://community.temporal.io/t/temporal-worker-not-able-to-connect-to-internal-frontend/16596/2 "2025-02-27T02:44:44Z")

</div>

can you look at your static config on worker pod (/etc/temporal/config/docker.yaml)?  
see if it has internal-frontend section defined, see [here](https://github.com/temporalio/temporal/blob/main/docker/config_template.yaml#L280)

---

<div class="post-metadata">

**Author:** ![atullimaye19](https://avatars.discourse-cdn.com/v4/letter/a/71e660/32.png) [@atullimaye19](https://community.temporal.io/u/atullimaye19)\
**Post date:** [February 27, 2025, 3:18pm UTC](https://community.temporal.io/t/temporal-worker-not-able-to-connect-to-internal-frontend/16596/3 "2025-02-27T15:18:21Z")

</div>

That is correct we have it in the worker config -  
internal-frontend:  
rpc:  
grpcPort: 7236  
membershipPort: 6936  
BindOnIP: 0.0.0.0

adding more worker logs where it does suggest internal frontend is one of the “current reachable members”.  
{“level”:“info”,“ts”:“2025-02-27T15:23:06.442Z”,“msg”:“Current reachable members”,“component”:“service-resolver”,“service”:“worker”,“addresses”:[“100.127.51.62:7239”],“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/membership/ringpop/service\_resolver.go:331”}  
{“level”:“info”,“ts”:“2025-02-27T15:23:06.442Z”,“msg”:“Current reachable members”,“component”:“service-resolver”,“service”:“frontend”,“addresses”:[“100.127.63.53:7233”],“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/membership/ringpop/service\_resolver.go:331”}  
{“level”:“info”,“ts”:“2025-02-27T15:23:06.442Z”,“msg”:“Current reachable members”,“component”:“service-resolver”,“service”:“internal-frontend”,“addresses”:[“100.127.11.157:7236”],“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/membership/ringpop/service\_resolver.go:331”}  
{“level”:“info”,“ts”:“2025-02-27T15:23:06.442Z”,“msg”:“Current reachable members”,“component”:“service-resolver”,“service”:“matching”,“addresses”:[“100.127.67.228:7235”],“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/membership/ringpop/service\_resolver.go:331”}  
{“level”:“warn”,“ts”:“2025-02-27T15:23:11.450Z”,“msg”:“error creating sdk client”,“service”:“worker”,“error”:“failed reaching server: received context error while waiting for new LB policy update: context deadline exceeded”,“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/sdk/factory.go:123”}  
{“level”:“warn”,“ts”:“2025-02-27T15:23:16.615Z”,“msg”:“error creating sdk client”,“service”:“worker”,“error”:“failed reaching server: received context error while waiting for new LB policy update: context deadline exceeded”,“logging-call-at”:“/jenkins/pkg/mod/go.temporal.io/server@v1.25.0/common/sdk/factory.go:123”}

---

<div class="post-metadata">

**Author:** ![atullimaye19](https://avatars.discourse-cdn.com/v4/letter/a/71e660/32.png) [@atullimaye19](https://community.temporal.io/u/atullimaye19)\
**Post date:** [March 5, 2025, 7:44pm UTC](https://community.temporal.io/t/temporal-worker-not-able-to-connect-to-internal-frontend/16596/4 "2025-03-05T19:44:51Z")

</div>

Turns out we were missing two things -

1. Expose internal frontend ports
2. define these ports in egress configuration for the namespace.  
Its working now. Thanks
