00:00
好,那针对前边的一些编码问题,我在后边呢,发现每一个微服务里边呢,它有可能有一个这个bootstrap properties。由于我们这个编码问题呢,有可能它会导致这样,那这一块的中乱码,所以呢,我把每一个微服务的这些中文乱码我先都删了,保证呢一切正常。第二个每一个微服务呢,以前默认是没有加NAS的这个配置中心这一块的依赖的,所以呢,我给它也都加上了,这样的话呢,每一个微服务就能从NAS中自己获取自己生产环境的配置了,那这样我们NAS配置的那些呃,比如red的地址才能生效。另外呢,为了我们调错方便,我给每一个微服务还在这儿,它的这个日志文件里边,我加了控制台的日志输出,这样一旦有什么问题,我们都能发现控制台有什么啊问题,我们在控制台日志就可以了,我们也不用去用容器内部,那这一块的修改都做完以后呢,我接下来。
01:00
我把这一块呢,我也再提交一下。修改我们这个生产的,我们生产环境的这个boot strap有点问题。他呢有些乱码,把这些呢都修改好,并且加入NAS配置中心的配置。这些都有了以后呢,我们再把流水线运行一遍就行。剩下的呢,都不用动,包括德菲啦,这些以前是怎么样还是怎么样,然后呢,我现在。在我们的这个流水线在这一块。来点击活动,那现在呢,来运行我们的流水线运行,随便来写一个。那又一次重新运行流水线,这个流水线里边呢,就来等待它的流水线开始。流水线的管道呢?开始初始化好运行流水线的流程,拉去代码。那整个步骤呢,就来慢慢等待就行。接下来呢,是项目编译。
02:00
编译完了以后呢,是我们的整个构建镜像的过程,构建完了以后,我们再来慢慢等待它推送。这项呢,等一阵就构建完了,接下来进入到推送流程,这个比较慢,我就慢慢等待。嗯,大概等了半个小时左右呢,我们这一块也推送了,这一块也打印呢,也部署了。我还是来到这儿确定一下。来到我们项目里边,我们部署的应用呢,在这当然有些应用呢,还是有处理超时的问题,我们来看一下这些问题现在是什么问题。这个问题呢,它在这已经启动起来了,我们来看一下吧,现在呢,我们这个应用呢,也都已经起来,而且呢,也加载它的线上配置service-task就是这个task啊。如果按照完整加载呢?它会加载service task。也不只是这个压ma,还会service杠、test杠、prod的压ma,就是这个service杠、test杠、prod减压点压码来到NAS service杠。
03:14
杠prod亚马好没问题,那这个呢,它会从我们这里边来进行加载,我们接下来再看下边的吧。下边呢,我们这个应用呢,现在也已经运行起来没问题,这都运行起来,这也都一切正常。都运行起来,然后呢,我们再来往下看有没有哪一块报错。而且呢,应用也启动了,8080端口也没问题了啊,那我们这个应用就启动了,那我们这个呢,应该就是准备就绪的,因为我们来看一下它的这一块探针呢,是来。探测我们这个IQ traitor。Health。来访问192168166的这个IP curl192.168点。
04:03
166.1个来看一下这块的IP是162。162。162。然后冒号我们是8080访问这个IP的8080。的这个地址。那它呢,应该就是就绪的,但是呢,这块的status还给我们打印的适当。所以呢,这是它的这个健康检查状况呢,是有问题,那我们来看一下其他的为辅是不是都是这样。其他微服务呢,打印都是处理超时,而且呢,我们来都确认一下啊这些日志。日志呢,都是提起来的,都是没问题的,而且呢也加载各自的配置。Service oss,加载各自的配置,连上NAS的,好,我们线上S的什么8848。这些都是没问题的。
05:01
整个启动呢,也是没有任何报错。那只是说我们的这一块有问题,就是探针给的这个地址啊。访问一下。CUL。每一个呢,都来确定一下。的八零八零下的。Actor的health。看一下它。它呢也是给我们打印到啊,实际上呢,不应该是道。每一个应用呢,现在也都提起来了,我去NAS的。这个服务列表里边,大家看他们呢,也都注册到NAS的这个注册中心。注册中心,而且呢,也都加载了我们线上的配置,只不过呢,现在我们这个应用啊。只是每一个它内部在这儿,就是专门的这个探针,它有当。如果我们这一块的健康一直是当的话,我们有一种排错的方式,就是我们可以改为服务的配置,我先停一下。
06:08
我们来到任意一个,我就以一个为例吧,来到我们这个微服务的这个配置里边。这个配置里边呢,有这么一处配置啊。有一个叫比如management management explorer,我们现在相当于暴露,暴露呢,现在我就写一个暴露性,首先暴露所有同时呢,要他要show details。有一个我们来健康状况有一个展示详细信息,那我们就来写一个always,就是当他这个健康信息真的当了以后呢,我们就让他展示详细信息。这样的话呢,它到底怎么当了,就会有我们这个详细内容,比如我们现在以server getway为例。我们启动它。启动一个他,那你此时访问他的这个健康。状态信息的时候。他们就会给你显示详细的内容,哎,那我们的这一块来看一下。
07:04
Server getway这启动报错,重新启一下。那这一块的这个启动报错。我们用另外一个微服务试一下是不是微服务的原因。所以这个微服务的这个配置啊,就在上云之前,我们要不断的通过调试把它都要配置好。这块星,那我们写上双引号。我们现在呢,就以这个CMN。CMN应用为例,再来启动。好,现在启动起来。启动起来呢,我们就来检查一下他的这个健康状况。我们来访问a health,如果它真down了,Down的话,它就要给我们有打印详细信息。
08:03
用配置来打印详细信息。所以回撤。那这一块的打印呢,目前这些都是呃,Up up up的,那就没问题,那我有了这个配置以后,我加上每一个应用,它到底是怎么当的,都应该这么来做。所以呢,我现在做一件事,在NAS上,我给每一个微服务都加上这一对配置。把这个management这一对CTRLC。为我们生产环境的配置呢,都在这儿,就我们就来加上,加上以后呢,我们也不用流水线重新运行了,只需要呢把每一个应用删了。啊,重新起一份。重新起一下。让他呢从NAS用到最新的配置,并且呢给我们实时打印,它到底是什么原因down掉了。
09:10
嗯,这个也一样。每一个人呢,我们就都加上这一堆的配置。确认发布。接下来是oss。然后是SMS。然后是我们的这个statics。还有这个task。
10:03
还有这个user。这样呢,我给每一个微服务都加了它,为啥会荡掉,要让它打印我呢,就以一个微服务为例,把它先停掉,然后呢,我们再来把它砌起来。这个容器呢,就会正在创建中,然后呢,只要他一直没有准备就绪,我们自己呢,去来发一个请求检测一下,检测一下它为啥没有准备就绪。来等一阵,等它启动吧。他这一块呢,现在应该已经提起来了啊,提起来然后呢,我们去来检查它为什么会荡掉,我们自己来发这个请求。把这个IP地址发过来。Cul。我给这儿发检查他健康信息的请求。
11:08
回撤。好,现在还没有准备就绪,我们就等一阵吧,等一阵他能访问了,你就访问他的8080。看一下这个启动日志有没有启动起来,好稍等啊,一直要等待哦,8080端口呢,确实已经打印了。我就来访问测试,先不访问iqr。等他8080。能正常访问再说。好,这个8080呢,现在能正常访问返回杰森了,那么就来访问他的health。Health信息呢,它这一块呢,都是up up。哎,Status那就是up的,现在呢,应该都是up,我把这一段的杰森拿过来。我们来让他看一下。哎,现在这个就就续了,就续了,就是让他一打印详细信息呢,他这就就续了。
12:02
节省、格式化。刚才。这一堆的这个东西,Status整个呢都是up的,包括每一个组件的up状态,这都有。那这个有了以后呢,那接下来我把每一个我们之前他说当掉的服务我们都。先给他删了,再起一份新的。Task c c mn删了。再起一份新的。现在呢,就一个经跟流水线没关系了,就是我们这个微服务的自己的配置可能有点问题。改完以后呢,只要确定它能起起来。我们下一次的流水线。肯定就是一切运行正常。好,创建中没问题了。还有这个。再来,启动起来。
13:01
处理超时。这。让它每一个呢都启动起来。现在呢,这些都启动起来以后,我们可以随便监控上一个。那等一阵吧。我们来看它的整个启动日志,啊,这个日志呢,已经起起来了。我们来检查一下他的健康状况。这个IP呢,我先复制来。CU那先保证呢,8080端口能访问。百分之。只要8080端口能访问,就能给这个端口发请求,检查他的健康状况。当然这个健康状况的检查呢,是K8S自己都能做的。
14:03
我们只是为了确认一下,如果万一有啥不健康,到底是哪的问题。好,8080端口呢,能访问了,然后健康状况检查呢,我们自己运行也通过了,那他这一块呢,也是通过的没问题。所以通过那个设置以后呢,发现每一个都可以了,那接下来就是一个等待过程。每个微服务呢,啥时候都自己创建好健康检查,通过以后这一块的最小副本就不是不可用了,那我接下来呢,就暂停一下,你看等多久所有的东西都能恢复。等了一阵以后呢,我们发现有些恢复,有些没恢复,所以呢,像这些没恢复的,我依然要挨个排错,有这个task来看一下啥原因,首先看呢,项目这一块是启动起来的,也没有报什么错,来看一下Tom k有没有启动,Tom k呢也在8080启动的,也没问题。那么自己来给8080发个请求试一下,就是它。复制。
15:00
我们先来确保项目的8080是可以被访问的8080。哎,确定可以被访问啊,没问题,然后呢,哎,然后这就成功了,我们发现呢,有一件很奇怪的事情,就是我们还得自己随便呢把项目访问一下。似乎要把项目刺激一下他才可以。所以我再来。比如说下一个项目是这样,把下一个项目的IP地址拿来,只要我把它到80801访问。好,下一个项目呢,8080有问题,我就来看一下。下一个项目的启动呢,我们在这儿,我们大概能看到下一个项目呢,这是8203就是这个端口啊,它是出问题了。所以我来看一下这个service user8203。Service user。Service user就是它这个生产环境的配置服务的端口,服务的端口呢,我们没改8080,我一定呢,线上用8080端口确定发布。
16:01
好,8080端口写完了以后呢,接下来。我们把这个。有问题的停掉,所以这样呢,就是来发现一个一个的问题。停掉呢,让它重新创建。Service user呢就会好,我们再来看这个static。它是不是也是什么问题。这个项目呢,启动先保证tomcat是在8080启动着。我发现啊,这个好神奇,只要八唐木开头呢,在8080启动着,我们再来访问,我自己呢,把这个项目啊,先刺激一下。哎,他这个呢,哪怕给我报个四零四通了,那这一块就通了。嗯,这个。这个现象就很神奇,然后呢,接下来我们在这也一样来看一下这个。这个呢,首先保证它是在8080启动的,没问题。然后呢,只要我自己,我也不用访问他健康状况与否,我只要访问一下这个pod。我只要访问一下这个port,刺激一下,让他处理第一个请求,所有的东西,该初始化的初始化,这就行了,然后呢,接下来还有一个叫service user。
17:11
这user呢,之前是由于端口问题吧,然后呢,我们现在这个端口好了,所以按照我们的这块做法先刺激一下,那实际上呢,不应该这么做,对吧,为什么是这个原因呢?是因为我们的整个这个spring cloud的这个应用。怎么不它呢,默认启动,像它里边的这个线程池啊,连接池,它都是没初始化好的,所以只有等我们第一次处理请求的时候,它才初始化,初始化好以后呢,你的这些状态才能检查成功,所以呢,现在就是你看着启动了。但是这个池子呢啊,里边比如一些乱七八糟的这些连接信息都没初始化好的话,它还是不能访问的。我现在把这个8080,我先给他刺激一下。怎么解决这个问题,咱们先刺激一下啊。解决我们现在需要刺激一下的问题,挺简单的。
18:03
8080好。
我来说两句