内容简介:使用Redis Enterprise玩转Kubernetes和Redis
【编者的话】本文介绍了Redis Enterprise的使用入门。
Kubernetes简化了容器编排,并得到了广泛应用。使用最新的Redis Enterprise Docker容器,可以很容易地搭建一个Redis Entreprise集群。
在以下步骤中,我们将使用4.5版本的Redis Enterprise容器。你可以在 Docker Hub 上获取该镜像的更多信息,以及如何在本地部署该容器。
- 使用Redis Enterprise和Docker
- Redis Enterprise和 Docker 在Windows上的使用入门
- Redis Enterprise和Docker在Mac OSx上的使用入门
- Redis Enterprise和Docker在 Linux 上的使用入门
在谷歌云上使用Kubernetes部署Redis Enterprise
我们将会通过以下步骤来搭建Redis Enterprise集群
- 第一步: 在谷歌云上创建Kubernetes集群
- 第二步: 在Kubernetes集群中部署Redis Enterprise容器
- 第三步: 搭建Redis Enterprise集群
- 第四步:创建一个 Redis 数据库,并测试连通性
注意: 我们故意简化了部署过程,非常适合Kubernetes和Redis Enterprise的快速入门。当然,这是不能用于生产环境的。
要求: 以下步骤是在MacOS上使用最新的 谷歌云SDK 和 kubectl工具 。在其他操作系统上,具体步骤略有不同。
第一步: 在谷歌云上创建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”,创建一个新集群。
给你的Kubernetes集群取一个名字,并将集群大小设置为3个节点。我们会使用这3个节点来部署Redis Enterprise集群。我建议你将每个节点设置为2个核和7GB内存以上。
注意:创建集群需要几分钟。在继续以下步骤之前,请确保Kubernetes集群已经创建成功。
从最佳实践来说,Redis Enterprise pods应该分散在Kubernetes集群的不同物理节点上,从而保证在节点故障时的高可用性。如果将多个Redis Enterprise节点放置在同一个物理节点上,可能造成多个节点同时宕机并造成数据丢失。为了保证这种分散性,我们需要更新Kubernetes集群至1.6.2版本以上。你可以在刚刚部署的Kubernetes集群的details页面上升级版本。
注意:顺便说一下,如果你更喜欢使用命令行的话,你也可以使用以下命令。
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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- RecyclerView使用指南(一)—— 基本使用
- 如何使用Meteorjs使用URL参数
- 使用 defer 还是不使用 defer?
- 使用 Typescript 加强 Vuex 使用体验
- [译] 何时使用 Rust?何时使用 Go?
- UDP协议的正确使用场合(谨慎使用)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python基础教程(第2版)
Magnus Lie Hetland / 司维、曾军崴、谭颖华 / 人民邮电出版社 / 2010-7 / 69.00元
本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、结构严谨、内容翔实,特别是在最后几章,作者将前面讲述的内容应用到了10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程。本书既适合初学者夯实基础,又能帮助Python程序员提升技能,即使是 Python方面的技术专家,也能从书里找到令你耳目一新的东西。一起来看看 《Python基础教程(第2版)》 这本书的介绍吧!