00:00
接下来我们再来说一下K8S里边的一些细节,那先来保证我们大家能以最快的方式先用起我们的K8S,那详细的内容大家还可以参照鼓励学院再仔细来听就行了。好,我们先来说第一个我们常用的库controller,这个库controller呢,我们前面在命令台,我们经常在用它,那我们现在库controller到底能做什么,都可以来参照这块的官方文档,每一个呢,我们就不在这儿直接来写了,官方文档都非常详细,来点进来,比如库controller的这个文档,它我们这个库controller是一个命令行接口,它的语法是什么,怎么操作,这一块呢,都有我们库controller一个命令什么什么什么,我们现在呢关注这么几个东西,第一个我们Google controller,我们以前做过这些东西,比如Google controller get,我们来获取一些资源,有个POS,然后呢,我们也获取过s VC service,包括我们获取过node节点,我们能获取当前所有的节点等等,那我们这个到底能获取多少的?
01:00
信息,包括我们库controller,我们之前还创建过一次部署,那它到底能操作哪些资源类型,那这一块呢,文档都说的非常清楚,来点过来点过来,在我们的这个库controller的这个叙述里边,还是之前的这个页面,然后呢,这有一个我们的叫资源类型,我们库controller能获取的这些资源类型,我们全部都可以看到,在这它支持的这些资源类型有我们以前用的,比如noes,哎,如果我们想要写它的缩写呢,是no,诶还有缩写名所,我们想要get no,还可以get no,我们来给大家测试一下我们的CU巴controller get get一个no,走,这跟我们get no信息是一模一样的,所以所有的东西呢,你参照文档就没有任何问题,而且呢,它这个还告诉你了,我们获取的时候要不要按照名称空间来获取,这个是false的,那么以前获取POS是要按照名称空间的,它的简写呢是po,然后包括我们获取过service,它简写是S。
02:00
BC,它按照名称空间的,以及其他各种,我们还创建过部署信息,它的这个简写呢叫deploy,然后它呢也是按照名称空间的,我们可以来进行获取和创建部署等等等等,所有的信息呢,在这儿都会有,然后呢,这是我们的资源类型,然我们说的这个格式化输出,我们就一直往下,我们后来呢会用到库controlrler的这个格式化输出,比如杠O,这个杠O呢,我们用的最多的方式是杠OY的们呢,相当于输出日非常多的一些附加信息,特别对于我们这个pod,我们都能知道portd是在哪个节点上部署的,而我们再后来用的更多的就是这个杠O压慢,这压面呢,就是我们在初学的时候,我们可以看一下cooper notice再来操作一些资源的时候,它到底是怎么操作的,所以雅曼尔呢,其实是对我们这个东西的API定义信息,而且我们现在呢,在这来说一句话,就是在库。
03:00
里边我们后来对所有的这些资源的一些操作,我们要创建一次部署,创建service等等等等,那们这些东西都可以写来写成我们的压面,所以呢,我们除了来敲我们命令行,使用库controller来敲命令行外,如果别人给我们一个压面,我们直接让库notice把这个压面以执行,以运行,我们也会得到我们所有想要的效果,比如我们创建的部署,创建一次部署等等。所以我们后来呢,跟cooperer notice打交道,我们这个压面尔呢就要掌握的非常熟悉,这样我们就可以定义出我们非常多的压面,我们来做非常多的事情,比如我们来定一些pod,让他呢给我们部署进来,我们定一些service,让他给我们暴露服务等等等等等,我们这些东西呢,都可以用雅马尔定义,所以我们后来跟cooper notice交互,特别是有了我们的可视化界面以后,Cooper controller我们都用的少了,我们在可视化界面里边直接我们来定义一个压ma文档以及。
04:00
我们后来的自动化运维,比如我们这个项目要部署到CU notice里边,那们直接为这个项目来编写一个,他在CU notice里边部署到雅麦尔定义文档,编写好以后呢,Cooper notice直接按照这个压面API定义,就帮我们能做好一切东西,怎么后来呢,交互最多的就是这个压面,那这个压面我们是怎么获知,我们在初学的时候,我们肯定不知道压面该写什么,该怎么办,所以我们可以让它为我们生成一些模板,我们可以来测试,我们说压面尔的整体大模板,那就在这它分为四大块,一个是呢叫API version来定义我们这个API version版本信息,还有一个我们这个kind,我们操作的这些资源类型,我们有po的,有service,有各种等等,我们后来会说,然后还有Meta data,我们要定义的一些源数据,接下来就是对我们要操作这个资源的一些规格定义,比如我这个pod pod里边呢有containerers,我们这个containerers就是有容器,我们说一个pod里边。
05:00
有多个容器,或者我们这一个容器,所以我们在这来定义,我这里边有一个N几容器,它用的镜像是N几,然后它暴露的端口,包括是多少,你在这一块呢,都可以定义所有的规格信息,所以以后就是压ma,只要写的好了,我们的cooper notice用起来就简单了。那么接下来继续看我们常用的操作,包括我们这个使用Google controller,我们一些常用操作在下边呢,都给我们示例了一下,如果我们以后有了压面,我们常用的就是这个命令叫cooper controller play-FF呢就是以文件的方式来应用上一个文件,比如这个文件就是来。帮我们来暴露一个服务的,所以我们这一句话替代的就是我们以前cooper controller create创建一个什么service,我们相当于为一次部署创建一个暴露一个服务,Export,诶我们是export,我们暴露一个服务,所以这些东西呢,我们都可以编写成这个压面文件,比如我们来举一个例子,正好来用一下它的这个杠O压面,来举一个例子是这样,我们以前呢,使用过这个命令,我们来创建过一次部署,来给大家看一下,我们一次呢,以前呢创建过这个,我们让它部署一个TOCA6我们以前是这样子的,我来复制一下走,那如果我们以前用命令行让它部署的话,那就是这一行命令,这行命令呢,我们来可以敲一个杠杠help。
06:26
那这个help里边会告诉我们还会有一些提示,比如我们在这个命令里边,我们来加上一个这个东西叫抓RA,也就说我们现在呢,就是来测试一下,我们这个并不是来真正执行的,所以我们就来加一个抓on,抓RA,好,现在呢就来只是测试一下,我们并不真正执行,那测试的时候呢,我杠O让他输出一段压麦,我来回车,诶我们看到呢,这就是我们其实想要部署一个他们看六的压面尔定义信息,那这个压面定义信息按照我们之前的分层,那就是这样,API version,那在这还要看的me data,以及我们的specific,我们的规格信息,规格信息里边呢,就有这么多的东西,比如我们这次部署是这个样子,然后它的label标签是什么,名字是什么,而且呢,复制几份,默认一份s select,它现在呢,就来匹配我们这个,诶我们看到标签呢,这写的APP to cat6他就来找到。
07:26
PAPP他们开的六,两个一模一样,然后呢,接下来定义我们模板的资源信息,创建时间什么的,这些我们都可以不用,这有一个specific,我们的这个模板里边的这个规格信息,那TOMCAT6要用这么一个容器,然后它的名字叫TOMCAT6,所以其实我们只要有这段压面,我们也能部署,比如我们来给大家举一个例子,把这段压面我让它重对向输入到我们的这个,他们开特六这个压面里边,好,我们来LS,你看到呢,这有一个Tom k6压面,来修改一下汤姆K6压面尔。
08:05
好,来拍,我们把没用的这些都删掉,Meta data这个创建时间啥的没啥用,MYESC退出插入模式,DD把这个删掉,Name这些留下规格这里边,诶这呢能设置,我们现在复制几份,它默认呢是一份,比如我改一个三,然后呢,Select我们留在这,这些空的东西,没用的我们都可以来删掉,包括stas,其实是它的健康状况检查信息,把这一块呢,我们都来删掉创建的标签,好,我们在这个termate里边,我们相当于定义了一个container容器,那就是Tom k6,我们是用这个镜像,那们现在把这个压面呢,我来修改了一下,我们让它部署三个,好,我来WQ保存,我想应用我们这个压面怎么办呢?直接一个命令库包controlrler,啊,不对,然后呢杠F,因为我们是要应用一个文件,接下来呢,我们就叫TOMCAT6压面,如果我们来运行这个,我们看会是什么效果走。
09:04
好,这一块呢,接下来他告诉我们,他们CAT6这个部署已经创建了来库controller来get一个ports,来看一下这个信息,诶我们发现这个pod在三个节点都已经出来了,所以我们直接呢,只要有一个压慢就能替换我们来写超长的这个命令,那么后来呢,都会经常使用这个雅马,这是我们说的雅马尔的重要性,那继续来到我们这个文档里边尔,所以以后我们的所有操作都是来围绕这个压面,大家呢要对这个压面会有很多的感觉,以及我们的这个暴露服务其实也能来做压面,比如我把这个暴露服务CTRLC我复制过来,我看它暴露服务的时候到底呢是做什么事了,当然我们不直接运行,直接运行那就暴露了,我让他呢抓run一下。只是来测试一下这条链命令,然后杠O输出一个样面,我们来回车,我们就看到在这呢,接下来我们会发现这个看的叫service,我们的第一个Tom kt6的看叫deployment,大家看一下count,我们Tom k6面它呢叫deployment,所我们这种看方式的不同就决定了我们最终效果的不同,我们这呢是相当于暴露服务,暴露服务呢,我们这块端口什么都指定好,然后呢我们类型呢是note point,我们现在以这种方式暴露出来,那这样他随机为我们来分配一个端口来进行访问,所以如果我们使用这端压面其实也能暴服务,就跟我们使用这个命令行是一模一样的,所以大家下去呢,可以把暴露服务来用压面来测试一下,那这是我们说的这个压面,包括库波controlrler,到底呢,我们能运行多少种命令,我们都可以来参照这个文档。我们现在用的。
10:56
它非常多的什么Google controller get create,创建一个deploy,然后exp暴露一个服务,然后我们这刚才还用了一个叫apply,我们应用一个配置文件,到底能用多少,在这一块呢,全部都有,大家就来参照文档,前期呢就照着文档试就行了,比如我们这create,艾,我们之前创建创建过一个什么呢?我们创建过一个deployment,我们来找一下在这儿好创建过一次部署们来部署哪个东西用哪个镜像,在这呢都有,我们这呢有create,有以前我们用的get命令在这也都有,包括我们之前来做扩容的时候,我们这个命令在这也都有,以及我们这个应用管理里边,除了有扩容,我们之前的这个apply,诶,Apply这个命令我们刚用过了,Apply-F,所有的其他命令大家都可以来去继续参照,这是我们说的这个压ma,大家现在要对这个压面有一定的感觉,我们后来呢,要经常使用这个压ma,我们还可以来获取我们已存在的这个pod,我们来看怎么定义。
11:56
Port库controller有一个get ports,我们get ports里面呢,我们发现这有这么一个portd,我们可以看一下这个portd的整个描述信息,所以呢,我们这个portd我们可以这么来做,我们直接来get,我们把这个资源名直接都复制过来了,复制过来以后呢,如果我们使用这个get,他呢会给我们来打印出这个信息,我们当然要get port啊,我们现在获取到了我们这个port的信息,我们看这个portd它是怎么定义的,我们就可以杠O我们的牙门走,我们输出来pod呢,其实就是这样,我们完整的信息在上边,好我们能看到,诶看我们又见到了一种叫pod,它定义了一些Meta data这些信息,包括它来指定我们这个pod里边呢,有一个容器,这个容器就是Tom k6,那这个容器挂载的目录在哪里?它DNS的一些策略,所有的安全策略在这一块呢,都有定义,所以如果我们自个儿想创建port。
12:56
也行,我把这些东西,比如能默认的全部删掉,我们就留一个API version port me data,然后指定的规格里边来创建一个具有两个容器的portd来给大家看一下,还是这个,我们让它重进向道,我们的my portd牙面点一个面,好,以前呢,这个pod长的是这样,我们来VI编辑一下my pod阳面走,我们如何定义pod,那就是can,我们来定义成port就行了,加Meta data这没用的信息我都删掉,就留一个label port的这个哈希我们也删掉。名字这一块我们可以自己来指定一个pod的名字,比如我们就叫他们CAT6之类的namepa这一块好,剩下的东西我们都删掉,除了namepa好这一块我们全删掉,留下最简单的我们能用的,剩下这一块呢,我也删掉。
13:53
那最简单的port的创建信息,那就是这样,我们把这些都删掉,给大家看一下。
14:01
这是status,我们这个状态统计信息,因为pod都运行一段时间了,所以它的这个状态信息在这都有保存,把这个全部都来删掉。好,那现在最简单的方式呢,就是这样,API version v1,然后我们的kind,我们这个资源类型是一个portd,我们相当于要定义一个pod,这个portd呢,它的名字叫Tom k6,比如呢,我们就叫Tom kt6,我们新的我就来加一个六,好,那现在名字呢,就是来Tom kt6,那这个Tom k6我们在这来给它指定了,它使用我们这个镜像,Tom k6这是一个,但如果我们在这呢,有另外一个镜像,我们还可以在这指定,然我们在这指定的时候,Name给它也指定一下,我们叫com开六六,然后呢,接下来我们再可以来指定一个镜像,比如image,相当于一个pod里边有两个镜像,这个镜像呢是N,然后镜像的这个拉取策略不存在的情况下呢才拉取,我们也可以来加上,比如image,我们的to policy,我们也叫if not present,如果镜像不存在,我们就来拉取,我们定义了一个port,里边呢有两个镜像。
15:15
WQ,我已保存加入我们这个port呢,我们就可以使用库波controller来play应用一下杠f my port压面走,我们这个面里边那是少了信息了,重新来编写一下。来镜像下边这一块呢,我们也得写一个name来定义资源,我们在这来写一个name,这个name呢,我们比如聚叫NX,好,WQ保存来重新来运行一下,好,我们现在看到库,Controller play,杠F,我们就这个pod,他们盖的6NEW已经创建出来了,那K8CONTROLLER get一个ports,我们来看一下,那Tom get 6new,它里边呢,其实有两个容器,所以我们接下来就创建了一个portd。
16:01
所有的资源我们都可以获取到他的样ma创建模板,那他这一块呢,只要我们准备好,创建好他所有的东西呢,就创建成功了,好,我们在这一块就不看了,那所有的文档,那么以后呢,就要习惯这个样面,那么下节课再来把其他的这些我们再来深入的理解一下,我们整个cooper notice我们就能用起来了。
我来说两句