pod基本概念
pod是一个逻辑抽象概念,k8s的创建和管理的最小单元
一个pod由一个或多个容器组成
pod的特点
- 一个pod可以理解为一个应用实例提供服务
- pod中的容器始终部署在一个Node上
- pod中容器共享网络和存储资源
pod存在的意义
pod主要用法:
运行单个容器:最常见的用法,在这种情况下可以将pod看作是单个容器的抽象封装。
运行多个容器:边车模式(sideCar),通过在pod中定义专门容器,来执行主业务容器需要的辅助工作,这样的好处是将辅助功能同主业务容器解耦,实现独立发布和能力重用。
例如:日志收集、应用监控
pod内的容器资源共享
网络共享
pod的网络共享是默认的。每一个pod都有一个Infra Container容器,这个容器我们称之为网络容器,他负责一个pod内的所有容器的网络共享
所以,在一个pod中,所有容器的网络是共享的,即在多容器中,我们的辅助容器可能会有通过端口来访问主容器的需求,但每个容器在每次重启都会启动不同的ip,但因为网络共享,我们在复制容器中可以用127.0.0.1的ip来访问主容器的服务。
存储共享
与网络共享不同,pod内的存储共享不是默认的。他是需要在pod的yaml文件去设置的。通过创建数据卷的方式。