Я пытаюсь развернуть модуль redis , чтобы разрешить подключение моего промежуточного приложения к нему (чтобы не использовать управляемую службу Redis при подготовке ENV).
Я использую Google Cloud Platform с GKE , так что управляемый кластер k8s ...
Однако, когда я пытаюсь установить соединение (только с другого модуля Redis только для тестирования), я получаю это сообщение:
Could not connect to Redis at redis-cip.redis.svc.cluster.local:6379: Connection refused
Команда, которую я использую для проведения теста, такова:
redis-cli -h redis-cip.redis.svc.cluster.local -p 6379
URL-адрес состоит из:
- redis-cip : это сервис ClusterIP, который я использую, чтобы разрешить подключение к моему redis POD
- redis: это пространство имен, в котором находится redis POD
Более того, я использую, как уже написано в некоторые вопросы по StackOverflow, эта конфигурация redis:
protected-mode no
maxmemory 32mb
maxmemory-policy allkeys-lru
В прикрепленном полном отображении k8s:
ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
name: redis-configmap
namespace: redis
data:
redis.conf: |
protected-mode no
maxmemory 32mb
maxmemory-policy allkeys-lru
Redis Deploy:
apiVersion: v1
kind: Pod
metadata:
name: redis
namespace: redis
spec:
containers:
- name: redis
image: redis
command:
- redis-server
- /usr/local/etc/redis/redis.conf
env:
- name: MASTER
value: "true"
ports:
- containerPort: 6379
volumeMounts:
- mountPath: /redis-master-data
name: data
- mountPath: /usr/local/etc/redis/
name: redis-configmap
resources:
requests:
memory: {{ .Values.resources.requests.memory }}
cpu: {{ .Values.resources.requests.cpu }}
limits:
memory: {{ .Values.resources.limits.memory }}
cpu: {{ .Values.resources.limits.cpu }}
volumes:
- name: data
emptyDir: {}
- name: redis-configmap
configMap:
name: redis-configmap
Служба ClusterIP:
apiVersion: v1
kind: Service
metadata:
name: redis-cip
namespace: redis
labels:
app: redis
spec:
ports:
- port: 6379
targetPort: 6379
selector:
app: redis
type: ClusterIP