本教程将向您展示如何使用名为“Kops”的工具在公有云上轻松设置 Kubernetes 集群。这篇文章是我们 Kubernetes 网络研讨会的补充,在研讨会中我们解释了基本的 Kubernetes 原语,以及我们之前关于 Redis Enterprise Service和 本地 Kubernetes 开发的博客文章。在本教程中,我们将使用最新的公开可用的 Redis Enterprise Software 容器 镜像。您可以在 此处阅读有关高性能内存 Redis Enterprise 5.0.2 软件版本的信息。
什么是 Kops?
Kops是“Kubernetes Operations”的缩写,是官方的 Kubernetes 项目。 Kops 工具的目的是在公有云上设置生产级 Kubernetes 集群。 我们现在将逐步介绍设置 Kubernetes 集群并在 Kops 管理的集群上安装 Redis Enterprise Service 所需的步骤。
步骤 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
我们将使用“demo”作为 Kubernetes 集群的名称。 集群启动后,Kops 会将其他 DNS 条目添加到 k8.vkelkar.com 的委托子域。
步骤 3:配置存储桶
Kops 将 Kubernetes 集群的状态存储在 S3 存储桶中。 您必须使用 aws 命令行创建 S3 存储桶aws s3 mb s3://<您的私有 S3 存储桶的名称>
创建 S3 存储桶以存储集群配置的状态后,您需要将其导出为环境变量,或者将其作为参数传递给 kops 命令。 对于本教程,我将环境变量设置为如下所示export KOPS_STATE_STORE=s3://<您的私有 S3 存储桶的名称>
步骤 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
名称 状态 角色 年龄 版本
redacted.compute.internal 就绪 master 8m v1.8.7
redacted.compute.internal 就绪 节点 6m v1.8.7
redacted.compute.internal 就绪 节点 6m v1.8.7
redacted.compute.internal 就绪 节点 7m v1.8.7
redacted.compute.internal 就绪 节点 6m v1.8.7
以下是控制台中显示的附加标签
您可以通过运行命令找到本教程中使用的 AMIaws ec2 describe-images –image-id ami-5c97f024
步骤 5:在 Kubernetes 集群上部署 Redis Enterprise Service
在本教程中,我们将在 Kubernetes 集群中部署一个三节点 Redis Enterprise 集群
使用`rladmin`包含在Redis Enterprise服务中的命令行实用程序,我们可以看看三节点 Redis Enterprise 集群和在集群上创建的“awsdb”:
Kubernetes 集群中Redis Enterprise的资源消耗如下所示:
步骤 6:删除 Kops Kubernetes 集群
现在我们已经成功地在 Kubernetes 上部署了 Redis Enterprise 集群,并且能够创建一个名为“awsdb”的数据库(如上图所示),我们可以通过发出以下命令来删除 Kubernetes 集群kops delete cluster demo.k8.vkelkar.com –yes
结论
Kops 是一个很棒的工具,可以用它来快速启动满足您需求的 Kubernetes 集群。 这可能是一种云独立的方式来测试您的 Kubernetes 版本,或者减少生产级 Kubernetes 集群的设置时间。如果您想了解更多关于 Redis Enterprise Kubernetes 版本的信息,请通过 [email protected] 联系我们。