如何在GCP的GKE集群中安装Redis Vector数据库?
在GCP GKE集群部署Redis Stack(含Vector功能)分步指南
1. 准备Redis部署配置文件
创建redis-stack-deployment.yaml配置文件,包含Deployment和Service定义:
apiVersion: apps/v1 kind: Deployment metadata: name: redis-stack spec: replicas: 1 selector: matchLabels: app: redis-stack template: metadata: labels: app: redis-stack spec: containers: - name: redis-stack image: redis/redis-stack:latest ports: - containerPort: 6379 # Redis核心服务端口 - containerPort: 8001 # Redis Insight可视化管理端口 resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "500m" --- apiVersion: v1 kind: Service metadata: name: redis-stack-service spec: type: ClusterIP # 仅集群内部访问,需外部访问可改为LoadBalancer ports: - port: 6379 targetPort: 6379 name: redis - port: 8001 targetPort: 8001 name: insight selector: app: redis-stack
2. 部署到GKE集群
执行kubectl命令将配置应用到集群:
kubectl apply -f redis-stack-deployment.yaml
3. 验证部署状态
- 检查Pod运行状态,等待状态变为
Running:
kubectl get pods
- 查看Service访问地址:
kubectl get service redis-stack-service
ClusterIP类型记录CLUSTER-IP;LoadBalancer类型记录EXTERNAL-IP。
4. 测试Redis Vector功能
集群内部连接(LangChain应用同集群部署时)
使用集群内部服务域名连接,LangChain初始化代码示例:
from langchain.vectorstores import Redis from langchain.embeddings import OpenAIEmbeddings embeddings = OpenAIEmbeddings() vectorstore = Redis.from_texts( texts=["测试向量存储文本"], embedding=embeddings, redis_url="redis://redis-stack-service:6379", index_name="demo-index" )
外部机器连接(本地测试)
若使用LoadBalancer类型Service,用外部IP通过redis-cli验证:
redis-cli -h <EXTERNAL-IP> -p 6379
输入INFO modules,输出中能看到search和vector模块即表示Vector功能正常启用。
5. 可选:配置数据持久化
添加PersistentVolumeClaim实现数据持久化,创建redis-pvc.yaml:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: redis-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi
应用PVC配置:
kubectl apply -f redis-pvc.yaml
修改原Deployment配置,添加挂载卷:
# 在containers下添加 volumeMounts: - name: redis-data mountPath: /data # 在spec.template.spec下添加 volumes: - name: redis-data persistentVolumeClaim: claimName: redis-pvc
重新应用Deployment配置即可。
6. 可选:设置访问密码
为Redis添加密码认证,修改Deployment的容器环境变量:
env: - name: REDIS_ARGS value: "--requirepass your-secure-password"
连接时需携带密码,LangChain示例:
redis_url="redis://:your-secure-password@redis-stack-service:6379"
内容的提问来源于stack exchange,提问作者Vallalar_dev
相关产品推荐
相关产品推荐

