dot 您所在城市的活动将迎来速度的未来。

加入我们参加 Redis 发布会

在 Kops 管理的 Kubernetes 集群上运行 Redis 企业版服务

本教程将向您展示如何使用名为“Kops”的工具在公有云上轻松设置 Kubernetes 集群。此文章是对我们 Kubernetes 网络研讨会的补充,在研讨会中,我们解释了基本的 Kubernetes 原语,以及我们之前关于 Redis 企业版服务 本地 Kubernetes 开发的博客文章。在本教程中,我们将使用最新的公开可用的容器 镜像,即 Redis 企业版软件。您可以阅读有关高性能内存数据库 Redis 企业版 5.0.2 软件版本的更多信息 此处。

什么是 Kops?

Kops代表“Kubernetes 操作”,是 Kubernetes 的官方项目。Kops 工具的目的是在公有云上设置生产级 Kubernetes 集群。现在,我们将逐步介绍在 Kops 管理的集群上设置 Kubernetes 集群并安装 Redis 企业版服务的步骤。

步骤 1:准备本地机器

您需要准备本地机器,方法是安装一些命令行工具(注意:以下说明适用于 Mac OS)

安装 Kubernetes 命令行工具 Kubectl

brew install kubectl

安装 Kops 命令行工具

brew install kops

安装 AWS 命令行工具

brew install awscli

步骤 2:配置域

Kops 要求您的 Kubernetes 集群具有有效的域名。Kops 还将为 API 和堡垒主机创建 DNS 条目。在本教程中,我将使用 Route 53 托管区域 k8.vkelkar.com

DNS Zone Info
DNS 区域信息

我们将使用“demo”作为 Kubernetes 集群的名称。集群启动后,Kops 将在 k8.vkelkar.com 的委派子域中添加其他 DNS 条目。

DNS Entries
DNS 条目


步骤 3:配置存储桶

Kops 将 Kubernetes 集群的状态存储在 S3 存储桶中。您必须使用 aws 命令行创建 S3 存储桶
aws s3 mb s3://<name-of-your-private-S3-bucket>

创建 S3 存储桶以存储集群配置状态后,您需要将其导出为环境变量,或将其作为参数传递给 kops 命令。在本教程中,我按如下方式设置了环境变量
export KOPS_STATE_STORE=s3://<name-of-your-private-S3-bucket>

步骤 4:创建 Kubernetes 集群

现在,我们已经配置了 DNS 和 S3 存储桶,是时候创建生产级 Kubernetes 集群了。您可以将集群名称指定为命令行选项,或将其作为变量传递。在本教程中,我使用了命令行选项,但您可以按如下方式设置变量
export NAME=demo.k8.vkelkar.com

下面的 Kops 命令将设置一个私有拓扑集群,并为该集群预置一个堡垒主机。我们已将标签(以“键=值对”的格式)添加到节点中,以跟踪集群所有权;您可以添加其他标签来跟踪资源消耗。
kops create cluster --cloud=aws
--networking=weave
--master-size=c3.large
--master-zones=us-west-2a
--node-size=c3.4xlarge
--node-count=4
--topology=private
--bastion
--ssh-public-key=/Users/vkelkar/.ssh/Vick_Kelkar_aws.pub
--zones=us-west-2a,us-west-2b
--name=demo.k8.vkelkar.com
--cloud-labels "ClusterOwner=Vick,Team=PM-Team,Org=Americas"
--image=ami-5c97f024
--yes

生成的 Kubernetes 集群和节点集将如下所示
kubectl get nodes

NAME STATUS ROLES AGE VERSION
redacted.compute.internal Ready master 8m v1.8.7
redacted.compute.internal Ready node 6m v1.8.7
redacted.compute.internal Ready node 6m v1.8.7
redacted.compute.internal Ready node 7m v1.8.7
redacted.compute.internal Ready node 6m v1.8.7

以下是控制台中显示的其他标签

Kubernetes nodes with additional labels
带有其他标签的节点

您可以通过运行以下命令来了解在本教程中使用的 AMI
aws ec2 describe-images –image-id ami-5c97f024

AWS AMI information
AMI 信息

步骤 5:在 Kubernetes 集群上部署 Redis 企业版服务

在本教程中,我们将在 Kubernetes 集群中部署一个三节点 Redis 企业版集群

Redis Enterprise Cluster Nodes
Redis 企业版集群节点

使用随 Redis 企业版 服务提供的 `rladmin` 命令行实用程序,我们可以查看三节点 Redis 企业版集群和在集群上创建的“awsdb”:

rladmin utility output
显示“awsdb”数据库的 Redis 企业版 rladmin 实用程序输出

在 Kubernetes 集群中,Redis 企业版 的资源消耗将如下所示:

Redis Enterprise resources in Kubernetes
Kubernetes 集群中的 Redis 企业版版本资源

步骤 6: 删除 Kops Kubernetes 集群

现在,我们已成功将 Redis 企业版集群部署到 Kubernetes 并创建了名为“awsdb”的数据库(如上图所示),我们可以通过发出以下命令来删除 Kubernetes 集群
kops delete cluster demo.k8.vkelkar.com –yes

结论
Kops 是一个很棒的工具,可以快速为您的需求启动 Kubernetes 集群。这可以是测试 Kubernetes 版本或减少生产级 Kubernetes 集群设置时间的云无关方式。如果您想了解有关 Redis 企业版 Kubernetes 版本的更多信息,请联系 sales@redis.com。