00:00
好,前面呢,我们分别使用命令行以及配置文件的方式,我们创建删除了pod,但对于我们初学者来说,我还是喜欢在这些可视化界面里边点点点,我们看在这里边该怎么创建出我们想要的pod,首先呢,在这个界面里边,这有一个大加号,我们来点击加号,这个加号呢有两种办法,第一种输入并创建,就是如果你有配置文件的话呢,直接把配置文件给这一粘,点个上传就能创建。第二个你填表单项,比如你的这个应用名叫my inx,对吧,你要用的镜像叫inx,而且呢,你想把这个东西呢,部署一个,你在这点一个部署也行,当然这个呢,创建的不是pod,是我们后来说的deployment,这个呢大家先知道一下,我们先在这儿呢创建吧,我们测试一下,我们先来说创建pod,把这个呢复制一下一会的表单,我们在下一章节再说,好,我把这个pod呢放在这儿,我点击上传,然后呢它提示。
01:00
说我们这个部署失败,说我们这个服务器不允许我们操作,以此方法操作资源,为什么呢?因为你创建的这个pod,它一定在某一个名称空间内,因为大家会看到每一个东西,这叫工作负载name SP,意思就是以下列举的这些资源都应该在一个具体的名称空间里边隔离着,所以呢,我们这个pod呢也算,而我们这没指定名称空间,两种办法,第一种呢,你切到你pod想创到哪个名称空间去,比如我切到default,然后呢我让他执行。第二种办法呢,我也可以给这写一个我手动的直接在配置文件里边指定一个name space是我们是defoutt名称空间嘛,所以我指一个这个,如果是这种方式的话呢,那也是可以了,全局也是可以了,所以呢,那我就直接使用我们这种切到我的名称空间吧,我点。
02:00
一个上传,诶以前不行,现在可以了,好,现在呢,我们看啊,我如果切到def for名称空间,接下来我们在这列举的所有资源都是我们这个名称空间的,只要这加了N标志,说明呢,这些都是跟名称空间相关的,比如这个没加N标志,那说明呢,它是我们整个集群可用的,跟民生空间没关系,对吧?那接下来呢,我们这个pod创建完了,我就可以在这一块专门有一个po子,我们就能看到我们这个POS的状态,包括呢,你能看到你的MYNS还是一样被分配到K8S node2节点了,然后呢,它的状态是container creating啊,容器正在创建中,我这没打印权,然后呢,当然想打印权,你就在检查元素,你可以看一下这个元素的值,就叫contain create啊,我这个页面是字字体的原因显示不全,我们的这个正在创建,当然你刷一刷,刷一刷呢,它应该就绿了。
03:00
正在创建中,为啥一直正在创建中的原因呢?你也可以把这个pod详情点进去,点进去呢,接下来你看这就会有状态和事件,那这个事件是不是就是我们之前的这个描述呀,对吧?我们之前使用cooper controller describe做的这个东西,其实就在这个事件里边,事件里边呢,我们能看到,诶它呢正在呃创建12分钟前,那这已经OK了啊,包括容容器满NS这个容器使用NS镜像它已经在运行了,所以我们这个pod呢,就是在运行了,它在running没问题,用可视化界面我们创了一个pod,而这个pod呢在这儿,你想要删呢也一样,在它这儿有一个删除,Pod呢也能删除,包括呢,我们还能看它的运行日志,就像就像我们的docker一样,我们运行中的这个应用,我们以前docker假设有一个应用,我们使用docker logs能看它的日志,K8S呢一样,如果我们使用命令行cooper controller logs。
04:00
你直接把这个pod的名字在这一写,这都是固定写法啊,不用写pod这个单词,不是logs pod,因为看日志只有pod有日志回车,所以呢,我们pod的NG整个启动日志,这也能打印,包括呢跟docker一样,你logs-F,那就是阻塞,是追踪,如果日志有新的东西,那接下来呢,这就又会有打印docker的都一样,对吧,只不过把docker换成了库包controltrler,所以呢,K8S在设计期间,它的考虑到了整个啊我们程序员的使用习惯问题,还是非常不错的,我们使用命令打日志,我把这个我们又学到了一个命令,对吧?我们查看pod的运行日志,这个日志呢,也是我们后来如果集群排错,我们要用的,你直接logs pod的名字就行,这都是固定写法啊,只有能变的地方,我都给你留到这儿。
05:00
然后呢,如果在可视化界面,那就更方便了,我这个东西呢,正在运行,对吧,我想看日志,这有一个日志,好在这一块呢,打印出来就是这样,然后呢,我们再回到上一步,这有pas,好直接回到这列出所有的pod,所以呢,你能看到的这个列表,其实相当于就是运行了这个命令叫cooper ctrler get po对吧?看默认名称空间的这个东西,那们再来想一件事啊,如果是我们这个docker,我们以前使用docker部署的N,我们进去还改它首页还能访问,那我们现在呢,不是docker部署的这些NX容器了,我们现在是K8S的pod了,我们能不能访问呢?也可以可以给大家看一个这个命令边ctrl get pod有一个叫杠O的,Y的呢,就是杠oy的,它可以分开写,可以粘在一块,它的意思呢,就是打印一个更完善的信息走,然后呢,你就会看到MY正。
06:00
在运行,然后呢,它会有一个IP地址,而且呢,它在K8S02节点运行着呢,所以呢,如果我们使用这个IP地址,我们都知道NX呢,它是八零端口,所以你访问这个pod的IP地址,回车就能访问到我们NG的首页,这就不就展示出来了吗?啊大家又得记住一点,然后呢,每一个pod,每个pod k8S都会给他分配一个ipk 8S都会分配一个IP,这样保证了我们集群里边部署的所有应用你都可以拿IP访问到,对吧?都会都会干嘛分配一个IP,然后呢,你想要看的话,使用这个命令库,Ctrll get pod-O,然后呢,接下来我们就可以使用pod的IP,使用pod的IP。
07:00
加上pod里边运行的容器的端口,Pod里边运行的容器的端口,因为我们pod是是真实的对N容器的,是不是一个封装就能访问到了啊,所以呢,CUURL我们这个,比如我们刚才的这个,我们不写端口,那默认就是八零端口,诶那就能访问到我们的这个应用,我们继续往下实践啊,如果我们现在呢,做成这样式,我们以前呢,用docker部署的这个NGS应用的话,我们想要改它页面,是不是我们可以进到NS容器里边改啊,以前呢是doer exec-it进到容器里边,现在呢,如果K8S的话,我能不能进入到MYN啊这个pod,因为这个pod里边呢是容器,我能不能进去呢?也行,使用库CTR了干嘛,Exe。
08:01
C-it一模一样的,然后把你的这个pod名字,现在我要进这个pod里边,然后呢,唯一不一样的就是接下来你进炮的,你想进它的办事控制台,你得打个杠杠空格being半回车,然后呢,我们看就root my NX,我们相当于就进到MYNS这里边呢,LS杠一下,其实呢,还是我们这么一个Linux容器,对吧,这相当于就列出了我们MYNS这个pod里边,我们容器的整个小Linux目录结构,你想要改页面呢,一样CD到哪个我们NS的页面,我记得以前是在user share in htmr里边,对吧,我们这有index,比如我来输出一个1111到index,我们把直接把index页面给覆盖啊,我们输出过来,那接下来呢,我再来访问来看一下啊,相当于呢这个pod里边。
09:01
的东西已经被我改了,那我再来,他拿他的IP法就是这个,而且K8S给pod分配的IP,你在任何机器都能用啊,集群里边的任何机器,你想要按照IP访问它的这个pod应用,回车看是不是有意义都能访问了啊,甚至于呢,在别的应用里边,比如我在这有多个pod,从另外一个容器里边要访问,我用IP也都是能访问的通,所以这就是K8S最厉害的地方,给我们每一个应用都分配了一个IP,你都能访。而我们现在呢,还有另外一种方式,更方便的方式呢,进入到我们的这个里边,就是在可视化界面里边,直接有一个执行点进来,你看还是进这个控制台,是不是root at my n是不是方便,方便多了,不用记命令,我们以前呢,就是这个记命令,然后呢,我可以继续修改LS吧,好,我CAD到我们是user。
10:01
Share NX HTML页面,然后呢,我再一口一个2222,我到index h HTML里,我准备好了以后呢,接下来比如我再来访问看一下啊CUURL在任意机器访问我N这的这个IP地址,那这样的话回车是不是就变成222了,所以在我们可视化界面里边操作进入容器,看它日志等等都非常方便,这个退完了以后呢,它这块不会自动退出,你还得点po,或者点点我们上面的面包卸档航都可以回过来,好,这就是我们的整个可视化界面的一个操作,最后再悄悄的问大家一个问题,为什么K8S给我们每一个部署的应用注意啊,以后我们应用在K8S上呢,都叫pod,其他的都不是应用,其他的呢,都是相当于一些别的资源,我们真正运行。
11:01
中的应用旧叫pod,然后呢,为什么K8S给pod分配的IP地址是192168什么什么为什么呢?我们点进去看到了这个IP地址,为什么是这样,回到我们之前安装K8S集群的时候,那现在就可以解释这个概念了,然后呢,在K8S集群我们安装的时候,初始化引导master节点的时候,我们在这设置了一个东西叫pod杠杠network-CIDR什么就是pod网络的范围域,也就是K8S未来给每一个应用如果要分配网络的话,应该在哪个范围里面分配,是不是就是192168这个范围啊,所以K8S呢,就在这个范围里边开始给他随机的分配网络IP,那这个IP呢,分配过来以后呢,在集群里边任意一台机器,包括呢,任意一个应用都能用我们pod的这个IP去来访问到别的pod。所以。
12:01
啊,记住啊,集群中的任意机器,集群中的任意一个机器,机器以及任意的应用都能通过pod分配的IPIP来访问,访问这个pod,但是呢,注意一件事,此时我们只是在集群内能访问这个你永远不能在集群外,比如我用浏览器对吧?我用浏览器想要访问就像docker一样启动的应用,默认呢,集群内大家呢,Docker启动的所有这些容器,默认大家在整个这个机器内可以访问,但是如果你真的要在机器外访问,就得暴露端口了,但是K8S的暴露端口呢,我们现在还没有学到,所以呢,我们就先在集群。
13:01
内大家保证呢,用curl直接访问我们的IP地址,能访问到就行。
我来说两句