Подключитесь к сервису Redis из другого сервиса, используя kubernetes - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть кластер Kubernetes на облачной платформе Google с несколькими развернутыми службами. Я импортировал redis-go в свой сервис вычислений и могу создать здесь нового клиента для хранения / извлечения данных в мой сервис redis. Я хочу иметь возможность получить доступ к этим сохраненным данным из другого сервиса. Я попытался использовать redis-go и создать нового клиента с тем же адресом в моем кластере службы redis, но я не могу получить какие-либо данные. Поэтому в основном мне интересно, как я могу подключиться к одному экземпляру службы Redis из нескольких служб. Вот пример кода, который я использую для набора номера моего redis-сервиса и сохранения / получения значения. Я могу хранить и извлекать данные из каждого отдельного сервиса, но если я сохраню данные из одного сервиса и попытаюсь извлечь из другого, он не будет работать.

      conn, _ := redis.Dial("tcp", "redis:6379")
      defer conn.Close()


      conn.Do("SET", "bbcTrump", "someValue")
    //someValue, _:= conn.Do("GET", "bbcTrump")

Кроме того, здесь есть мой код redis-deploy.yaml и redis-service.yaml. Может быть, здесь есть проблема.

Развертывание:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert -f docker-compose.yml
    kompose.version: 1.10.0 (HEAD)
  creationTimestamp: null
  labels:
    io.kompose.service: redis
  name: redis
spec:
  replicas: 1
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        io.kompose.service: redis
    spec:
      containers:
      - image: redis
        name: redis
        ports:
        - containerPort: 6379
        resources: {}

      restartPolicy: Always
status: {}

Услуги:

apiVersion: v1
kind: Service
metadata:
  annotations:
    kompose.cmd: kompose convert -f docker-compose.yml
    kompose.version: 1.10.0 (HEAD)
  creationTimestamp: null
  labels:
    io.kompose.service: redis
  name: redis
spec:
  ports:
   - port: 6379
     targetPort: 6379
  selector:
    io.kompose.service: redis
status:
  loadBalancer: {}

1 Ответ

0 голосов
/ 13 мая 2018

Чтобы исправить это, я установил политику получения образа в моем yaml развертывания службы вычислений всегда. Я также изменил его порт на: 8080 и обновил свой GCP с пробной версии. Один из них или их комбинация устранили проблему.

...