小老外想用 kubernentes,元芳,你怎么看? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
amanbolatbalabek
V2EX    程序员

小老外想用 kubernentes,元芳,你怎么看?

  •  
  •   amanbolatbalabek
    amanbolat 2017-07-21 21:37:40 +08:00 5381 次点击
    这是一个创建于 3007 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问问大家有木有人在实际工作中使用 kubernetes+docker 或者 rkt ? 由于我们公司系统国内国外都有人在用,但是目前只有一个服务器在国内,外国客户访问有时候都连不上,延迟台大。所以有了个想法在亚马逊 AWS 欧洲 /美国区域和亚洲地区再加中国地区做 3 个 kubernetes cluster, 都在 coreos 上。每个地区加一个 load balancer,然后再设置 Route 53 geo dns,这样的话一个域名下可以有三个 ip 地址,人家访问时会连接到最近的服务器。

    总结下我的目标:

    1. 世界各地访问速度要快
    2. 不能用 cache,数据要最新
    3. 把以前的系统改成 microservices
    4. 价格低

    有几个问题:

    1. 想用 postgres 数据库但是不知道在这种环境下怎么保证同不性?
    2. 你们觉得这种方案如何?
    3. 有木有实际案例?
    4. 可以推荐更好的方案吗?

    *原来考虑 docker swarm 或者亚马逊的 ECS 但据说没有 kunernetes 那么成熟。

    *有些英文词汇不知道中文怎么说,请谅解。

    21 条回复    2017-07-22 19:49:55 +08:00
    cloverstd
        1
    cloverstd  
       2017-07-21 22:29:20 +08:00
    你需要 CDN

    你是要三套 独立的 k8s cluster,还是三个 k8s cluster 是一套 master,node 归这一套 master 管理
    amanbolatbalabek
        2
    amanbolatbalabek  
    OP
       2017-07-21 22:37:38 +08:00 via iPhone
    @cloverstd
    1. CDN 不是为了会缓存静态数据吗?我要的是客户连接最近的服务器然后通过 websocket 跟服务器交接。
    2. 要 3 个独立的 cluster
    stabc
        3
    stabc  
       2017-07-21 22:40:28 +08:00
    你也在网上冲浪啊?!
    lightening
        4
    lightening  
       2017-07-21 22:43:37 +08:00
    这和你用不用 k8s 没什么关系。国外部署 stateless 的 app instance 不管用什么方法都行。主要问题在数据库的同步。
    amanbolatbalabek
        5
    amanbolatbalabek  
    OP
       2017-07-21 22:55:37 +08:00 via iPhone
    @lightening
    我已经把很多后台的的 app 做成 docker 了,有比 k8s 更好的管理工具吗?
    这个也不能说是 stateless,我考虑每个 cluster 里面加个数据库的 replica。
    lightening
        6
    /div> lightening  
       2017-07-21 23:35:57 +08:00 via iPhone
    @amanbolatbalabek 没有更好的。我只是说相对于数据库的 replica 问题来说,用不用 docker 和 k8s 都是小事。
    derek80
        7
    derek80  
       2017-07-21 23:50:20 +08:00 via Android
    我们用了两个 k8s, 在产品环境。网络,存储,健康监控,日志收集等等,虽然每个都有很多选择方案,但是完全维护到产品级还是要花不少时间和精力。
    derek80
        8
    derek80  
       2017-07-21 23:51:00 +08:00 via Android
    数据库的确是比较麻烦些,我们是直接用 RDS
    chenai
        9
    chenai  
       2017-07-21 23:54:07 +08:00
    github 现在都已经在用 k8s 了,大势所趋,哈哈哈
    hantsy
        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, 实际这个资格更老一些。
    travelforlove
        11
    travelforlove  
       2017-07-22 00:27:32 +08:00
    又要价格低又要速度快真以为 ISP 都是傻的啊,
    正规的跨国公司一般都拉专线,
    正规的穷公司一般用 cn2。
    amanbolatbalabek
        12
    amanbolatbalabek  
    OP
       2017-07-22 00:44:00 +08:00 via iPhone
    @travelforlove
    我们公司小,没有钱拉专线,但是要满足国内 /外客户和自己员工的需求。
    PythonAnswer
        13
    PythonAnswer  
       2017-07-22 00:46:02 +08:00
    中亚市场怎么样啊,互联网行业,想学学。还有 5 国之间的关系怎样呢,听说互相有仇?
    ypcs03
        14
    ypcs03  
       2017-07-22 07:11:36 +08:00 via Android
    为啥不用现成的 ECS,省得自己要去部署和维护。
    jyf007
        15
    jyf007  
       2017-07-22 08:24:10 +08:00
    @hantsy 我是拉高铁的牛
    mritd
        16
    mritd  
       2017-07-22 09:22:01 +08:00 via iPhone
    哈哈 又是你,你这中文 10 级真让我感叹,我记着 k8s 是可以建立跨区域的联邦集群的,这样可以整合 3 个集群到一起,静态文件的话可以全部套上 CDN,至于访问业务可以根据你的办法,不过最好预先测试一下,还有,我不建议讲数据库放到集群内,第一是没有多大意义,第二是可能影响性能,还有就是出问题可能不好维护
    hantsy
        17
    hantsy  
       2017-07-22 11:22:44 +08:00
    @jyf007 辛苦了
    jyf007
        18
    jyf007  
       2017-07-22 11:26:56 +08:00
    @hantsy 还有我临座的有为老黄牛
    xdays
        19
    xdays  
       2017-07-22 12:41:42 +08:00
    k8s 不是问题,多个 cluster 做个 federation 即可。问题的核心还是跨 wall 的数据同步,目前还没有见过快速且可靠的方案。
    amanbolatbalabek
        20
    amanbolatbalabek  
    OP
       2017-07-22 13:46:13 +08:00 via iPhone
    想用 k8s 的原因是做这个项目的同时学习 orchestrstion,而 k8s 比 ecs、swarm 的技术要靠谱、丰富些,再说可以全部自己调试。
    需要三个独立的 cluster 的原因是每个地区微服务会有些不同、不是统一的,只有数据库是一样的(比如俄罗斯财务后台和前端和中国地区不一样)。不知道我的这些想法正不正确,现在只是计划阶段而已。
    在公司都是我一个人来做的,所以想问问大家的看法和建议!
    gemini
        21
    gemini  
       2017-07-22 19:49:55 +08:00
    1.其实你们这个场景跟 k8s 关系不大。k8s 只是交付部署层面的问题。
    2.用 pgsql 跟用其他 db 效果一样,遇到的问题也是类似的。
    3.如果没有用户信息管理之后的数据,楼主方案中的架构也是可以的。如果涉及到用户登录、分区等,需要更复杂些的方案。

    业务规模和服务请求量级、需要同步的数据量级,也是方案的一个重要参考。不清楚楼主的这些信息,不好给建议。如果量小,简单 replica 能满足需求。不常来,可以私信微信交流。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4543 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 04:05 PVG 12:05 LAX 21:05 JFK 00:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86