DaveZLB / edgex-helm

A Helm chart to easily deploy the EdgeX IoT project on Kubernetes
12 stars 10 forks source link

Couldn't create database client: Could not dial Redis: dial tcp <edgex-redis' service ip>: connect: connection refused #15

Open krezefal opened 4 years ago

krezefal commented 4 years ago

Failing with connection to Redis database service of some pods after cluster restart.

I try to install EdgeX (Geneva) with Helm (v3.3.4) in pure k3s-cluster (v1.17.5+k3s1) for three nodes:

image Initilal pods

After $ helm install edgex-geneva edgex-helm EdgeX is succesfully installed:

image

image EdgeX pods

image Consul's Helth Check after installation

But as soon as I restart cluster, some pods fall into CrashLoopBackOff state. Some of them for the reason written in the topic, others due to the fact that first ones are not available:

image After cluster restart

Pods cannot reach the Redis service:

image edgex-core-command pod logs

image Consul's Helth Check after restart

What should I do?

P.S.: Attach core-command and core-data logs files log-edgex-core-command.txt log-edgex-core-data.txt

Loris94 commented 3 years ago

@krezefal I've done this deployment on a Ubuntu 20.04 server without problem but on a raspberry pi4 with arm64 images it's giving me the same problem. kubectl get endpoints prints that the endpoints are not exposed but I don't understand why since I'm using the same templates. Did you manage to find a solution?

DaveZLB commented 3 years ago

@krezefal ,you can try Geneva branch with stand-alone redis, I think it is not necessary to deploy edgex on the edge side requires a cluster redis.

DaveZLB commented 3 years ago

@krezefal I've done this deployment on a Ubuntu 20.04 server without problem but on a raspberry pi4 with arm64 images it's giving me the same problem. kubectl get endpoints prints that the endpoints are not exposed but I don't understand why since I'm using the same templates. Did you manage to find a solution?

try geneva branch, edgex uses the stand-alone redis to run.