阅读 324

k8s(二)核心概念之pod及相关操作

1.pod:运行中的一组容器,Pod是kubernetes中应用的最小单位。图解pod:/ 比如该pod里面有2个容器,每个容器运行着一个应用,分别是文件上传和web服务。用户可以使用文件上传上传图片,然后使用web服务查询图片。这两个服务构成一个完整的应用对外服务。image.png

再比如下图,红色部分的数字表示该pod里面的挤了几个应用,绿色框里面表示正常运行的应用个数image.png创建一个pod,使用命令行 kubectl run mynginx --image=nginx, mynginx表示该pod的名字,--image表示使用哪个镜像,优点类似docker的docker run。如下图,容器正在创建image.png查看pod。查看default名称空间的Pod kubectl get podimage.png

描述下该pod的创建过程:kubectl describe pod mynginximage.png

2.部署一个多容器的pod,该pod里面有tomcat和nginx,使用命令 kubectl apply -f mutil-container-pod.ymal创建pod
下面yaml内容解释:
2.1. labels下面的name是pod的名字(每次创建pod,name不能相同)。
2.2. containers 下面2个元素代表2个容器,分别是ngx和tomcatimage.png从dashboard可以看出该pod已经创建完成,里面挤了2个容器,分别是tom和ngximage.png

3.容器应用的访问: 我们部署了一个多容器的pod,接下应该通过外网可以访问里面运行的容器实例。k8s在创建pod的时候就会给每一个pod分配一个ip,可以从dash控制台看到myapp这个pod的ipimage.png我们可以通过pod的ip+应用的端口访问该应用,请看下面2图image.png访问tomcat和nginximage.pngimage.png另外,pod内部容器之间的应用可以使用127.0.0.1:port去访问另一个应用,比如我在nginx容器里可以使用127.0.0.1::8080去访问tomcat。(可以将pod理解为一个宿舍,里面的每个容器都是居住的员工,他们是共享该pod的网络空间和存储)。下面测试下是否是这样的,看下图,我从dashboard进入到ngx容器内部去访问tomimage.png进入nginx容器后,访问tomcat。127.0.0.1:8080,可以看到tomcat首页image.png

4.pod相关操作的命令:
删除pod: kubectl delete pod Pod名字
查看Pod的运行日志: kubectl logs Pod名字
每个Pod - k8s都会分配一个ip kubectl get pod -owide
使用Pod的ip+pod里面运行容器的端口 curl 192.168.169.136
集群中的任意一个机器以及任意的应用都能通过Pod分配的ip来访问这个Pod


作者:初心不忘976
链接:https://juejin.cn/post/7014821559239966757


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐