搜索
首页
大数快讯
大数活动
服务超市
文章专题
出海平台
流量密码
出海蓝图
产业赛道
物流仓储
跨境支付
选品策略
实操手册
报告
跨企查
百科
导航
知识体系
工具箱
更多
找货源
跨境招聘
DeepSeek
首页
>
云课堂:关于kubernetes管理高可用的mongo集群
>
0
0
云课堂:关于kubernetes管理高可用的mongo集群
MoPaaS魔泊云
2016-01-05
2
导读:上期“云课堂”我们的主题是:应用上云,要避开那些坑。时隔许久之后,“云课堂”终于又跟大家见面了,此次我们要讲的是——关于kubernetes管理高可用的mongo集群。
上期“云课堂”我们的主题是:应用上云,要避开那些坑。时隔许久之后,“云课堂”终于又跟大家见面了,此次我们要讲的是——关于kubernetes管理高可用的mongo集群。
Kubernetes是一个基于Docker容器的开源编制系统,它能在跨多个主机上管理Docker应用,并提供应用程序部署维护和扩展的基本机制,是目前受关注度非常高的技术,因此此次云课堂来给大家特别介绍一下。
接下来简单介绍一下如何用kubernetes管理mongo docker的高可用集群,以及Kubernetes的若干概念
Pod是Kubernetes的基本操作单元,亦是最小部署单元,同样也是一个容器或者多个容器的集合。Service也是Kubernetes的基本操作单元,是真实应用
服务
的抽象,每一个服务后面都有很多对应的容器来支持。Replication Controller确保任何时候Kubernetes集群中有指定数量的pod副本(replicas)在运行上述概念之间关系。
如果我们创建一个使用mongo的docker的ReplicationController,它会自动生成一个或多个pod(具体数量由自己指定),接着就可以用pod来提供mongo服务了。
“但是问题来了!”
当一个pod挂掉的时候,Replication Controller会自动启动一个全新的pod,旧的那个pod就会被删除,里面的数据就会丢失。若想达到高可用的状态,我们使用mongo官方推荐的复制集。复制集一般有奇数节点组成,其中一个作为primary节点,其他的作为secondary节点,其中写入操作只可在primary节点操作,secondary节点做多只提供读的操作。当primary节点挂掉的时候,剩余节点会自动选出一个新的primary节点,从而保证了服务的连续和数据库不会丢失。
1
首先:我们需要有三个不同的mongo节点即用三个Replication Controller去分别创建一个pod,其中一个作为primary节点,另外两个作为secondary节点,并创建三个service为相对应的Replication Controller去提供服务。为此,我们需要修改镜像文件,在mongo启动的时候增加参数--noprealloc--smallfiles --replSet "rs0",并在mongo启动之后对复制集进行初始化,语句为:
rs.initiate({_id:'rs0',members:[{_id:0, host:'$HOST1:27017'},{_id:1, host:'$HOST2:27017', },{_id:2,host:'$HOST3:27017'}]})
其中
$HOST1、$HOST2、$HOST3
为每个ReplicationController对应的service地址。修改之后便可以创建Replication Controller和svc了。创建成功后执行指令:
kubectlget svc
便可看到如下:
2
然后,我们便可以用每个Service对应的
CLUSTER_IP及PORTQ
去登陆mongo。如:
3
最后,本次所介绍的kubernetes就可以使用了。
这样即使一个pod挂掉,ReplicationController会自动启动另外一个pod,此时该pod的mongo会自动从其他的节点上面同步数据,原先的数据也会恢复,从而保证数据不丢失。
好了,以上便是本期“云课堂”向大家介绍的“关于kubernetes管理高可用的mongo集群”,如果您有想要知晓的技术信息,请在我们微信号中留言,有可能下期我们所讲的主题就是您所关心的哦!今天就到这里,我们下期见!
【声明】内容源于网络
0
0
MoPaaS魔泊云
获取并知晓最新的MoPaaS 功能,收取 MoPaaS 反馈,回答用户问题;让您抢先知晓 MoPaaS 新闻和公告,及部分PaaS应用问题
内容
393
粉丝
0
关注
在线咨询
MoPaaS魔泊云
获取并知晓最新的MoPaaS 功能,收取 MoPaaS 反馈,回答用户问题;让您抢先知晓 MoPaaS 新闻和公告,及部分PaaS应用问题
总阅读
78
粉丝
0
内容
393
在线咨询
关注