上两篇讲述了笔者这两年内心的一些想法,也将写了两篇落地文档,若是仅仅构造一个远程开发环境的话,其实就背离了我写这系列文章的初衷,更希望在当前云环境下,Pro能够借助云环境提供的便利为真正的“架构”做多点事情。
而Pro最值钱的正是架构思维,当Pro能够将日常的架构思维结合Dev环境构建起一个能够快速reset的环境,才可以使得许多业务问题更加得心应手的解决,而这些光靠之前的VSCode+TKE完全不够,或者说,还未完全体现TKE之强大(或者说Docker之强大),今天这篇除了要调通前面两篇构造起来的环境之外,还需要利用TKE的服务更新特性快速扩充/重置应用开发环境。
1 上篇中我们直接使用了django img所以可以直接在容器内运行django-admin来跑起来一个项目(关于django的教程网路上较多,这里不过多介绍)
2 进入项目开始用runserver把项目跑起来:
3 为便于后续开发,我们参考第二篇教程,增加一台mysql容器(端口开放数据库端口,仅限于demo环境,真实环境中需要考虑数据持久化问题):
4 记得做好mysql鉴权:
5 接着将django与mysql做连接(网路教程较多),这里需要注意指定的是集群IP,接着通过尝试在django里定义表结构后migrate来检查django与mysql之间的连接性是否顺畅:
6 手动load下mysql的表,也可以看到定义的test表已经生效:
7 至此,我们借助TKE而构建成的运维开发平台V1.0已初具雏形:
8 光是搭建是不够,接下来我们要利用TKE的特性,将服务打包成镜像,方便我们快速回滚,首先要建立个人仓库:
9 接着根据指引,你需要登录到承载docker host的CVM上push container到仓库里,首先找到你docker节点机器是哪些:
10 登录到对应的节点后,输入docker ps,确认之前创建的container(若是忘记密码就悲剧了,这里的CVM不可以重启,因为container默认是没有数据持久化的,一旦CVM重启就代表你的container数据被重置):
11 根据指引登录私有仓库:
12 将打包好的镜像推送到仓库(如何打包可以看我以前写的docker篇)
13 此时在镜像仓库就可以看到我们打包上传上去的镜像了:
14 当你新建服务时就可以选择你上传的镜像进行构建了,此时真正的TKE可以开始发挥菱角之力了,当你要快速扩展时只需要用该镜像进行创建即可:
效果:
槽点:
镜像仓库的超时时间很短,大概不到5分钟,这个间隔内要push镜像,否则就可能deny,搞得我以为哪里报错了,这里其实可以GUI化,在服务界面提供类似“打包成为镜像”的功能
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。