У меня есть служба redis, работающая с сервером redis.Должен ли я иметь возможность хранить и получать данные для этой службы от нескольких клиентов в разных службах?До сих пор мне не удавалось в моих экспериментах.
У меня есть вычислительная служба в своем собственном модуле, которая набирает службу redis и сохраняет ключ / значение
rClient := redis.NewClient(&redis.Options{
Addr: "redis-service:6379",
Password: "", // no password set
DB: 0, // use default DB
})
rClient.Set("trump", "value", 0).Err()
Затем у меня есть веб-служба в своем модуле, которая пытаетсячтобы прочитать это значение.Ошибка возвращает Nil, и значение пустое.
rClient := redis.NewClient(&redis.Options{
Addr: "redis-service:6379",
Password: "", // no password set
DB: 0, // use default DB
})
val, err := rClient.Get("trump").Result()
fmt.Fprintf(w, "Print Error: %v \n", err) //prints nil
fmt.Fprintf(w, "Print Value: %s \n", val) // blank
Если я установлю значение в веб-сервисе, то смогу прочитать значение отлично.Я просто не могу установить значение в другом сервисе.Насколько я знаю, Redis хранит данные на стороне сервера, которые будут redis-service.
Вот мои файлы yaml для развертывания / обслуживания redis-service.Может быть, это конфигурация?
apiVersion: v1
kind: Service
metadata:
name: redis-service
labels:
app: redis-service
role: master
tier: backend
spec:
ports:
- port: 6379
targetPort: 6379
selector:
app: redis-service
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: redis-service
spec:
selector:
matchLabels:
app: redis-service
role: master
tier: backend
replicas: 1
template:
metadata:
labels:
app: redis-service
role: master
tier: backend
spec:
containers:
- name: redis-service
image: k8s.gcr.io/redis:e2e # or just image: redis
resources:
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 6379