-
POD
多个应用之间频繁交互访问,往往会部署到同一个机器上,而K8S抽象出POD,将这些容器划分成一个POD,POD内容器共享同一个Network Namespace、同一个数据卷,从而达到高效交换信息的目的。 -
Service
不同服务,往往故意部署在不同机器,互相没有干扰影响。因为容器的IP是不固定的,那么为了能远程访问服务,K8S抽象出Service,给POD绑定Service,而Service声明的IP是永远不变的,因此Service的主要作用就是作为POD的代理入口(Portal),代替POD对外暴露一个固定的IP。 -
容器 -> POD -> Service
首先容器遇到紧密协作关系的问题,所以引入POD;然后希望一次启动多个应用实例,所以引入Deployment多实例管理器;最后,有了一组相同的POD,又需要一个固定的IP/Port通过负载均衡访问它,于是引入Service。 -
应用运行形态
Job:一次性运行的Pod
Daemonset:每个宿主机上必须有且只有一个副本的守护进程。
CronJob:定时任务。 -
API Object
包括两类:编排对象、服务对象。
编排对象:Pod、Job、CronJob等等,管理应用。
服务对象:Service、Secret、Autoscalar等等,负责平台级功能。 -
声明式API
通过编排对象和服务对象来描述应用逻辑(容器化业务&容器间关系)的方式。
K8S为用户提供了具有普遍意义的容器编排工具。