使用Redis Enterprise玩转Kubernetes和Redis

栏目: 数据库 · 发布时间: 8年前

内容简介:使用Redis Enterprise玩转Kubernetes和Redis

【编者的话】本文介绍了Redis Enterprise的使用入门。

Kubernetes简化了容器编排,并得到了广泛应用。使用最新的Redis Enterprise Docker容器,可以很容易地搭建一个Redis Entreprise集群。

在以下步骤中,我们将使用4.5版本的Redis Enterprise容器。你可以在 Docker Hub 上获取该镜像的更多信息,以及如何在本地部署该容器。

在谷歌云上使用Kubernetes部署Redis Enterprise

我们将会通过以下步骤来搭建Redis Enterprise集群

  • 第一步: 在谷歌云上创建Kubernetes集群
  • 第二步: 在Kubernetes集群中部署Redis Enterprise容器
  • 第三步: 搭建Redis Enterprise集群
  • 第四步:创建一个 Redis 数据库,并测试连通性

注意: 我们故意简化了部署过程,非常适合Kubernetes和Redis Enterprise的快速入门。当然,这是不能用于生产环境的。

要求: 以下步骤是在MacOS上使用最新的 谷歌云SDKkubectl工具 。在其他操作系统上,具体步骤略有不同。

第一步: 在谷歌云上创建Kubernetes集群

首先,搭建好命令行环境。

  • 登录你的谷歌云环境。
gcloud auth login
  • 获取默认项目的ID。你可以使用以下命令列举并设置项目前后文。注意,如果你没有强制指定ID的话,那么你就会得到类似speedy-lattice-166011这样的随机名字。
gcloud projects list gcloud config set project speedy-lattice-166011

*获得默认的区域名字(zone/geography),在该区域中部署你的集群。你可以使用以下命令列举并设置区域。

gcloud compute zones list

gcloud config set compute/zone europe-west1-c

}

现在搭建并运行Kubernetes集群。

在谷歌云控制台中,在左边的导航栏中点击“Container Engine”,创建一个新集群。

使用Redis Enterprise玩转Kubernetes和Redis

给你的Kubernetes集群取一个名字,并将集群大小设置为3个节点。我们会使用这3个节点来部署Redis Enterprise集群。我建议你将每个节点设置为2个核和7GB内存以上。

使用Redis Enterprise玩转Kubernetes和Redis

注意:创建集群需要几分钟。在继续以下步骤之前,请确保Kubernetes集群已经创建成功。

从最佳实践来说,Redis Enterprise pods应该分散在Kubernetes集群的不同物理节点上,从而保证在节点故障时的高可用性。如果将多个Redis Enterprise节点放置在同一个物理节点上,可能造成多个节点同时宕机并造成数据丢失。为了保证这种分散性,我们需要更新Kubernetes集群至1.6.2版本以上。你可以在刚刚部署的Kubernetes集群的details页面上升级版本。

使用Redis Enterprise玩转Kubernetes和Redis

注意:顺便说一下,如果你更喜欢使用命令行的话,你也可以使用以下命令。

gcloud container clusters create cluster-1 --num-nodes=3 -m n1-standard-2

gcloud container clusters upgrade cluster-1 --master --cluster-version=1.6.2

最后,你需要运行Kubernetes控制台,并启动Kubernetes代理。在终端窗口中,运行以下命令。

连接Kubernetes集群:

gcloud container clusters get-credentials cluster-1

输出如下:

# Fetching cluster endpoint and auth data.

kubeconfig entry generated for cluster-1.}}}

最后,启动Kubernetes代理:

{{{kubectl proxy

第二步: 在Kubernetes集群中部署Redis Enterprise容器

你可以使用容器YAML文件来搭建Redis Enterprise集群。YAML示例文件在

kubectl apply -f redis-enterprise.yaml

如果部署成功了,输出如下:

# deployment "redispack-deployment" created 

service "redispack" created}}}

现在,你可以看到Kubernetes集群中部署的容器节点了。运行以下命令来查看节点列表:

{{{kubectl get po

输出如下:

NAME READY STATUS RESTARTS AGE

redispack-deployment-709212938-765lg 1/1 Running 0 7s

redispack-deployment-709212938-k8njr 1/1 Running 0 7s

redispack-deployment-709212938-kcjd7 1/1 Running 0 7s

第三步: 搭建Redis Enterprise集群

我们现在已经准备好了,可以创建Redis Enterprise集群。这里有一个小小的更改,从而使得容器网络正常运行。我们需要将CSS绑定在0.0.0.0。你需要在每个容器中,运行以下命令(pod名字可以从kubectl get po的输出中获得):

kubectl exec -it redispack-deployment-709212938-765lg -- bash

# sudo su -

# sed ‘s/bind 127.0.0.1/bind 0.0.0.0/g’ -i /opt/redislabs/config/ccs-redis.conf

# cnm_ctl restart

}

部署第一个节点或者Redis Enterprise集群:

kubectl exec -it redispack-deployment-709212938-765lg "/opt/redislabs/bin/rladmin" cluster 

create name cluster.local username cihan@redislabs.com password redislabs123 flash_enabled

我们需要第一个节点的IP地址,使得其他节点也能加入到集群中。

kubectl exec -it redispack-deployment-709212938-765lg ifconfig | grep "inet addr"

在我的例子中,输出是10.0.2.10。然后,把剩下的两个节点加入到集群中:

kubectl exec -it redispack-deployment-709212938-k8njr "/opt/redislabs/bin/rladmin" cluster join 

username cihan@redislabs.com password redislabs123 nodes 10.0.2.10 flash_enabled
kubectl exec -it redispack-deployment-709212938-kcjd7 "/opt/redislabs/bin/rladmin" cluster join 

username cihan@redislabs.com password redislabs123 nodes 10.0.2.10 flash_enabled

第四步:创建一个Redis数据库,并测试连通性

下面,我们就可以创建数据库,并连接上。以下curl命令可以用来在端口 12000上 创建数据库。数据库的名字为sample-db。

kubectl exec -it redispack-deployment-709212938-765lg bash

curl -k -u " cihan@redislabs.com :redislabs123" --request POST --url " https://localhost:9443/v1/bdbs" --header 'content-type: application/json' --data '{"name":"sample-db","type":"redis","memory_size":1073741824,"port":12000}'}}}

我们可以使用redis-cli工具来测试数据库连接性,如以下命令:

注意:你可以使用以下命令来删除集群:

{{{gcloud container clusters delete cluster-1


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Speed Up Your Site

Speed Up Your Site

Andrew B. King / New Riders Press / 2003-01-14 / USD 39.99

There's a time bomb on the web: user patience. It starts ticking each time someone opens one of your pages. You only have a few seconds to get compelling content onto the screen. Fail, and you can kis......一起来看看 《Speed Up Your Site》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具