Kubernetes 背景介绍
容器化使开发团队能够快速行动、高效部署软件并大规模运营。 Kubernetes 提供了自动化容器编排以及在高可用性、分布式环境中管理容器的功能。 该平台处理图像的扩展、配置和部署新版本,并简化了应用程序的部署和管理。 在 Redis,我们正在积极开发一个基于 Redis Enterprise 5.x 构建的基于 Kubernetes 的部署。
本文的预期内容
在之前的博客文章中,我讨论了 Kubernetes 原语 和 本地 Kubernetes 开发。 在这篇文章中,我将引导您完成在 Kubernetes 上部署 云原生 Redis Enterprise 的简单 4 步流程:
详细演练
在本演示中,我们将使用在 Google Cloud 上运行的托管 Kubernetes 集群。
创建集群后,使用 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>
该命令应输出以下内容
接下来,使用 yaml 文件* 部署无头服务、控制器和 Redis statefulset 清单,如以下屏幕截图所示
* 当 Redis Enterprise for Kubernetes 公开发布时,我们将发布 yaml 文件。
具有所有正在运行的 Kubernetes 资源的 Redis Enterprise 三节点集群将如下所示
成功在 Kubernetes 集群上部署 Redis Enterprise 后,使用 Web 界面创建数据库。
使用 Web 界面创建数据库后,Redis Enterprise 服务控制器将在 Kubernetes 服务目录中发布数据库的端点,如下面的屏幕截图所示,适用于数据库 db-k8demo
使用在 Kubernetes 服务目录中发布的数据库端点,我们使用名为 memtier_benchmark 的基准测试工具对我们的 Redis 数据库执行负载测试。memtier 工具是一个命令行实用程序,可用于生成 NoSQL 键值数据库并对其进行基准测试。 基准测试工具生成的负载可以在 Redis Enterprise Web 界面的指标部分中看到。 下面的屏幕截图显示了 memtier_benchmark 工具在 db-k8demo 数据库上生成的负载。
总结
随着组织开始大规模使用容器,编排框架对于管理日益增长的复杂性变得必要。 虽然 Kubernetes 最初是为了运行无状态服务而开发的,但它也使得运行诸如 Redis Enterprise 数据库之类的有状态服务变得更加容易。 随着快速迁移到云原生架构和微服务,kubernetes 和高性能、高可用性的 Redis Enterprise 数据库的结合将帮助组织在新应用程序开发和交付时代更快地进行创新。 我们很乐意听到更多关于您希望如何在 Kubernetes 中看到 Redis Enterprise 的信息——请随时直接与我联系以获取反馈。