00:00
好,那接下来我们就进入到流水线的第五步,在前面第四步的时候,我们已经把所有的镜像都推上去了,有了这些镜像,我们第五步就可以让KYS下载这些镜像,并把它呢部署成pod,部署到我们平台上。而这个第五步操作呢,我们在这直接点击编辑流水线来到这有一个叫develop to d,先把它deploy,我们呢就先把它,我们就叫部署到我们叫dev环境,其实在这一步呢,我们会发现我们这个流水线模板里边有两个,一个呢叫部署到dev环境,一个叫部署到生产环境。我们在公司开发的时候呢,我们也可以这么来做,比如我们有多套K8S集群,我们当前的这三台机器属于DV,我们开发集群,然后呢,我们甚至于有我们的这个测试集群,然后呢,接下来甚至于有我们的生产集群,那这样我们先让默认的这个代码都部署到开发集群,我们或者测试集群通过了以后呢,我们再让他部署到生产集群。
01:03
那么现在就来说这个部署到DV环境的事情,因为我们现在就有单级群,在第一环境这一块呢,大家会发现。在这里边儿呢,没有说指定容器,然后呢,它有两个操作。默认给的模板有两个操作,第一个操作呢叫审核,第二个操作叫部署,这两个操作可以给大家看一下。第一个所谓的这个审核就是呢,我们相当于把这一块有一个东西,我们叫人工卡点,就是可以走到这一步的时候,流水线暂停,当我们某一个人点击确认了以后,流水线继续往下走,包括这个卡点呢,我们还可以艾特有权线的人来确认,比如要不要部署到开发环境。我们可以艾特我们的dev,因为我们系统里边当前项目里边有几个人,所以我艾特流,Dev流呢,你给我确认是否是否部署的。开发环境。
02:02
那这样的话呢,只有第一位流登录到我们的这个系统里边,他点了确认以后,才能把这个应用部署上去,当在开发期间呢,我们就可以不用这个卡点了,真正要部署到生产环境的时候,我们可以有这个卡点,那我呢可以把这个卡点去掉,去掉,然后呢,接下来部署到DV环境。在我们这儿呢,还有一个步骤,这个步骤呢,我们点开这个步骤啊,其实是其实是我们这个cooper给我们整合的一个啊,提取过来过来的步骤,叫我们按照一些配置文件,把它呢部署到K8S集群里边。那有了这个东西呢,我们以后啊,每一个微服务想要部署到集群里面的微服务,我可以这么来做,在微服务里边这有一个deploy这个文件,然后文件夹,这个文件夹里边呢,有一个deploy压面,这个页面里边呢,其实就声明了我们这个应用该如何部署到K8S平台上,比如我们会部署一个deployment。
03:01
然后呢,用哪些镜像,包括在这写镜像的时候也可以。也可以用到我们整个金s fair里边,之前呢,你在这定义的一些环境变量,就是这就是说万物都可以是动态的。那我们在这呢,指定好镜像以后,它给我们部署,不仅会部署我们这个pod,然后呢,还会自动给我们产生负载均衡网络等等等等,那好,那我们现在呢,以后我们想要用到这一块部署到生产环境。我们只需要呢,用它的整个,我们这个如何部署到生产环境,部署到K8S集群,我们就用它的整个默认规则,默认规则呢,未来我们开发的所有微服务,给每一个微服务,每一个微服务。准备一个比如deploy点压面,这个压面呢,就是我们K8S的配置文件,K8S的部署配置文件。
04:02
来这个文件呢,我们现在不着急在这写。有了这个文件以后,可以使用CU fair给我们已经抽取过来的步骤,比如这个步骤如果我们在这写的话,就是这个叫cooper notice deploy,这个呢已经被cooper抽取好了,然后呢,在这我们就来说一下配置文件的路径就行了。所以接下来就来指定这个步骤。执行这个步骤执行。执行。以下步骤。这个步骤,这个步骤呢,就是来部署的,而这个步骤里边,我们相当于只需要有一件事就是呢。传入我们这个部署配置文件的位置就行了,传入。我们的这个deploy压面。的位置。就能部署。但是呢,这个部署这一块,我们现在还得做两件事儿。如果真正的我们要部署,其实在底层呢,是要运行这个命令叫库controller,对吧,Play-F把你的这个配置文件呢在这儿一传。
05:09
而要运行这个命令呢,就得有权限,比如我们看到我们以前K8S的集群里边,我只在master节点,我想要运行cooper controller命令,比如get pod,我是不是可以运行,而在其他no的节点是没有这个权限的,比如库controller get pod回车,哎,我们会打印呢,说明这个有问题。能有权限的原因在这儿。在我们的这个root这个用户目录里边LS-al吧,来看一下在root用户目录里边呢,有一个点库这个文件夹。我们CD到点库这个文件夹里边,然后呢,点库文件夹里边呢,有一个config。我们来给大家看一下config,这个config呢,其实就是我们集群的库,Controller的这个权限配置文件,权限配置文件呢,说我们如果你运行命令要去哪一块,这是K8S master的什么6443地址,包括呢,我们有一些授权的这些信息都在这。
06:10
也就是说,我们如果想要在底层部署的话,我们其实也得有这个。所以呢,在我们流水线文件里边,最重要的一件事就是在这个部署步骤里边,我们看到默认的设置呢,这有一个叫什么cooper conicial ID。也就是说,我们先得呢做一件事。叫新建凭证,这个凭证呢,就叫库包conf,就说我们把库的权限文件,其实这个权限文件你看就在这儿,就是说呢,你在新建凭证的时候,你也可以把你的粘过来,那实际上呢,你不用粘这一块,默认的就是提取你的,所以这个凭证ID呢,我们来写这个。在以前人家给我生成的金film模板里边,有一个叫cooper cond ID。叫他。DEMO好,我点一个确定吧。
07:01
那这样的话呢,它会动态取值叫Dollar符取出它,所以呢,我们在部署期间,它会动态把这个环境变量的值取出来。来找一下它引用的地方就在这儿,然后呢,它会引用这个配置的值,而这个配置呢,其实是一个K8S的整个权限配置文件,所以呢,只要有了这个权限文件,最关注的最重要的就是在这儿,只要有了这个权限文件,接下来呢,你传入我们的这个压面所在位置就能部署了,所以这是一个部署到低V环境。我把其他的这个呢,先注点,那部署到DV环境呢,我就写好了。我来点击确定。好,这时候呢,我们部署到DV环境,我来测试一下,当然在这一块呢,我得变上一个东西。配置文件的路径呢,不一定在这儿。我们每一个微服务有它自己所在的路径,当然我们需要进到这个叫hospital。我们的整个项目源代码一下载来,我们得进到他每一个微服务的deploy一下,所以呢,在这儿我传的路径是。
08:08
这个微服务的。Deploy。文件夹下边的所有压面。所以我就写双星都是我们K8S要执行的文件,所以大家会发现我这么一写以后我只相当于把一个微服务部署到第一位环境了,所以我接下来是不是又可以添加并行阶段来做事了?所以我现在呢,必须阶段随便在这写一个东西吧。我先点击保存。然后呢,我把这个JS复制过来。Ctrl a ctrl c。Ctrl a ctrl v。然后呢,我们复制过来以后,我们来看一下,我们在这儿部署到dev环境的时候,我们现在呢,就挨个来说hospital部署到dev环境。然后呢,那接下来其他的人,每一个微服务,我们又可以让他在这儿。
09:04
调用我们的这个部署。啊,接下来呢,就是server getway server getway的话呢,只需要改一下server getway它的deploy面的文件位置。那就OK啦,然后呢,接再来接下来。把每一个人。我们都拿过来,这是又是一个并行阶段,Serve getway有了以后呢,是server。Service c mn。Service c mn呢,它的位置比较深,是在service下的。Service c mn。下的deploy,大家看我们这每一个项目呢,其实已经有了这个deploy提前写好了,所以大家以后呢,遵照这个规则,部署起来就非常简单,你在每一个微服务里边,把你的这个部署文件,如果我们开发人员不会写这个呢,就是运维人员应该写好的东西。
10:00
那在这个部署文件里边呢,放到这儿那就OK了,这个CMN就好了。接下来是这个服务。当然。我们最可能。复制这个service c mn的。就多复制几个,然后呢,接下来部署hospital。这个为服务。点开我们只需要呢,把这个微服务的地址一改。将来是order。点过来。我们也只需要把这个地址一改。接下来还有的这个oss对象存储。对象存储地址已改。还有我们的这个SMS。地址已改。还有一个呢,我们叫static。
11:01
我把这个地址一改。还有一个叫task。还有一个叫user。改完以后呢,去掉。那这样的话呢,每一个微服务的部署我们就写上了,其实呢,就是调用库给我们已经整合好的去K8S的部署方法,在这个方法里边呢,我们传入我们的这个部署用的牙面位置在哪就行了。但是写到这呢,还没完,为什么?因为如果我们要部署的话,K8S自己要下载这个镜像,而这个镜像呢是在私有仓库的,所以呢,在这个配置文件里边还写了一个这个叫image。就是我们下载这个镜像用的这个叫账号密码,这个账号密码呢,因为我们要去阿里云下载,所以用的是我们阿里云这个容器镜像服务的账号密码,所以想要用到这个账号密码,你提前就得把阿里云的账号密码配置一下。
12:10
之前我们在流水线上呢退过,但是呢,那个只是流水线用的,所以接下来我们要做的事情是来看一下啊,在这个凭证里边。啊,流水线凭证里边没问题,我们之前的阿里云账号密码是这个,那我来点一个创建吧。我们的这个名字呢,应该叫阿里云的这个docker have账号密码呢在这儿。我登录阿里云的账号。大拿过来一下。密码。好,我点击确定,然后呢,这一块账号密码我就配置了,其实呢,在这配置还不够,甚至于呢,其实不用在这配置,而应该在这配置在我们的项目管理里边,因为我们部署的每一个应用,未来会在上医通这个项目里边,所以在上医通项目里边呢,我们应该配置一个我们称为这个比如密钥。
13:08
我点击创建,我可以创建阿里云的这个账号密码。在密钥里边,我点击创建阿里云的账号密码呢。因为我们在这一块取值是用阿里云do。然后呢,密钥的类型,我们选择是镜像仓库的密钥,一定选中这个,然后呢仓库地址。仓库地址,我们把阿里云的仓库地址拿来。CTRLC,所以呢。在流水线的那一块配置,大家不用配了,因为那个东西呢,它不是我们后来用到的。然后呢,以及用户名。而真正呢,是要在我们项目里边配。和密码。最好呢,我们来验证一下。
14:00
哎,我们发现呢,能访问镜像仓库,那就对了,我点击创建。那这样呢,相当于我们在整个我们上一通项目里边会有一个阿里云docker,那这样的话呢,我们K8S在部署期间就会拿阿里云dockerb这个账号密码去访问阿里云仓库,把这个镜像下载来,再来进行部署。而且呢,我们每一个部署大家注意name space都是his,因为我们接下来呢,每一个微服务都是部署到这个项目里边。叫his这个项目,而每一个his项目呢,我们说在底层其实就是K8S的一个name。我们在这开的一个项目就是一个namespace,大家看一下。我们这个his项目是一个name space,所以呢,这个配置文件提前已经写好了,如果大家在自己的微服务里边想要写这个配置文件,你要改的呢,只是每一个微服务改成你自己的微服务名,你CTRLR全选。在这呢,一改就行了,包括下面呢,镜像呢,改成你的,以及我们这个去镜像仓库的账号密码,如果你当时这个账号密码引用的ID不叫他,那你就改成你的位置就行了,剩下的都不用动。
15:12
那么这个呢就写好了,我来测试一下我们能不能进行流水线部署。工作台来到我们戴维奥斯项目。确定一下我们的这个流水线。这个流水线呢,整个这个部署我现在用成我们的金克fair,因为我们的金克斯fair呢,已经在这并发部署,在这都配置完了。所以在这呢,大家一定要注意上我们的这几个使用步骤,而且呢,一定在项目里边,比如呢,我们是这个his项目,不是流水线项目啊,不是流水线项。在项目里边。找到配置,找到配置。密钥这个位置,然后呢,接下来。密钥。
16:01
先来配置一个,配置一个阿里云的访问账号密码。当然如果我们公司是自己的har仓库,那这一块呢,就配的是har的账号密码,那我们现在这一块在我们的整个case项目里边。你只要把这个密钥配了就行。截图呢,给大家留在这儿。步骤一个都不能少,因为如果我们缺了这个密钥的话,我们就访问不了镜像仓库,那我们自然K8S就帮我们下载不来镜像,那我们的部署也就不会成功。好,然后呢,接下来整个的金克斯菲,Ctrl a ctrl c。来到我们的流水线项目里边。流水线就在戴维斯项目,普通呢就在普通项目。大家要区分开,好,我来编辑金,Fair c a CR v。在这点一个确定。好,大家发现呢,接下来的整个这个部署又是一个并发部署,只要上一步镜像推过去了,加下一步呢就能部署,而且在部署期间。
17:10
我们这个de压面里边也写的是用什么,因为上一次呢,假设是第16号构建,那就是我只拿第16次构建的这个镜像,我来参与部署。相当于我们就是一个整个滚动更新的过程。好,流水线写完,我们下一节课可以来进行一个测试。
我来说两句