00:00
刚才把所有的微服务以及网关都部署完了,接下来再来部署若EUI,这是一个前端项目,那参照呢,我们就是这个叫若EUI,我们八零端口的这个项目,若UI呢在这儿。首先若1UI呢,是用view写的前端项,它的打包方式呢,跟我们Java的不一样,我们整个无论是你什么语言写的,你想要上云,其实都是这么几步,第一步把你写的这个代码呢,打成这个你的这个制品包,无论你是炸包还是什么,然后呢,接下来我们再制作成镜像,然后我们在云上部署,所以我们前端语言呢,打成的这个包其实是一些页面呢,CSS以及JS这个文件程序,那接下来呢,我们再来制作成镜像,这个镜像呢,其实就是NG镜像,然后做好的页面塞给N它运行就行了,然后最终呢,我们再上云部署。那这套流程呢,就应该这么来走,首先我们来打包,调用它的发布命令,N PM run build prod,其实就是在re UI这个里边应该有一个叫攀杰森,在攀杰森里边能运行的脚本叫n PM wrong,是不是Bo的prod,现在我们来给它打一个生产环境的包,那这个打包呢,我可以在这儿来做。
01:14
这是我们若1UI,若1UI那就是这个项目来给它进行打包。只要我们装了诺德GS,那就n PM run,我们的Bo的冒号prod打生产环境的包,但这个打包之前啊,大家得改一下这个,因为你要打生产环境的包,在我们这个con配置里边有一个比较核心的配置就是DV server DV server里边这有一个target,相当于我们若一的前端的这些请求是发给谁来处理的,那默认呢,这写的是log house 8080,这是由于我们以前。以前呢,我们这个项目启动的时候,8080是网网关,所以呢以前是前端访问我们本机的8080网关,而现在呢,整个云上一部署以后,呃,这块的就得变一下,变成云上我们网关的地址,所以呢我来找一下云上的网关,而且呢,只需要用云上我们这个网关的叫什么,是不是集群内的这个访问地址,所以呢,你用它的整个集群内的这个IP若1GETWAY。
02:17
这个网关的虚拟IP是幺零,这个也行用呢,我们这个域名也行,就用这个域名吧。所以呢,接下来我就把这一块改一下,改了以后呢,我再打包,嗯,我在这儿来运行这个打包命令回车,这个打包呢,会给我们产生我们最终的这个制品包,我们来等一下。给我们制作好的这个制品包。看一下他是什么样的。好,等一这呢,这一块打包完,这一块还打了挺多的内容,而且呢,给我们这个显示这DST目录已经OK了,就是这个,所以呢,我们只要啊前端项目啊,一有了以后,你就把这个目录呢拿出来,这个目录呢,其实就是前端前端项目的真正的内容,而把这一块的内容交给我们的N就行了。
03:10
N呢能展示所有的页面,当然我们默认现在双击打开这一块呢是不行的,因为我这个双击打开呢,要连上我们线上的这些地址,所以这一块呢,啥都加载不来,那整个项目呢。没有跑在N服务器上,他们的这些资源也请求不来。那我呢就把这个拿过来,而且若伊在这儿,在这个若伊UI,它在这呢,我们之前在若伊cloud,我点开吧,这个docker打包镜像,这有一个这个N这个模板,所以我来看一下若1UI,官方呢会告诉我们如果去来打包镜像的话,该咋打包,我把它的这个engines拿来,这是它的docker fair对吧,这是它的con配置,所以我们来看一下它的docker描写,它整个docker fair呢是这么写的,From n就是基础镜像呢就是N,然后呢,还有什么可挂载的目录,我们也懒得挂了,然后呢copy copy呢首先会把NS的配置文件复制过去,所以说有自己的N配置文件,然后呢,还有复制HTML文件,叫HTMLDST,所以呢,我们把我们的dist文件夹放到这个HTML里边。
04:24
当然这个read me里边就是DT里边的所有内容。把这个内容拖到这。好拖到这儿,拖到这儿以后呢,接下来那这就是我们已经打好的生产应用的这个包,以及我们的这个配置,配置呢,我们来看一下有没有什么要改的。合一的这个配置,配置呢,这一块要改啊,Server name localho不能写localhot,所有的local。那就是恩尼呢,只处理我们本机的这个请求,如果在docker环境下,可能呢,都是一台机器,大家都docker呢,最终啊,我的这个人暴露了八零,我的local监听的都是整个机器,这没问题,但一旦到K8S我们上云了以后,我们的这个N可能会以一个pod的方式不知道跑到哪个机器上,所以local host他只监控他自己这个pod,呃,相当于给他这个pod发来的这些local host域名的请求的话,那这些请求就没办法处理了,所以呢,我在这写了一个杠杠呢,就代表你浏览器无论是敲什么地址来到我的这个NX,那我呢就给你开始来进行处理,只要呢,你访问到N80端口怎么处理呢?这有一个叫这些东西都固定不变,因为它若易默认的,只不过这一块生产环境呢,所有的请求都会以pro DA API开头,而且所有以pro DA a开头的都会代理给若伊的网关,所以网关到底是哪一块的地?
05:56
在这呢,再写一遍。那我就把网关,我们之前写的这个网关地址这儿呢,我再写一遍。
06:05
好了。这是我们。这个若一打包要用的东西,当然这个里边的小文件太多,所以呢,我们应该把它做成压缩包,然后呢传给服务器看这个压缩包大概有多大啊,就45MB,不是很大。来传给服务器,让服务器帮我们来打包,我们就传给master吧,打开他的SFTP,然后就直接往前拖。啊,我们这儿呢,有一个NX直接往这拖。让他呢,给我们这个服务器上上传。好,这个上传完,我们在这儿确定一下。服务器上已经有这个上传了的包。切换到SSH。CD的播放器。大概呢,会上传到啊根目录就是这个NCP啊解压一下on。
07:03
这个命令呢,可能还没有,那我们接下来安装一下。样因对杠Y的on zip,这是解压缩的,还有压缩的都可以延。稍等一下。好,然后呢,接下来我们来解压缩啊,Z来解压缩N的这个压缩包,解完以后呢,那就在这CD到N里面。然后我们接下来打包镜像吧,这个镜像呢,我们来提前规划。就叫若1UIVR版本。好,我就在这构建镜像的时候,就一次性这个做好,就doer build,杠T-T我们的这个镜像名就一次性做好,然后杠F1这个刀客费啊为准,然后呢点就是呢在当前目录下进行工作回车。
08:18
稍等一下。这第一步呢,先是下载基础镜像,下载完以后呢,他把这些啊,这个N的配置文件啦,包括这些啦,他都会给我们复制进去。啊,这个镜像呢,就打好,然后呢,推送上去刀不是。推送上去以后呢,来部署EUI。啊。
09:04
等他推送,我们接下来直接进入部署流程。来到我们的这个服务这我点击创建还是无状态服务录音UI,就是呢,我们这个前端项目,前端项目的这个镜像,来稍等一下把把这个镜像呢复制过来。他有没有,嗯,上传过去。稍等一下。好,我们这个镜像呢,就算是推送上来了,接下来我们来进行部署。若1UI要用这个景象。其实就是NG托页面,那就是我们的前端项,是让他使用默认端口。行TCP80没问题,然后呢,同步主机时区剩下都不用管,点击下一步也没有什么挂载的,然后呢,注意这一块我们选择外网暴露,因为这个呢我们是要访问的,所以我选择note方式点击创建。
10:06
若1UI好来稍等,因为它接下来呢,先要给我们下载镜像。稍等一阵呢,我们这个若UI也算是创建好了,来看一下它的日志,这个日志呢啊,也算是启动成功。这一块is empty没有任任何问题,好,这都启动成功,启动成功,那我们来稍等一下。在这刷一下啊,这一块呢,是没啥问题的。好,整个这个副本呢,也是运行正常的,没问题,那接下来我们就来访问,比如说UI呢,我们是有暴露端口,所以整个若一部署好了以后,那你就拿我们的它加我们暴露的外部端口三零。842回车。若伊的管理系统,这是我们云上的若一管理系统,然后呢,我们来登录,首先这个验验证码能切换,那就是对的,然后呢,我写一个八,因为每一个切换呢,它一定是给后台发请求,包括我点击登录看能不能登进来。
11:07
好,也能登进来也是对的,包括我来创建,比如我来创建一个用户吧。创建用户的话,他要给线上的数据库保存一个东西,所以我在这点一个新增用户昵称,我就叫了ffa。归属部门随便选一个。邮箱就不填了,用户名称FY密码呢,这有一个默认123456难。这个比如员工。都够上。然后呢,角色红角色点个确定。嗯。是不是得11位啊,一个确定好,现在呢,我们把这一块就录进去,我来验证一下是不是操作我们线上数据库叫我们线上是这个。我们若一后台给我们保存到用户都在这张表里边来的肉。
12:05
啊,这就是我们的这个记录啊,没问题,所以呢,我们若一整个呢就部署完成,我们来捋一下整个思路,我们部署的这个,首先若一的这个前端界面是一个N项目,我们把这个N呢部署上以后,在N里边配置了。这一块来给大家看一下,我们给他上传的这个NG的配置文件里边,我们是不是改了。我们N的请求代理对吧?因此呢,来接收来自任何IP地址域名的请求,以前要写local house,那来源于我这个IP的可能就处理不了,所以呢,我写了一个杠NS呢,处理来自源于任何地址的请求,然后呢,接下来只要呢是你访问生产环境下的,我就给你代理到网关,代理到这儿,而我们网关呢,地址除了在这儿,配在这呢也配了一遍,所以呢,最终我们的数据流向就是这样子的,流量呢从我们这个前端进来,进来以后呢,随便会访问任一一台机器,我们暴露的这个端口来到我们的前端界面,前端界面呢再交给网关,网关再负载均衡到其他微服务,每一个微服务呢,在各自操作自己的数据库是吗?
13:15
而且呢,整个操作期间,只有前端对外进行了端口暴露,剩下的呢都是集群内的地址,集群内地址呢,访问两大优点,第一个是速度快,第二个免流量,所以呢,这是我们说的整个若伊部署的这些环节,当然我们只是部署了一个若一的大框架。当然真正的一些项目上云,比如我们接下来要准备一个叫我们的这个叫上一通项目,我们要真正上云的话,其实要解决的问题更多,比如我们刚才上云的整个逻辑里边,全部都是纯手工一点一点做的,一旦发生错误,那从头到尾都得做一遍,所以整个呢操作是非常不人性化的。整个容错率呢,也非常低,我们一旦发生错误,迭代起来也非常慢,所以呢,我们未来就期望有没有一个自动化的工程,能帮我们把所有的这些部署工作帮我们自动化做了,这样的话呢,我的代码只要有发布版本,比如我这个代码敲完了以后呢,我给给他号一提交,我说我要发布版本了,我只要一发布版本,那接下来呢,我们就自动化的这些机器就会自动的把代码拉取过来,给我们自动的打包,制作镜像,然后给我们部署。
14:31
虽然说我们现在手工时代有了这个库,我们即使呢,用它的这个界面点点点好像速度也能很快,但是一旦面对大量应用,我的这个微服务由成千上百个,那这样手工部署那就太慢了,那下一次呢,我们就来说如何做整个自动化的部署流程,而我们现在整个若一部署也是成功的,那在这一块呢,测试也都是通过的,有没什么问题?
我来说两句