使用kubernetes从不同服务连接到Redis服务

时间:2018-04-28 08:11:53

标签: go redis kubernetes google-kubernetes-engine

我在谷歌云平台上有一个Kubernetes Cluster,部署了许多服务。我在我的计算服务中导入了redis-go,可以在这里创建一个新客户端来存储/检索我的redis服务数据。我希望能够从不同的服务访问这些存储的数据。我尝试使用redis-go并为我的redis服务集群创建一个具有相同地址的新客户端,但我无法检索任何数据。所以基本上我想知道如何从多个服务连接到单个redis-service实例。这是我用来拨打redis-service和store / retrieve值的代码示例。我可以存储和检索每个服务,但如果我从一个服务存储并尝试从另一个服务检索它不起作用。

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


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

此外,还有我的redis-deployment.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 :(得分:0)

要解决此问题,我将计算服务部署yaml中的映像提取策略设置为always。我还将其端口更改为:8080并从试用版升级了我的GCP。其中一个或一个组合解决了这个问题。