原文在此,里面的图特别棒,转帖摘要至此
Kubernetes 101: Pods, Nodes, Containers, and Clusters
硬件
Nodes
说是「硬件」,其实也可以是虚拟机、云主机
Cluster
很多 Node 拼接成一个 Cluster,就好比很多小单元组成蜂巢,形象~
Persistent Volumes
Cluster 只是计算型资源,存储型资源是外置的,可以是云存储或者真·硬盘,靠「电线」插拔上去
软件
Containers
应用和依赖的环境打包固化在一起,就是容器
Pods
一组高内聚的应用进一步打包成 Pod,Pod 是 K8S 里面最基础的部署单元,一个 Pod 配置一个 IP
Deployments
「部署」就是部署么,负责定义和管控 Pod 的部署情况
Ingress
K8S Cluster 是被防火墙保护的,Ingress 就是城门
软件在硬件中的实际形态
总体图:
Cluster 中有一个 master
每个 Node 上都运行着 K8S 的 client - kubelet
kubelet 又运行着 docker
局部图:
- Node 里面运行着大大小小各个 Pod
提供服务
上文所述之「硬件」「软件」只是应用在 K8S 中的部署,是对内的;只有发布成 Service,才可以对外提供服务
服务与部署是应用的不同切面
部署是把能力生产出来,服务是把能力提供出去
通过 Label 可以把「部署」以松耦合的方式组合成一个「服务」对外发布