设置开发环境很少是直接且无障碍的。更重要的是,鉴于现代应用程序对多语言持久性和容器化部署的胃口,用所有必要的基础设施优势来引导您的笔记本电脑,以实现简单的“Hello,World!”变得非常具有挑战性。在本文中,我将向您展示如何使用 Kubernetes 上的多模型 Redis 数据库快速开始开发您的应用程序。
多模型数据库是一种支持针对单个后端的多个数据模型的数据库。虽然 Redis 核心是一个类似于键值的数据结构存储,但模块可以以几乎所有可以想象的方式扩展它。目前,Redis 的开源模块为 Redis 添加了以下功能
Redis Enterprise 已经包含了所有这些模块,并且可以轻松地 部署和运行在 Kubernetes 上。但是,直到最近,还没有现成的开源 Redis 容器镜像提供相同的功能。因此我创建了一个,将其构建自动化并放在 Docker Hub 上:https://hub.docker.com/r/redislabs/redismod
redismod 容器提供了一个默认安装(即不是生产级硬化的)单实例 Redis 服务器。它还配置为在启动时加载所有五个模块,但您可以随意覆盖此行为。运行容器只是在您的终端提示符处执行以下命令的问题
docker run -p 6379:6379 redis/redismod
要在 Kubernetes 上使用 redismod 镜像(以及您的应用程序的镜像),假设您没有访问 Kubernetes 部署的权限,您可以使用 minikube。如 minikube 文档所述
“Minikube 是一种工具,可以轻松地在本地运行 Kubernetes。对于希望尝试 Kubernetes 或每天使用 Kubernetes 进行开发的用户,Minikube 在您的笔记本电脑上的 VM 中运行一个单节点 Kubernetes 集群。”
只需五个步骤即可让您的 minikube“集群”启动并运行 redismod 容器
minikube start
kubectl run redismod --image=redis/redismod --port=6379
kubectl expose deployment redismod --type=NodePort
kubectl get pod
完成之后,您可以像这样连接到 redismod 服务
$ redis-cli -u $(minikube service --format "redis://{{.IP}}:{{.Port}}" --url redismod) 192.168.99.100:31501> PING PONG 192.168.99.100:31501> MODULE LIST 1) 1) "name" 2) "redis-ml" 3) "ver" 4) (integer) 9901 2) 1) "name" 2) "ft" 3) "ver" 4) (integer) 10100 3) 1) "name" 2) "graph" 3) "ver" 4) (integer) 1 4) 1) "name" 2) "ReJSON" 3) "ver" 4) (integer) 10001 5) 1) "name" 2) "bf" 3) "ver" 4) (integer) 10100
基本上就是这样 - 您现在需要做的就是从您的应用程序连接到 redismod,以开始使用 Redis 上的多个模块对您的数据进行建模。有问题?反馈?发邮件 或者 在 Twitter 上发推给我 - 我随时可用 🙂