设为首页 收藏本站
查看: 1421|回复: 0

[经验分享] 普元云计算-阿里云上的容器技术实践详解

[复制链接]
发表于 2017-6-25 07:27:35 | 显示全部楼层 |阅读模式
  转载本文需注明出处:EAII企业架构创新研究院,违者必究。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复公众号:“EAII企业架构创新研究院”。(微信号:eaworld)

  
  导读:本文以“实践过程中问题与思考”为主体,与大家分享其中的过程和经验,希望大家在后续的工作中能够避免相关问题,形成更佳实践。
  为什么选择阿里云
  现在的公有云如雨后春笋,国外如AWS、Azure、Bluemix,国内如BAT、DaoCloud、goodrain,都可以给大家提供丰富的云基础设施和上层服务,那么,为什么选择阿里云呢?主要有三点想法:

  •   我们使用阿里云的服务已经有5年了,从企业级PaaS平台合作开始,再到帮助我们的一些客户逐步迁云,对阿里云的能力还是比较熟悉的。
  •   因为要做的是容器,国外AWS,Azure虽然有,但AWS在中国一直没“正规”数据中心(唯一的一个前几天还被查了),Azure是微软体系(也许是心里作祟,总感觉不对口...);而国内虽然一些公有云有容器能力,但规模普遍偏小;再者,阿里云反正也开始做容器了,说明人家底层还是有支持能力的。
  •   当然,还有一个做法,自建数据中心或租赁IDC,不过做事情还是的慢慢来,不到一定规模,前期投入还是比较大的。
  怎么用阿里云
  有人问,在IT领域,现在跟10年前比,对技术人员或架构师要求有什么不同?
  我是这么来看的:以前大多数是做加法 —— 每个领域就那几个产品或框架,需要的更多是集成能力;现在是要做减法,因为技术栈太多了(全栈工程师不好当呀...),到底选哪些,这往往是最考验能力的。
  我们最终选择了Kubernetes+CoreOS+docker的组合,当然少不了辅助的Etcd、Flannel...……大家可能会问:为什么不用ubuntu、ranchar啊,为什么不用OVS啊,其实我们都是有理由的,这篇文章里不是重点,之后再交流。
  那紧接着要做什么也就明了了,在阿里云的ECS上先跑CoreOS(docker反正自带了),然后去部署Kubernetes那一整套,验证验证技术可行性吧。可以的话,再做分布式存储,然后支持DevOps,自动化运维,先后顺序也很好选。
  没有问题是不可能的
  大家可以到阿里云官网上去搜下docker,或者kvm类似的,映入眼帘的是以下这张图:
DSC0000.png

  千万别气馁,因为都有CoreOS镜像了,不支持docker谁信(其实阿里云还是蛮务实的,没有经过严格测试不敢说支持),好歹也得试一试,于是就先买了几台CoreOS机器,接下来做的一些事情就不那么顺利了:

  •   先做系统升级(默认版本比较低了,681.2.0 64位),那大家都知道外网流量很贵,所以最好搭个内部升级服务器,在升级后发现网络有问题,进不去,内部进入发现原因是网络没起来,这工作只有先手工做了(systemctlrestart systemd-networkd.service)。
  •   升级完了,最好的习惯是去打快照(当然,这个服务过些天就要收钱了,还挺贵的...),发现没打出来,这个问题排了好久,最后的原因是自作孽啊,删了个自认为没用的yunservice,后来想想也觉得自己幼稚了,都叫"yun"了,肯定是阿里云留下做事情的呀。
  •   kubernetes安装,一般来说有三种安装方式,命令型、服务型、容器型,技术成本考虑,最终我们先用了前两种的混合态,然后setup-network-enviroment辅助验证,还好没遇到大问题,容器间网络很快通了(我们用了container模式,端口映射出去)。
  •   因为在VPC环境,我们使用了EIP,但IP资源实在是宝贵(20个),所以留了一个做堡垒机,其他的大部分给了计算节点,由kubernetes的service public IP消费了,这点告诉我们,宝贵资源大家前期一定要做好规划。
  •   内部DNS能力,用了skyDNS,一个比较坑的问题:一定要用最新版本,之前哪怕是release版本都有问题,服务注册后进不去出不来的,反正挺诡异的,一直也没见说哪个版本修复的。
  •   跑服务过程中遇到了棘手问题,大家都知道kubernetes的容器调度能力,会结合自身的一些分析,在运行时把pod做热迁,放到他认为合适的机器上,这就使得容器用宿主机本地磁盘不现实了,持久化数据没法迁移或共享呀(当然,有同学说可以通过label强制运行在某处,但好特性还是想用一用,不然什么都规划好,这和云的宗旨就貌合神离了),这怎么办?分布式存储是个好方案,但阿里的块存储服务还没发布,虽然我们一直是决定自己搭,但那也是下个版本的事情了,这边先low了一下,只能先用NFS临时解决。
  最终架构和技术栈
  上面罗里吧嗦地说了过程中遇到的一些问题,当然还有,就不详举了,不然就变成了公有云吐槽了!
  这里想简单再分享下我们的技术栈和架构,希望对大家有用。
  刚才已经把容器技术栈给说了,接着就是容器里跑的微服务使用技术了:

  •   springboot,让微服务编码、配置、部署、监控变得更简单
  •   react+redux,让前端也可以微服务化
  •   MetaCube(自研产品),元数据,提供资源全图、驱动运营
  •   Redmine,提供产品和服务管理
  •   ElasticSearch、InfluxDB,运维监控能力
  •   BPS(自研产品),一体化的流程能力
  其他还有好多,saltstack、gitlab、Jenkins、autoconfig、OAuth等等,不细说了。
  平台是以DevOps为核心的,最终架构如下:
DSC0001.png

  围绕统一接入,自动化协作,运营反馈等,建设了完整的企业级云平台,后面我会分模块一一介绍,大家先概览一下就可以了。
  还有一些其他的能力建设
  包括高可靠、高性能、灰度发布、熔断、APIGateway、自动化、安全控制…,大家有兴趣可以一起交流,共同进步。
  关于作者:
  顾伟
  EAII-企业架构创新研究院 专家委员
  现任普元软件产品部主任架构师,先后参与华为,中信银行,工商银行,中航信,阿里云,兴业银行等客户定制项目。擅长OSGI,eclipse插件,web前端,云计算,CI/CD等领域技术,对新技术有着浓厚的兴趣。
DSC0002.jpg

  
  关于EAII
  EAII(Enterprise Architecture Innovation Institute)企业架构创新研究院,是专注于企业架构与业务创新领域的研究机构,致力于金融、电信、能源与政务等行业领域的企业软件架构优化设计与 创新研究,以及分布式计算、服务构件技术、可视化技术、业务流程管理、内存计算、企业移动计算、数据治理等领域的技术研究。
  eaworld项目(微信号:eaworld,长按二维码关注)
   DSC0003.jpg

  eaworld是EAII的官方微信账号。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387811-1-1.html 上篇帖子: 我在网易云信是如何做运维的 下篇帖子: 进击的docker 一 : Docker 简介
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表