Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added missing edge port in GCP yaml #92

Closed
wants to merge 3 commits into from

Conversation

rbarberop
Copy link

With the yaml as it was, port 7070 was not exposed in the tb-node service.

Thingsboard Edge instances could not communicate with Thingsboard CE deployed that way.

Adding port 7070 to the service fixes the issue.

@volodymyr-babak
Copy link
Contributor

@rbarberop

Thank you for submitting this PR. Before merging, I would like to gain a better understanding of your use case to ensure we improve the documentation accurately. I'm curious about how you connected Edge instances to ThingsBoard CE deployed as a monolith or using microservices without an external load balancer. Did you also deploy ThingsBoard Edge instances within the Kubernetes cluster?

By understanding your use case, we can ensure the appropriate changes are made and provide more comprehensive guidance for other users in similar situations.

@rbarberop
Copy link
Author

Hi @volodymyr-babak , thanks for taking a look at this.

The issue happens in both cases, monolith or microservices. And it's independent of which K8s cluster they are deployed in (same cluster for demo purposes or different clusters for MVP with a customer).

With the current configuration, Thingsboard CE does not expose port 7070, which means that any Thingsboard Edge instance can't connect.

I just added port 7070 to be exposed in the service to fix the issue.

@volodymyr-babak
Copy link
Contributor

@rbarberop, thank you for providing additional details.

Currently, the tb-node container exposes port 7070:
image

I am in the process of working on a pull request to add a new Edge TCP service of type LoadBalancer:
https://github.com/thingsboard/thingsboard-ce-k8s/pull/93/files

After deploying this LoadBalancer service to my GCP cluster, I successfully connected a ThingsBoard Edge instance running on my local PC to a ThingsBoard CE server running in a Kubernetes cluster within GCP.

Here are the steps in the documentation I followed to obtain the IP address of the Edge load balancer:
image

The tb-node service you modified is of type ClusterIP and does not provide an external IP address. I am wondering how ThingsBoard Edge would connect to ThingsBoard CE in this case. I might be missing something, and I am trying to understand the missing part at the moment.

@rbarberop
Copy link
Author

You are correct, the config I uploaded would only work in the demo use case, where both are deployed in the same K8s cluster.

Yes, the container exposes the port 7070 but then it was not connected to any service, that's what I was adding with this PR.

Given that you are already going to cover this with your PR (and that the version of Edge in this PR is already old), I'll close it in favor of yours.

Thanks for taking the time to check it out.

@rbarberop rbarberop closed this May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants