想问问大家有木有人在实际工作中使用 kubernetes+docker 或者 rkt ? 由于我们公司系统国内国外都有人在用,但是目前只有一个服务器在国内,外国客户访问有时候都连不上,延迟台大。所以有了个想法在亚马逊 AWS 欧洲 /美国区域和亚洲地区再加中国地区做 3 个 kubernetes cluster, 都在 coreos 上。每个地区加一个 load balancer,然后再设置 Route 53 geo dns,这样的话一个域名下可以有三个 ip 地址,人家访问时会连接到最近的服务器。
总结下我的目标:
有几个问题:
*原来考虑 docker swarm 或者亚马逊的 ECS 但据说没有 kunernetes 那么成熟。
*有些英文词汇不知道中文怎么说,请谅解。
1
cloverstd 2017-07-21 22:29:20 +08:00
你需要 CDN
你是要三套 独立的 k8s cluster,还是三个 k8s cluster 是一套 master,node 归这一套 master 管理 |
2
amanbolatbalabek OP |
3
stabc 2017-07-21 22:40:28 +08:00
你也在网上冲浪啊?!
|
4
lightening 2017-07-21 22:43:37 +08:00
这和你用不用 k8s 没什么关系。国外部署 stateless 的 app instance 不管用什么方法都行。主要问题在数据库的同步。
|
5
amanbolatbalabek OP @lightening
我已经把很多后台的的 app 做成 docker 了,有比 k8s 更好的管理工具吗? 这个也不能说是 stateless,我考虑每个 cluster 里面加个数据库的 replica。 |
6
lightening 2017-07-21 23:35:57 +08:00 via iPhone
@amanbolatbalabek 没有更好的。我只是说相对于数据库的 replica 问题来说,用不用 docker 和 k8s 都是小事。
|
7
derek80 2017-07-21 23:50:20 +08:00 via Android
我们用了两个 k8s, 在产品环境。网络,存储,健康监控,日志收集等等,虽然每个都有很多选择方案,但是完全维护到产品级还是要花不少时间和精力。
|
8
derek80 2017-07-21 23:51:00 +08:00 via Android
数据库的确是比较麻烦些,我们是直接用 RDS
|
9
chenai 2017-07-21 23:54:07 +08:00
github 现在都已经在用 k8s 了,大势所趋,哈哈哈
|
10
hantsy 2017-07-21 23:59:32 +08:00 2
1. 上微服务如果 DevOps 不到位,简直是灾难,不要浪费精力盲目跟从。
我看到国内不少人直接上 Spring Cloud,自称实现微服务,运维却还停留在写 Bash 之类阶段,就如高铁用牛来拉。 没有做到所有的服务管理,发布,维护全部自动化,如果服务数量到了一两百,加上多分 Replica, 容器数量两三百的时候,就寸步难行。 同时数据存储切分也是微服务的一部分。 2. 从描述看,应该在数据同步的一些问题上(而不是微服务)。全球多区域的情况,从可靠性上讲只有 AWS 靠谱,基础架构的东西一应俱全,,,别自己折腾这些基础的容器问题了。最近 Azure 也在抢风头,不过没有用过。AWS 也支持 Docker Swarm, 而且可以用 Docker Cloud ( Docker 官方平台,需要购买) 去统一管理服务。 3. 目前 K8s 的使用是上升趋势,用的人越来越多,同时也有很多成熟的 Cloud 方案也支持 K8S,如 OpenShift,Bluemix 等。 4. 除 Docker Swarm,Kubernetes 外,可以试用一下 Apache Mesos 或者商业的 Mesophere, 实际这个资格更老一些。 |
11
travelforlove 2017-07-22 00:27:32 +08:00
又要价格低又要速度快真以为 ISP 都是傻的啊,
正规的跨国公司一般都拉专线, 正规的穷公司一般用 cn2。 |
12
amanbolatbalabek OP @travelforlove
我们公司小,没有钱拉专线,但是要满足国内 /外客户和自己员工的需求。 |
13
PythonAnswer 2017-07-22 00:46:02 +08:00
中亚市场怎么样啊,互联网行业,想学学。还有 5 国之间的关系怎样呢,听说互相有仇?
|
14
ypcs03 2017-07-22 07:11:36 +08:00 via Android
为啥不用现成的 ECS,省得自己要去部署和维护。
|
16
mritd 2017-07-22 09:22:01 +08:00 via iPhone
哈哈 又是你,你这中文 10 级真让我感叹,我记着 k8s 是可以建立跨区域的联邦集群的,这样可以整合 3 个集群到一起,静态文件的话可以全部套上 CDN,至于访问业务可以根据你的办法,不过最好预先测试一下,还有,我不建议讲数据库放到集群内,第一是没有多大意义,第二是可能影响性能,还有就是出问题可能不好维护
|
19
xdays 2017-07-22 12:41:42 +08:00
k8s 不是问题,多个 cluster 做个 federation 即可。问题的核心还是跨 wall 的数据同步,目前还没有见过快速且可靠的方案。
|
20
amanbolatbalabek OP 想用 k8s 的原因是做这个项目的同时学习 orchestrstion,而 k8s 比 ecs、swarm 的技术要靠谱、丰富些,再说可以全部自己调试。
需要三个独立的 cluster 的原因是每个地区微服务会有些不同、不是统一的,只有数据库是一样的(比如俄罗斯财务后台和前端和中国地区不一样)。不知道我的这些想法正不正确,现在只是计划阶段而已。 在公司都是我一个人来做的,所以想问问大家的看法和建议! |
21
gemini 2017-07-22 19:49:55 +08:00
1.其实你们这个场景跟 k8s 关系不大。k8s 只是交付部署层面的问题。
2.用 pgsql 跟用其他 db 效果一样,遇到的问题也是类似的。 3.如果没有用户信息管理之后的数据,楼主方案中的架构也是可以的。如果涉及到用户登录、分区等,需要更复杂些的方案。 业务规模和服务请求量级、需要同步的数据量级,也是方案的一个重要参考。不清楚楼主的这些信息,不好给建议。如果量小,简单 replica 能满足需求。不常来,可以私信微信交流。 |