[关闭]
@waterdkx 2018-04-09T02:36:53.000000Z 字数 3597 阅读 1961

title: 使用Kubernetes改造米喜部署环境--阶段性总结
date: 2016-08-09 09:07:31
Kubernetes
categories: DevOps


又是一个月没有更新博客了,白白的烧了62块钱的服务器租赁费。倒不是不想更新,实在是因为正在解决一个颗粒度很大的技术问题。已经断断续续被这个问题折磨了快两个月的时间,昨天晚上终于取得了阶段性成果,所以赶紧来post一篇。希望今天能早点下班,毕竟七夕。

七夕之歌

现状与目标

公司目前项目的开发和测试是在内网的物理机上进行的。体量暂时也还不大,所以预发和生产环境挂在阿里云上。Leader结合公司未来的业务发展需求和目前行业的大趋势(比如Docker,DevOps,MicroService等等),跟我定了这么个任务。希望能在2.0项目上线之前,对预发环境的部署方式进行改造,主要就是使用容器技术将应用容器化,并使用编排工具将这些应用管理起来。

容器技术Docker已经是如雷贯耳,几乎成为容器技术的代名词。所以其实没什么好犹豫的,不过值得一提的是CoreOS推动的一款类Docker的开源容器引擎技术,Rocket.CoreOS这样做的原因是因为他们认为Docker已经背弃了提供“一个标准的容器架构”的初衷.但是就我的需求,务实的选择,当然是Docker.

至于Orchestration Tool.,经过详细的技术选型和调研,最终在Docker Swarm、Apache Mesos和Google Kubernetes之间选择了Kubernetes,作为编排工具来管理Docker.

艰难的实施过程

首先我其实是一个开发,一个Dev.但是整个实施过程中,涉及到写代码的工作其实是非常之少的,大多数的工作集中在软件的安装,环境的配置,还有镜像的下载。。。。是的,说起这个镜像的下载我就坐不住,有些镜像翻个墙下载,几MB十几MB还行,有些动不动就是几十MB几百MB,一等就是快一个小时。能下到的也就算了,有些镜像放在gcr.io下面,根本拉不动。没有镜像,所有的操作都会被卡住,心情就是操蛋。好在后面学会了用DaoCloud和时速云之类的东西,总算是逃脱了GFW的拦截。

总结起来就是,我认为这个工作让运维同学来做可能更合适且高效。但是都在讲DevOps,所以也没什么好抱怨的了,就当是扩充技能栈了。

这里罗列一下在实施过程中踩过的坑和做过的事,帮助理清思路:

修整一下再继续

还有一些零碎的事情,一下子可能想不全了,所以就先吐槽这么多。而且这也才完成阶段性的目标,即将公司的主应用docker化并用k8s集群管理起来。后面还要做的事可多了:
- 数据库docker化
- 集群组建方式调优
- k8s正式上线,测试,预发,生产环境部署方式。实现CI,CD.
- 实践微服务架构
- ......

要学的东西就更多了。不过先继续深入理解Docker和K8s应该是首当其冲的工作。

Docker

K8s

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注