00:00
各位大家好,我们继续来学习K8S,在之前内容中呢,我们讲到了在K8中一个核心概念pod,包括pod的调度,那咱们下念继续来学习K8S中的另外一个核心概念叫做controller。CTRL了呢,咱之前提到过,它作为一个控制器里边能实现很多功能,那下面给各位就来具体说一下这个CTRL中的机会内容。那在里边呢,主要给大家来讲这么几个东西,我把这个内容先给大家列举出来。首先第一个咱先说一下,就是什么是controller。就是这个controller到底它是做什么的,然后第二个给大家介绍一下这个pod。和ctrler它们之间的一个关系是怎么样的,就是CRL跟PD他们分别做什么事情,之间有什么关系,然后介绍之后第三部分给各位说一下,就是这个CTRL里边,因为它有很多ctrler,包括咱之前介绍过,比如里边它有这个。
01:08
确保pod副本数量的无状态应用,有状态应用,包括一次性任务等等。而这里边有一种最常用的这么一个controller,它叫做ment,所以给大家介绍一下这个deployment。他的这么一个。控制器的一个应用场景,把这个给各位自我介绍,就是deployment。然后再deployment控制器应用场景介绍之后,第四个呢,给大家来介绍一下,比如说我们现在用deploy这个控制器来部署一个应用,然后这里边那个样么的文件,它这里边的字段我们该怎么去写,就是一个字段的一个说明,这个第四个,然后第五个呢,给各位说一下,咱就开始用这个。
02:00
Deployment这个控制器来实际去部署一个应用,咱们看这过程应该怎么样,包括部署应用之后,咱们在这过程中通过第deployment控制器来实现一个叫升级回滚。包括里边咱们做一个叫弹性的一个伸缩。所以这个啊,是我们要讲到的控制器中的一个内容,给各位再重复一遍。第一个咱们说到什么是controller控制器,包括controller和po的关系,以及在control里边一个最常用的控制器叫deployment,因为这是最常见的,包括咱之前做的应该一直用它。另外我们要做到一个deployment,它的让文件中有哪些字段,以及说完之后我们用deployment实际去部署一个应用。包括部署之后,咱们来实验一个基本效果,包括它的升级回滚,以及里边的弹性伸缩,所以这个是我们在CTRL里边给各位要讲到的这么几个内容。
03:05
这各位给他知道,然后说到之后,咱下面就具体看一下,我们那种,首先我们看第一个就是什么是crler,就关于CTR的一个介绍。这个啊,给各位来说一下,其实这个东西呢,我们在之前应该是提到过的,Controller呢,它其实主要做的事情是什么呢?就是在我们的集群上管理和运行容器的这么一个对象,也就说controller呢,它是实际存在的,不像咱这pod是一个抽象的概念,CR的是实际存在的,它主要是管理和运行容器的一个对象。这个啊是一个描述,然后在control里边呢,其实有很多种controller,比如说这里边一个最常用的是咱一会儿说这个叫无状态的,就是deployment,包含有状态的,保持副本数量的等等有很多,所以这是CTR的一个基本的介绍,给各位来写一下。
04:06
就这个ctrler,它的作用就是在我们的集群上。管理和运行容器的这么一个对象,所以这是第一个对它一个描述,Ctrler是我们K8S或者说k net中一个核心的概念,它和pod同等重要,这是第一个啊,然后这个说完之后,我们来看第二个,第二个呢,给大家来说一下这个pod和controller之间它们有什么关系,因为这两东西在里面都存在,而它们有什么关系?来说一下。和ctrler它们之间的一个关系,给大家说一下啊,就这个pod呢,其实啊,它是通过我们的ctrler控制器来实现应用的运维,比如说你做一个应用的这个部署,包括伸缩,包括滚动升级等等,这是他们之间的一个关系,我写一下啊,比如说现在我们这个pod。
05:06
它是通过这个controller。来实现我们里边这个应用的一个运维的,在运维里边就是比如说你这个用的一个伸缩。包括你什么一个滚动的升级。等等操作,这些都是通过控制器来做到的啊,这是他们的关系,就是通过controller来实现pod的这么一个运维,这个这个关系,然后在这个操作中咱们说到啊,就是这两个他们之间是怎么建立关系的,给大家说一下,就是里边的第三句话。给大家写到这个位置啊。就是我们这个pod和controller,它们之间是通过什么建立关系的呢?给大家说一下啊,在我们这里边,其实它有一个叫label的一个标,它是通过label这个标签来建立这么一个关系的。
06:10
啊,建立关系,这个是他一个描述,那这关系怎么建立的呢?给各位我来画一张图啊,咱们来看一下啊,就是它里边这个关系的一个建立,那我现在把这图给大家画一下。比如现在呢,我这里边有这么一部分,就是我们说那个ctrler控制器。而控制器呢?在我们的术语中,它还有一种叫法。它也可以叫这个叫工作负载,就是work load。工作。负载。这个跟控制器一个意思,然后在这里边,比如说我们现在有很多这个就是pod啊,比如现在我们有三个pod啊,就简单画这么三个。这个啊,是我们说那个pod。
07:00
我画到这个位置,然后在里边给它做一个简单的标注,比如说这是一个pod。然后这个又是一个pod,这里边还有一个pod,而现在我这个控制器跟pod是怎么建立关系呢?它是通过一个label标签,那怎么做到的,给各位说一下,比如说我通过控制器要去运维这些pod,那怎么找到pod呢?第一个。我们需要在pod里边呢,给他先打一个标签,我们用个label。别人叫。Labels,然后里边比如说我这里边有一个名字叫APP。然后它的这个值就是咱叫ndex,那这样的话给他就打了一个labels的这么一个标签啊,用它来做的,然后打完标签之后,咱们需要在我们的控制器中给它打一个相同的K和Y6这个标签,就这里边我们还需要再打标签,但是它的K跟Y6要一样,比如里边我来一个叫s select。
08:03
就咱说那个选择器嘛,然后里边我加个APP,它的值是N,所以你看到啊GAAPP和N是不是一样的,所以它就通过这个label标签来找到控制器,对应这个pot,对它进行这么一个运维的管理,比如说伸缩,比如说滚动升级,所以这个啊是它里边这个特点,通过label还有这个叫selecter标签,建立它们之间的这么一个关系。这个啊,各位给他知道。这是我们提到的pod和controller之间的一个关系的说明。这个做了一个介绍,然后介绍之后我们再来看我们内容中的第三部分,第三部分呢给大家说一下,因为咱们现在控制器刚才我提到有很多,比如你有状态的,无状态的,定时任务等等很多,咱现在给大家介绍一个最常用的控制器,就是这个叫deployment,那我下面给大家说一下这个。
09:05
Deployment它的一个应用的场景什么样?就是它在什么时候或者什么地方我们进行使用,给各位做个说明,咱后面都会有具体例子,把这做到来给大家说一下啊。它的场景,它的场景有很多,首先里边就是第一个场景,有一个最常见的,我们用这个deployment这个控制器可以部署一个无状态的这么应用,比如说我们这种web这种应用,比如咱们之前部署那个index都是一些无状态应用,当时咱们应该都是用那个第deployment的方式做的这么一个部署。啊,这是一个,然后除了他之外,这里边还有一个场景,它可以管理咱这个pod。还有里边这个叫。P Li。CA。
10:00
Site就是管理它的副本这些数量,这个咱之前也做到过,比如说咱之前建立一个web,用这个a play case,然后在里边也做到了这么一个副本的一个创建,后面咱也都会有例子啊,然后它就具有比如我们这个上线的部署,包括你滚动升级等等这些功能啊,就是我们这个。部署,包括滚动升级等功能。这个啊,是deepment中一些比较典型的场景,所以它一般用于什么呢?主要是一些无状态应用,比如说我们的web服务,比如说微服务等等,一般都是用第deployment做到,这在实际中也是比较常见的,就是它的。应用场景一般用在我们的web服务,或者说你的微服务中,因为里边有很多你要互相访问,互相调用,那这个时候用我们这个deployment应该是更加的合适。所以这些就是关于我们这个control的一个基本介绍,给各位重复一遍啊。第一个controller是在集群上管理和运行容器的一个对象,它是实际存在的,我想pod抽象的,而它的功能更加强大。它跟pod关系是什么呢?Pod是通过控制器实现运维的管理,比如说伸缩,比如说滚动升级,然后他们之间怎么建立关系,通过label select标签建立关系。另外deployment一般用于部署无状态拥有,比如说我们的web服务,比如说我们的微服务,这些用deployment这个控制器都可以做到。
11:39
所以这个是关于对于它的一个基本介绍啊,给各位做个说明,然后下面咱们介绍到它的样文件的特点,包括咱们实际会部署一个第一门的控制器,包括部署应用,以及它里边一些加部分,所以现在给各位这个介绍,各位对它需要一个最基本的一个认识,然后咱们下面通过一些具体例子给各位详细会演示一下。
我来说两句