Mesos+Marathon上数据库实现无状态化实战

环境描述:
1.Mesos1.7.0+Marathon1.6.3 3个mesos-agent,3个mesos-master,5个zookeeper,
一个calico SDN网络 172.30.0.0/16.(bgp+mesos-agent1,mesos-agent2,mesos-agent3)
在这里插入图片描述
2. 操作系统 centos7 1810 +docker-ce 18.0.9
3. Ceph集群一个, 所有mesos-agent 上安装了ceph客户端

在这里插入图片描述
4.所有 mesos-agent 上都安装了rexray 服务

在这里插入图片描述

5.测试验证 把有状态服务(下面用postgresql数据库演示有状态的数据存储)变成无状态服务带来的开发和运维的方便性:
在这里插入图片描述

完整的json配置如下:

{
“id”: “/demo/postgres5”,
“cmd”: null,
“cpus”: 1,
“mem”: 2048,
“disk”: 10240,
“instances”: 1,
“acceptedResourceRoles”: [
“*”
],
“container”: {
“type”: “DOCKER”,
“docker”: {
“forcePullImage”: false,
“image”: “postgres:11.1-alpine”,
“parameters”: [
{
“key”: “expose”,
“value”: “5432”
},
{
“key”: “volume-driver”,
“value”: “rexray”
},
{
“key”: “volume”,
“value”: “demo_postgresql_data:/var/lib/postgresql/data”
}
],
“privileged”: true
},
“volumes”: [],
“portMappings”: [
{
“containerPort”: 0,
“labels”: {},
“protocol”: “tcp”,
“servicePort”: 10002
}
]
},
“env”: {
“POSTGRES_USER”: “postgresql”,
“POSTGRES_PASSWORD”: “kaixin.com
},
“healthChecks”: [
{
“gracePeriodSeconds”: 300,
“intervalSeconds”: 60,
“maxConsecutiveFailures”: 3,
“port”: 5432,
“protocol”: “MESOS_TCP”,
“ipProtocol”: “IPv4”,
“timeoutSeconds”: 20,
“delaySeconds”: 15
}
],
“labels”: {
“org.projectcalico.label.role”: “database”
},
“networks”: [
{
“name”: “database”,
“mode”: “container”
}
],
“portDefinitions”: [],
“args”: [
“postgres”,
“-c”,
“max_connections=200”
],
“upgradeStrategy”: {
“maximumOverCapacity”: 0,
“minimumHealthCapacity”: 0.5
}
}

在这里插入图片描述

在这里插入图片描述

现在使用工具往数据库随便写入一条记录.
create table test(name varchar(50) primary key);
insert into test(name) values(‘myname’);

然后关闭或删除 postgresql 或重新启动mesos-agent3

然后,刷新marathon,
在这里插入图片描述
数据库实例漂移到了mesos-agent1上了。

我们看看数据到底还在吗?

使用DataGrid连接 172.30.139.3 postgresql 数据库,
在这里插入图片描述
select * from test;

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190122140744499.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhcHB5ZnJlZWFuZ2Vs,size_16,color_FFFFFF,t_70

在这里插入图片描述

测试成功.
之前插入的数据还在.

至此,有状态的服务变成无状态的服务已经成功实施.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心自由天使

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值