00:00
好,那前面呢,我们部署好了K8S集群以及它的可视化界面,那接下来我们就可以进入实战部分了,包括我们这个可视化界面,我们发现呢,它如果有一段时间啊,你不操作的话,它也会退出,所以呢,你可能每隔一段时间,你需要重新利用我们刚才的那个令牌重新登录进来,好那么现在进入实战的操作环节,这样呢,我们来在操作所有之前,我们先来说一下K8S里边资源的创建方式,所谓的资源创建方式就是K8S集群里边未来会有非常多种像这些东西,对吧?我们现在虽然不知道它是啥,但是呢,每一种这个东西我们都称为K8S里边的一种资源,或者你把它叫K8S里边的一个对象,官方呢,还叫K8S里边的一个对象,所以呢,里边有各种各样的啊,不同类型的资源,你想要创建这些东西呢,可以有两种方式,那第一种方式呢,你可以使用命令行,你记住了K8S很多的。
01:00
并令行,然后第二种方式就是压面,所谓的这个压面就是我们之前操作的时候,大家还记得没,我们经常给K8S里边包括部署一些网络插件或者部署什么,我们只要有这个呃,资源的这个配置文件,也就是这个对象的配置文件,我们只需要一个命令库,Controller apply-F也能把这些东西创建上来,所以呢,接下来我们的学习主要就是围绕这两个,我们看好多的这个资源,如果我用命令行怎么创建到K8S集群中,如果我们用压面尔文件怎么创建,那接下来呢,我们就先来说K8S里边第一种核心资源叫namepa,翻译过来呢,我们叫名称空间,名称空间呢,从大家一开始学习以来,无论你是开发人员还是什么运维人员,那从一开始接触名称空间,它呢只有一种作用,就是用来隔离资源的,对吧?名城空间是用来隔离的,或者呢,我们是来说对这些资源呢进行分组的,而K8S里边的名城空间呢,也一样,它是来。
02:00
隔离资源的,比如我们来看一下这个简单的图,我们K8S里边的名称空间,它就是对集群里边的资源进行隔离划分,而且呢,默认只是隔离我们这些资源,不是隔离网络的。我们来举一个例子,比如QS集群里边有三台机器,我们接下来想要部署一个应用,比如这个应用A和应用B和应用C,我们这三台机器呢,我们都部署了,而且应用A呢,有它的这个配置,配置信息我们把它叫应用的啊,这个配置A,然后呢,应用B的配置信息我们叫配置B,因为C的配置信息叫配置C,假如这些应用呢,是我们生产环境的,所以呢,像这些应用它们的共同特性,我们就可以给它放到同一个名称空间里边,这个名称空间你可以成为叫生产环境,那这样呢,相南只是给程序员做一个标识嘛,大家都知道啊,只要我给这个名称空间里边的所有东西都是生产环境下的啊,别乱动对吧?然后呢,如果我们是测试环境说或者开发环境,我们呢,比如想要部署一。
03:00
的应用,比如应用A的这些测试环境里边应用C的,但我忘了写第一了,这都一样了,包括应用A的一些配置,在测试环境里边的配置,应用C在测试环境里边的配置,反正这些资源呢,我们可以给它归为一类,比如呢,我们放在测试或者我们的这个开发环境下,所以呢,我们是一般通过这个名称空间来对资源进行一个隔离划分,而且一隔离以后呢,能保证的一点就是我应用A,如果想要引用配置,只能引用我我所在的名称空间里边的配置,把我们别人名称空间里边的配置,比如你明明是生产环境的,你非要引用人家开发环境的配置,你是引用不来的,所以呢,资源是隔离的,但是呢,它不隔离网络,网络也就是说我们应用A想要访问应用B想要访问我们这个呃,生产环境的,或者访问我们这个呃,开发环境的应用C,其实网络上呢,都是能访问的,只不过资源是隔离的,但后来呢。
04:00
也可以设置网络访问策略,让他们网络上也进行隔离,这是我们说的名称空间,那名称空间呢,我们可以看一下,在K8S集群里边默认默认已经带了很多名称空间,看这些,这就叫命名空间,K8S的命名空间,像这几个都是K8S系统啊,一装上就带的,我们装了一个K8S的控制面板,控制面板呢,装在它的控制面板名称空间下,然后呢,接下来还有一个叫devot默认名称空间,这就是所有的名称空间列表,我们在可视化界面能看到,当使用命令行也可以看到,比如库ctrl get,想要获取K8S里面的某一些资源,都叫get get什么呢?名称空间你写全称name space,或者它的简称叫NS,回车我们会看到有这么几个名称空间,对吧?有deat什么什么什么什么什么什么,这些都是名称攻坚,所以另外呢,我们再给大家看一下,叫cooper controller get post。
05:00
P子呢,我们说这叫给K8S里边部署的所有应用,每一个应用呢,我们称为pod,然后呢,如果我写一个杠A,我们就能看到应用的名字呢,在这儿每一个应用有它所属的什么,是不是名称空间呀,对,所以呢,这就解释了我们刚才说的,哎,我们每一个部署的东西,它有它所在的名称空间,那为什么我刚才要看K8S集群里边所有应用,我是使用get POS-A,而如果你使用get pod或者get POS,你会发现没有任何打印,因为呢,Get POS只获取默认名称空间,就是这个default,这个名称空间下呢,我们没有部署任何东西,所以呢,你是看不到的,你只有呢杠A能看到集群中所有的,比如我只想看在我们CU DA bird这个名称空间下部署了哪些应用,怎么看呢?那你就杠N-NN就是name space对吧,我想看。
06:00
应用就是pod,我们部署的每一个应用我们都叫pod,然后呢,我们指定一个名称空间,它呢就会给我们打印两个,诶就是这两个跟我们用所有查出来的结果是一样的,我们这个名称空间下只部署了两个引用,这是我们说的名称空间操作,但名称空间大家记住一句话,我们接下来呢,所有创建的资源,你在不指定名称空间的情况下,默认都部署到了default名称空间,如果你想要删名称空间,创建名称空间,反正先给大家删一个啊,Delete,如果你想要删名称空间,Delete name space,我们这些集群默认的这些东西你不要删,你可以尝试删一下default回车,人家呢也是拒绝的,因为这个名称空间呢是不能被删除的,因为这是默认的,但是你创建的一些自定义名称空间就可以了,比如库controlr了。如果我们想要创建一些名称空间,我们可以使用这个命令叫create name space这。
07:00
这就是我们说的用命令行的方式给我创建一个hello回车,哎,我们hello的名称空间就创建好了,我们可以看一下get ns hello这就有了,甚至于我们在这个可视化界面全部名称空间里边,诶这就有hello了,对吧?然后呢,这是我们hello名称空间,当你创建完想删呢,使用命令行就是delete名称空间,然后呢,我们叫hello车,我们名称空间呢,也就删了,而且呢,我们删除名称空间,会把这个名称空间下部署的所有资源连带删除,所以呢,大家要谨慎删除,如果你名称空间以前你布了很多东西,所以大家看到,哎,我们hello名称空间就又没有了,所以呢,这是我们使用命令行的方式创建删除以及查看名称空间,嗯,我们来看一下我们的文档,就是这个创建呢,就用这个删除呢,就用这个,那我们能不能用资源配置文件的方式,就是我们说。
08:00
那对象配置文件的方式那也可以,我们如果是名称空间的配置文件是这么来写的,首先配置文件呢,会有这个叫API version,相当于版本号,还有我们这个资源类型,我们现在是想要创建名称空间的,因为在K8S里边资源的类型有很多,比如我们运行中的应用,它成为pod,我们隔离的这些名称空间,它成为namepa,包括呢等等等等,未来好多东西在K8S里边有超多的这些资源,所以呢,我们在这写上资源类型,然后呢,接下来Meta data Meta data就叫原数据,原数据里边呢有一个字段叫name name呢等于hello,这个呢相当于我们是hello名称空间,如果你叫word就是word名称空间,当然我们是初学,所以呢,对这个东西我们如何用插麦尔文档创建,你就知道啊,了解一下啊,压面文档啊,不用详细记忆,比如呢,我现在想创建一个哈名称空间,我就写一个hello的压面,我把它的这个配置呢复制来。
09:00
前面两个呢,都是固定写法,以后要创建未来名城空间这块都不变,唯一变的就是后边这个名字,好,我们把这个WQ退出并保存,然后呢,我们apply-F,杠F,比如说你只要有了资源,配置文件都是一句话,把这个文件呢给我应用一下,Hello,那回车,哎,你会发现名称空间又被创建了,Cooper ctrler get name space,诶,我们这个hello又有了,包括我们要删,怎么删呢?两种办法,如cooper ctrler delete name space直接删它,这是第一种,第二种如果你用配置文件创建的东西,你的这个配置文件还在的话,你直接杠F,你指定一下,相当于告诉K8S,这个配置文件里边我所之前创建的所有资源,你给我全部删除了。所以呢,我们一般用配置文件创建的资源,我们还是用配置文件删的,这样呢也删的比较干净,回车同样能达到删除效果。
10:00
好,这是我们第一个对于名称空间的操作。
我来说两句