冲上云霄-云从业随笔(3)

    该篇首发自 VMCloud,涉及视频、图片,请点击 该链接 进行查看


TKE只是实现Pro与Dev之间的链路打通的途径之一,其实只要具备开发技能,架构思维及运维理念,那么无论何时何地都可以实现“冲上云霄”,经过这几篇的体验,让我觉得腾讯云在产品方面独立作战能力很强,但是整体缺乏架构思维,比如CVM与TKE之间的关系仅仅只是CVM作为Docker Host节点之一加入,而TKE大部分的功能都只有错误码形式,有些操作还不够极致(仍然要手动push),也没有好好的把腾讯本身的CI/CD能力整合进来,而只是提供了入口,虽然灵活程度很大,但是本质上也带来了很多整合风险。

By StatLee

仅代表个人观点,与平台/公司无关


        上两篇讲述了笔者这两年内心的一些想法,也将写了两篇落地文档,若是仅仅构造一个远程开发环境的话,其实就背离了我写这系列文章的初衷,更希望在当前云环境下,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可以开始发挥菱角之力了,当你要快速扩展时只需要用该镜像进行创建即可:


效果

PS:镜像仓库的超时时间很短,大概不到5分钟,这个间隔内要push镜像,否则就可能deny,搞得我以为哪里报错了,这里其实可以GUI化,在服务界面提供类似“打包成为镜像”的功能


▼冲上云霄系列▼

云从业随笔1——VSC Remote

云从业随笔2——VSC+TKE1


发表评论

电子邮件地址不会被公开。 必填项已用*标注