Comments (12)
keydb-managed-0:/data# redis-cli
Message of the day:
We want to hear from you! Help make KeyDB better with a quick 5 question survey: https://www.surveymonkey.com/r/Y9XNS93
127.0.0.1:6379> get foo
(nil)
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379>
keydb-managed-1:/data# redis-cli
Message of the day:
We want to hear from you! Help make KeyDB better with a quick 5 question survey: https://www.surveymonkey.com/r/Y9XNS93
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> set foo baz
OK
127.0.0.1:6379>
keydb-managed-0:/data# redis-cli
Message of the day:
We want to hear from you! Help make KeyDB better with a quick 5 question survey: https://www.surveymonkey.com/r/Y9XNS93
127.0.0.1:6379> get foo
"baz"
127.0.0.1:6379>
Cannot reproduce. Can you provide me more logs? And please check that one node can reach another via 6379 port.
And plese provide the Replication section of info:
127.0.0.1:6379> info
from charts.
In GKE, DNS won't resolve the pod address at keydb-1.keydb.default.svc.cluster.local
. It can only resolve the service keydb.default.svc.cluster.local
.
I tried to add and use kube headless service at keydb-1.keydb.keydb-headless.default
or keydb-1.keydb-headless.default
but it won't work either.
It can only connect, if I use Pod IP directly.
Any thoughts?
from charts.
According to these official docs: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id all should work if cluster DNS is cluster.local. StatefulSet's field .spec.serviceName is headless service name. I will try to check the situation on GKE in some time and let you know.
from charts.
My GKE version is 1.14.10-gke.17. I have also tried to debug with nslookup
. I hope it will be useful.
from charts.
It's actually strange, because the pod identifies self correctly:
root@keydb-0:/data# ping keydb-0
PING keydb-0.keydb.default.svc.cluster.local (10.12.1.3) 56(84) bytes of data.
64 bytes from keydb-0.keydb.default.svc.cluster.local (10.12.1.3): icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from keydb-0.keydb.default.svc.cluster.local (10.12.1.3): icmp_seq=2 ttl=64 time=0.031 ms
64 bytes from keydb-0.keydb.default.svc.cluster.local (10.12.1.3): icmp_seq=3 ttl=64 time=0.033 ms
64 bytes from keydb-0.keydb.default.svc.cluster.local (10.12.1.3): icmp_seq=4 ttl=64 time=0.033 ms
64 bytes from keydb-0.keydb.default.svc.cluster.local (10.12.1.3): icmp_seq=5 ttl=64 time=0.033 ms
from charts.
I have no idea, it works on me too keydb-0.keydb.default.svc.cluster.local
from charts.
It is because there is no actual dns resolution. This name is hardcoded into /etc/hosts
from charts.
Ok, what's the permanent solution?
from charts.
I've found the problem. My service wasn't headless. Please try 0.6.0 (you should delete the previous service as clusterIP
field is immutable). Thank you for your bug report it was very helpful. I don't know how it worked before in my environment.
from charts.
@Antiarchitect I can confirm, it works. Perhaps you may need to update your docs as well, add how to connect to keydb using this chart and how to upgrade this chart.
Thank you!
from charts.
@Antiarchitect I have one PR to improve routing strategy using headless service
See https://github.com/Enapter/charts/pull/3/files
from charts.
I believe you can avoid namespace as well. Pods from one namespace should be resolved properly. I will investigate if this is a good idea in general but now it looks good to me (because we can avoid cluster DNS suffix). Thank you!
from charts.
Related Issues (20)
- serviceMonitor changes HOT 1
- Cannot set client-output-buffer-limit HOT 2
- PersistentVolumeClaim selector config support HOT 2
- podAntiAffinity - option to change it from values HOT 1
- Secret specific key HOT 1
- Best way to add modules and enable ReJson + RediSearch? HOT 1
- KeyDB Exporter extraArgs doesn't work as intended HOT 10
- Zombi processes from readiness / liveness probes HOT 7
- [Feature Request] Image pull secrets HOT 4
- [Feature Request] Split image name and tag HOT 2
- No keys reported (update exporter) HOT 1
- Add helm support for KeyDB on FLASH
- Scaling up/down - Downtime/Missing data HOT 10
- cleanupTempfiles.minutes - default value HOT 1
- uuidv4 usage cause GitOps OutOfSync HOT 2
- 16 fixables vulnerabilities are present on eqalpha/keydb:x86_64_v6.3.2 HOT 1
- Chart claim volume HOT 1
- redis.conf lost after statefullset update
- Feature request: Install with restore from rdb.
- [Question] Ring Network instead of Fully-Connected Mesh Network
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from charts.