dot Redis 8 来了——而且是开源的

了解更多

运行 Redis Enterprise Kubernetes 服务

Kubernetes 背景介绍

容器化使开发团队能够快速行动、高效部署软件并大规模运营。 Kubernetes 提供了自动化容器编排以及在高可用性、分布式环境中管理容器的功能。 该平台处理图像的扩展、配置和部署新版本,并简化了应用程序的部署和管理。 在 Redis,我们正在积极开发一个基于 Redis Enterprise 5.x 构建的基于 Kubernetes 的部署。

本文的预期内容

在之前的博客文章中,我讨论了 Kubernetes 原语本地 Kubernetes 开发。 在这篇文章中,我将引导您完成在 Kubernetes 上部署 云原生 Redis Enterprise 的简单 4 步流程:

  1. 使用 StatefulSet 和无头服务部署 Redis Enterprise 服务,以处理部署中 Pod 的 DNS 解析。
  2. 利用 Kubernetes 密钥原语来存储 Redis Enterprise 许可证信息。
  3. 使用 Kubernetes 密钥引导三 Pod Redis Enterprise 集群,并在公共 IP 上公开 Redis Enterprise UI。
  4. 部署基础设施并创建 Redis 数据库。 部署将自动在 Kubernetes 服务目录中发布数据库端点。
Redis Enterprise in Kubernetes

详细演练

在本演示中,我们将使用在 Google Cloud 上运行的托管 Kubernetes 集群。

GKE Cluster Info

创建集群后,使用 Kubernetes 密钥原语存储许可证信息。 在此示例中,我们将设置一个名为 rp-secret 的 Kubernetes 密钥对象。 创建密钥对象的命令如下所示

kubectl create secret generic rp-secret 

 --from-file=license=<MY_REDIS_ENTERPRISE_LICENSE.txt 

 --from-literal=username=<MY_USERNAME> 

 --from-literal=password=<MY_PASSWORD>

该命令应输出以下内容

Redis Enterprise Kubernetes Secret

接下来,使用 yaml 文件* 部署无头服务、控制器和 Redis statefulset 清单,如以下屏幕截图所示

* 当 Redis Enterprise for Kubernetes 公开发布时,我们将发布 yaml 文件。

Redis Enterprise Kubernetes Headless Service
Redis Enterprise service
Redis Enterprise Kubernetes Controller
Redis Enterprise Kubernetes Deployment

具有所有正在运行的 Kubernetes 资源的 Redis Enterprise 三节点集群将如下所示

Redis Enterprise Kubernetes Resources

成功在 Kubernetes 集群上部署 Redis Enterprise 后,使用 Web 界面创建数据库。

Redis Enterprise Create Database Web UI

使用 Web 界面创建数据库后,Redis Enterprise 服务控制器将在 Kubernetes 服务目录中发布数据库的端点,如下面的屏幕截图所示,适用于数据库 db-k8demo

Redis Enterprise Kubernetes db-k8demo database

使用在 Kubernetes 服务目录中发布的数据库端点,我们使用名为 memtier_benchmark 的基准测试工具对我们的 Redis 数据库执行负载测试。memtier 工具是一个命令行实用程序,可用于生成 NoSQL 键值数据库并对其进行基准测试。 基准测试工具生成的负载可以在 Redis Enterprise Web 界面的指标部分中看到。 下面的屏幕截图显示了 memtier_benchmark 工具在 db-k8demo 数据库上生成的负载。

Redis Enterprise Memtier

总结

随着组织开始大规模使用容器,编排框架对于管理日益增长的复杂性变得必要。 虽然 Kubernetes 最初是为了运行无状态服务而开发的,但它也使得运行诸如 Redis Enterprise 数据库之类的有状态服务变得更加容易。 随着快速迁移到云原生架构和微服务,kubernetes 和高性能、高可用性的 Redis Enterprise 数据库的结合将帮助组织在新应用程序开发和交付时代更快地进行创新。 我们很乐意听到更多关于您希望如何在 Kubernetes 中看到 Redis Enterprise 的信息——请随时直接与我联系以获取反馈。

有关 Redis Enterprise 的更多信息,请访问我们的 技术文档 和或 发行说明页面。