00:01
好,那前面呢,我们已经配置好了整个并发的这个部署的过程,然后呢,接下来点击流水线的运行。来看一下我们整个的部署效果。好,现在呢,流水线开始运行。我们等待它的可视化界面。开始呢,执行我们整个流水线,先是拉取代码。稍等一下。啊,这一块代码呢,差不多就拉取成功了,接下来是项目编译。也不用下载最新的炸包,我们之前编译过。所以也很快。编译完成以后呢,接下来是我们的推送镜像过程。啊,先是构建镜像,我们先在把每一个微服务的镜像呢,先自己构建出来。构建完镜像以后呢,是我们推送镜像的过程,就稍等一下。
01:04
等了十来秒以后呢,我们这个构建都成功,那接下来就是推送,推送呢,我们每一个都要登录到仓库里边再推,这个我们已经登录过去了,那我们就来等待推送过程。那一段时间以后呢,我们这一块的镜像都是推送过去了,但我们在这并发部署期间呢,他在这出现了问题。我们可以来看一下这个问题呢,说cannot found CU con,就是我们这个CU con啊,有一个叫ID,叫什么k condial ID,他说这个没找到,这个呢,实际上是有的。来给大家确定一下,这个呢,在金克s fair里边,它呢是用变量取值的,就是在这cooper con creditdial ID啊这个creditdial ID呢,来给大家找一下。它是在我们的这块来定义的。在这IDDEMO。
02:02
那确定一下有没有这个呢。在我们的流水线里边。凭证有一个DEMO库con,就是这个凭证啊,DEMO库con没问题,有这个。而有这个的话呢,接下来他在这儿报的这个错,来看一下这个错。之前的这个流水线的这个错。这个错呢,就是有有我们这个库是有,但是呢,它在这取值的时候。在这呢,直接给用成了字符串了,实际上呢,我们要让它动态取出这个cooper con credit ID的值。这一块动态我们来看一下。嗯,修改一下它的这个雅马尔文件。嗯,在流水线这一块,我们直接编辑金克斯菲尔啊。然后呢,我们来看一下。呃,下边的这个示例是使用什么这个双引号取值,而我上边呢,这个双引号,这还多了一个单引号,所以呢,有可能是这个问题。
03:07
那接下来我们就在用到这一块,把所有的东西呢都改一下。一加这个额外又加了一个这个单引号以后呢。它这个就不变成动态取值了,所以我们把这一块全部替换CTRL。CTRLCCTRV,我们把这个单引号呢给它去掉,就让它以双引号的方式全部取值,Replace all。来确定一下效果。好在这呢,要确定是动态取值啊,然后ctrl a。CTRLC。来重新修改一下这个进行词汇。确定。好,这个修改了以后呢,我接下来再重新运行我们的流水线,那它肯定就是可以了,你点击运行。
04:01
在这儿还要让我们输个什么东西,随便输一个。下来,我们就等待它运行到那一步。先是在这拉去代码。然后在这呢,第二步项目编译,我就继续等。等于这呢,就到这一块构建镜像,那镜像构建完等于阵就是推送。好,进入到这个推送流程。推送呢,大家就得多等这。好,镜像这个推送完成,然后呢,来到这个部署阶段,我发现呢,其实已经有些他已经选择这个部署成功了。其他的这个部署呢,我们就来等一下,有部署成功的,我们也可以确认一下,叫service order service OS。来到工作台上一通项目,我们部署的这个里边,诶,我们发现呢,这些就已经开始在部署了,而最小副本不可用的原因是我们现在先要下载镜像。
05:04
这块镜像呢,它说无法解析镜像名称,我们就可以来看一下。他这一块镜像呢,是用了什么镜像编辑配置模板。我们在容器组模板里边来看一下。这个镜像呢,它用到的叫阿里云have name space,就是这一块的name space呢,它又没有动态解析储值。所以呢,我们相当于这一块又写错了。我们来deploy里边看一下,它会用到阿里云hi name space,这个name space呢,就应该在这一块呢,有创建值,阿里云type name space好了。原来呢,我们这叫docker。CTRLF来搜一下这个docker have name space呢,我们是在这儿来引用的,而我们这个这个deploy压面的文件里边呢,我们又叫阿里云,Haveb name space,其实他俩呢,说的是一个事。所以我就同样的复制一下,或者呢,大家应该把每一个deploy里边的什么阿里云type name space改成我们要用的docker type name,好,这个流水线改了以后呢,Ctrl a ctrl c,然后我就可以重新把这个流水线呢修改一下。
06:18
来到我们这个流水线工程。来到这儿,我们现在这个流水线呢,是有问题的,我们把正在运行的这个流水线把它停掉。重新修改我们这个流水线。所以整个流水线呢,就是我们通过一步一步再来调试,在这个可视化界面,我们也能最终得到它整个流水线部署文件。最终呢,确定啊,有这个阿里云have space就行,点击确定流水线文件呢就改了,然后呢,我此时再来点重新运行。我来重新运行,随便呢来输一个。我们就来等待它执行到我们的部署过程,而现在已有的这些部署呢,已经失败了,这个失败呢,我们也不用去手动的删除它,因为这些部署失败的东西,在下一次部署的时候呢,因为我们这是一个同名部署,相当于又是一个更新操作,把旧的呢就更新出来了,所以我们就来等。
07:18
我们这个流水线的,一直到他的部署操作就行。这个等待呢,我就不在这儿给大家。运行了,来看一下,现在我们的过程已经到项目编译了。就暂停一下。好,现在呢,在我们这个推送过程了。这个推送过程呢,比较漫长。好,等了一阵呢,我们这个已经都推送完,那接下来呢,他就进入到部署环节。而这些部署环节呢,我们现在来到我们的整个项目里边确认一下。商业通的这个项目。我们这个部署呢,现在都是最小副本,不可用新部署的东西,它呢就会把旧的删除,然后呢,新的就是容器正在创建中了,因为我们现在呢已经给他改好改对镜项了,那就等待它的整个创建过程就行了。
08:11
我们呢,也可以来确认一下,每一个微服务呢,都保证它是容器创建中没问题,这些错误的呢,就会被自动删除。来看一下这个,包括这个oss的。这个无法调度,那等一下啊,因为集群里边呢,其他东西好多还没有运行完,所以集群的资源可能有点不够,他说无法调度。再确认一下。啊,这些无法调度的可以暂时先不用管。等我们这个有一些部署能成功了,那释放一些资源了,他就可以调度了。找一个。正在部署的。来看,应该有一有一些已经部署成功了吧。Service task啊,容器创建中,那么就等直接创建吧。
09:01
而且呢,大家注意的是按照我们以前讲的deployment的滚动升级。那么这个整个呢,创建应该是我们新的东西先创建出来以后,这个旧的啊,有问题的才会被删掉啊,所以呢,就等它创建完这一块就会被自动删掉。那等一段时间以后呢,发现这个server task它呢,在这说容器没有准备就绪,这个呢,其实继续等就行了,因为每一个容器呢,会给容器内部发送IQ help health,比如8080端口发这个请求,这个请求呢是我们boot整合这个IQ tra来做的一个就绪探针,而当我们整个容器呢,真正启动成功以后。就绪,探针也会准备就绪。所以呢,等一阵它这一块呢,也就OK了。好,经过一段时间以后呢,我发现它长时间还是容器没有就绪。那为了确认这个问题呢,我是把本机的这个项目提起来了,本机的项目一提起来以后呢,我在本机我随便访问一个项目,它的这个IQ tra health方法,我发现有些项目呢,它打印的是down,有些呢是up,我当我们这个应用呢,真的down掉以后。
10:15
他这一块的整个响应就是一个503 health检查状态就是一个503。而呢?K8S认为两百二二叉叉的这个请求才算成功。所以我们整个呢,检查过来,我们发现啊,其实是我们这个项目有问题,因为有些项目呢,引用了red,但是呢他没说,所以呢,在这一块经常呢会联想本机的red,所以我们现在呢要做的就是。我们这个应用一上云以后,我们会连上线上的NASNAS里边呢配了各种我们应用的线上配置,所以呢,大家接下来把每一个线上的应用配置,我们也不管它连有没有连release,把release的配置呢,都给每一个人写上就行了。
11:01
来找一下每一个呢,因为它线上应用一上来都会加载这个默认的application dev就是这个配置呢,都会加载,所以呢,我随便拿上某一个人配的。来看一下配的这个red啊,这个red呢,这是若一配的,我们不用这个若一配的,用我们自己的。自己每一个微服务的这个red,我们呢,都拿来来找一个人配的red。在这儿,然后呢,给所有人呢,都来加上。所以我来看一下,我来找这个按照通配符只找service下面的东西,Group搞错了啊,找service。跟service有关的东西,这是我们的,我们自己的,然后呢,我们给每一个人里边,我们呢都来加上red的配置好,这个呢是有的。然后这个人。每一个里边呢,我们都确认来加上release的配置来看一下,这个release也是有的,因为有些人的这个呢,可能配不好。
12:08
它启动呢,就会有错误,来再来找一下啊,这个red呢也是有的。第四个。Oss的oss呢,它后来也会用到,可是呢它没配,所以我们来加上。确认发布。然后呢,SMS。诶,这个呢,它是有的没问题。还有我们的static这个来找他的。他呢,没有,我们来给它加上。还有我们的task。Task呢,我们发现它这一块red呢也没配我们来给它加上。确认发布。接下来是用户user user呢?
13:02
来找一下。他这儿呢,应该也没加,我们都来给它加上。点击发布,点击确认发布。流水线呢,重新让它运行一遍,那来重新部署。部署完了以后呢,我们下次呢就应该可以了,先下一节课我来把这个流水线再来运行一遍。
我来说两句