项目部署流程

2023年3月3日11:44:17首页10阅读模式

我来浅谈一下我是怎么做项目部署的,部署河北部署。部署就是将项目在相应环境的服务器上跑起来。
但是在很多公司大搞csd的今天,对于应用开发程序员来说,部署就等于在某个系统的某个页面上点一下某个按钮,然后你的项目就被发布出去了。按照各家公司的不同流程,你可能需要给测试提交一个体测单,再后来,你的项目怎么上线的都不需要你关心了。但作为一个有理想有追求,不甘心只做大厂螺丝钉的软件工程师,当然要知道在没有大厂的这些基础设施的情况下,自己怎么把一个项目从零乱起来说到软件项目的运维部署。

项目部署流程

这几年发生的变化并不亚于前端圈,你们说前端圈变化大,各种新花样,但在运维界,这场变化那才真真实实的割掉了不少运维朋友的命。记得在刚毕业进厂工作的时候,大概是10年11年左右,那时候一个项目要上线,你要先去申请机器资源,描述清楚你要几G几优,什么型号的机器,Linux的什么发行版版本号,需要安装什么环境。走完流程后,有位同学会把这几台机器的IP给你,顺便给你申请好用户以及权限,你去验证环境都安装正确,然后你就着手把你的应用跑起来。如果上线后应用出问题了,你要登到自己的机器上去看日志分析问题。那个时候并没有什么集中日志收集,日常中运维会跑一些脚本来统计机器的利用率,汇报给他的老板,如果你申请的机器日常负载比较低,有可能会被要求降配等等,你们别觉得low到不可思议,这可是TOP3的大厂在那个年代的常规做法。

后来由于虚拟化技术的进步,已经不再是将一台物理机虚拟成多个虚拟机这么粗力度的,而是更细力度的容器化从刀ER流行起来,标志着容器化这部风已经开始席卷世界了。再到后来Google放出了K8S这种将容器化彻底玩明白的框架,那些传统的PE职位基本上就被历史的车轮碾过去了。所以没错,目前我的所有的project都是使用容器化部署的。简单点,你可以在你的VPS上安装docker,将你的container直接拉起来。这样也能达到目的,并且也简单,但我不是,我使用的是K3SK3S是K8S的简化版,K8S集群比较重,它要依赖etcd等重型应用,并且它最少要有三个节点才能顺利运行,而K3S没有这么重,它可以单机运行,并且可以运行在著美派中。

还有就是阿里云的KS集群太贵了,没有需求也没有必要买,所以我还是在我每个月100块钱的VPS上打了一个KNSKS的搭建网络上有很多教训,其实我就是按照官网的文档来的,基本没有遇到坑,有点动手能力都可以自己完成。实货说的有点多了,让我们上点干的。K8S是Kate的简称,它是一个生产级别的容器编排系统,我们本期视频默认大家都不是第一次听说K8S,下面我们简单的名词解释一下,pod pod是可以在K8S中创建和管理的最小可部署的计算单元,pod并不等价于contain。一个port可以包含一个container,也可以包含多个container,比如就会为每个port注入一个side car container deployment是一个声明式的配置文件,它描述了你的应用的最终形态。

KS会努力按照你的描述调整你的应用。比如说,你在deployment里面将副本数从二改到了四,KS会将当前两个副本的状态努力调整成四个副本的状态。这种声明式运维是目前的一个趋势,你描述的是你希望达到的一个状态,至于怎么达到,engine会帮你处理。声明式是相对于命令式来说的,命令式是由你来执行每一条命令,使应用达到一个你想要的状态。目前来说,声明式是目前的一个趋势,在软件设计领域也是一个良好的设计思想,将要什么与怎么做分开设计一个engine专门用来分析怎么做,设计一种语言专门用来描述要什么。这里又有跑题的倾向了,然后就先就此打住service和deployment类似,它也是一个声明式的配置,描述了你的应用对外提供什么服务,将请求通过一个service分配到各个pod上,并且提供了负载均衡的机制。一般来说,我们描述清楚deployment和service,就可以将一个简单的应用跑起来了。当然,K8S里面的资源模型远不止于此,各位感兴趣可以自己去挖掘一下,这里只起一个抛砖引玉的作用。另外,我视频里面的可视化工具叫做Les时,也推荐使用命令行工具K9S很香,谁用谁知道。

  • 版权声明:
  • 本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 295052769@qq.com 举报,一经查实,本站将立刻删除。