thingsboard / thingsboard-ce-k8s

ThingsBoard Community Edition Kubernetes scripts and docs
Apache License 2.0
72 stars 89 forks source link

Error on login page "POST: /api/noauth/oauth2Clients?platform=WEB 404: Not Found" #107

Open arunnechlani opened 1 year ago

arunnechlani commented 1 year ago

thingsboard_error

Hi,

I have deployed thingsboard-ce-k8s project via helm using my AWS MSK kafka. I have enabled ingress as well. But on UI web page its giving error "POST: /api/noauth/oauth2Clients?platform=WEB 404: Not Found"

kubectl describe ing Name: nginx-ingress-microk8s Labels: app=nginx-ingress-microk8s app.kubernetes.io/managed-by=Helm Namespace: default Address: 127.0.0.1 Ingress Class: public Default backend: Rules: Host Path Backends


/api/v1/. ioc-http:8082 () /api/. ioc-node:8080 (10.1.80.110:8080) /swagger. ioc-node:8080 (10.1.80.110:8080) /webjars. ioc-node:8080 (10.1.80.110:8080) /v2/. ioc-node:8080 (10.1.80.110:8080) /v3/. ioc-node:8080 (10.1.80.110:8080) /static/rulenode/. ioc-node:8080 (10.1.80.110:8080) /assets/help/./rulenode/. ioc-node:8080 (10.1.80.110:8080) /oauth2/. ioc-node:8080 (10.1.80.110:8080) /login/oauth2/. ioc-node:8080 (10.1.80.110:8080) / ioc-webui:8084 (10.1.80.104:8084) /.* ioc-webui:8084 (10.1.80.104:8084) Annotations: meta.helm.sh/release-name: ioc meta.helm.sh/release-namespace: default Events:

On MQTT/HTTP transport i am getting this error and its crashing after timeout is hitting.

2023-11-06 04:27:35,653 [main] INFO o.t.s.q.d.HashPartitionService - Failed to get queues routing info: java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutException! 2023-11-06 04:27:45,653 [main] INFO o.t.s.q.d.HashPartitionService - Try to get queue routing info.

On node pod i see below error

:22:07,865 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [tb-rule-engine-notifications-node-tb-node] Failed to get consumer group stats. Reason - null. 2023-11-06 04:22:08,865 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [rule-engine-node-tb-node] Failed to get consumer group stats. Reason - null. 2023-11-06 04:22:09,866 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [re-Main-consumer] Failed to get consumer group stats. Reason - null. 2023-11-06 04:22:11,373 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [re-SequentialByOriginator-consumer] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1000ms. 2023-11-06 04:22:12,882 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [re-HighPriority-consumer] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1000ms. 2023-11-06 04:23:13,392 [kafka-consumer-stats-8-thread-1] INFO org.apache.kafka.clients.Metadata - [Consumer clientId=consumer-stats-loader-client, groupId=consumer-stats-loader-client-group] Cluster ID: CLHIvEO9Qq6J8Z0Pcj5g8Q 2023-11-06 04:23:14,392 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [tb-rule-engine-notifications-node-tb-node] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1001ms. 2023-11-06 04:23:15,897 [kafka-consumer-stats-8-thread-1] WARN o.t.s.q.k.TbKafkaConsumerStatsService - [rule-engine-node-tb-node] Failed to get consumer group stats. Reason - Failed to get offsets by times in 1001ms.

node pod is deployed with below env variables values:

      - name: TB_SERVICE_ID
        value: "tb-node"
      - name: TB_SERVICE_TYPE
        value: "tb-rule-engine"
      - name: TB_QUEUE_TYPE
        value: "kafka"
arunnechlani commented 1 year ago

For UI error i was able to fix it by changing the path in ingress file from webui to node as below, but other exceptions are still coming.

      - path: /
        pathType: ImplementationSpecific
        backend:
          service:
            name: {{ $releaseName }}-node
            port:
              number: {{ $values.node.service.port }}
      - path: /.*
        pathType: ImplementationSpecific
        backend:
          service:
            name: {{ $releaseName }}-node
            port:
              number: {{ $values.node.service.port }}
sprijk commented 11 months ago

Hi @arunnechlani,

I'm trying changes to the helm chart as well. Of course in the same time, I'm pretty new to the Thingsboard itself and its internals.

Currently I'm running into the same issue as you mentioned, so I'll try to apply the changes you're proposing to the Ingress resource as well.

Do you have enough experience with Thingsboard to explain why redirecting these paths away from the Web UI to the Node would help?

Thanks in advance!

sprijk commented 11 months ago

As thingsboard-node runs its own web ui, it kind of looks like thingsboard-node is actually still running in monolith mode..