kubernetes-概念
Pod
Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。
Pod中的容器共享存储和网络。
每个Pod都有一个特殊的被称为“根容器”的Pause容器,负责整个pod的健康检查,负责把pod中其他容器关联起来
为什么Kubernetes会设计出一个全新的Pod概念并且Pod有这样特殊的组成结构?
- 在一组容器作为一个单元的情况下,我们难以对“整体”简单地进行判断及有效地进行行动。比如,一个容器死亡了,此时算是整体死亡么?引入业务无关并且不易死亡的Pause容器作为Pod的根容器,以它的状态代表整体容器组的状态,就简单、巧妙地解决了这个难题。
- Pod里的多个业务容器共享Pause容器的IP,共享Pause容器挂接的Volume,这样既简化了密切关联的业务容器之间的通信问题,也很好地解决了它们之间的文件共享问题。
ReplicaSet(简称为RS,在pod上层)
副本机,管理pod副本数量,监控pod健康状态,保证预期数量的pod正常运行,实现滚动部署
Deployment (在RS 上层)
Deployment为 Pods 和 ReplicaSets 提供声明式的更新能力, Deployment会自动创建和销毁RS,实现滚动部署
Label
一个Label是一个key=value的键值对,其中key与vaue由用户自己指定。Label可以附加到各种资源对象上,例如Node、Pod、Service、RC等。
Label相当于我们熟悉的“标签”,給某个资源对象定义一个Label,就相当于給它打了一个标签,随后可以通过Label Selector(标签选择器)查询和筛选拥有某些Label的资源对象,Kubernetes通过这种方式实现了类似SQL的简单又通用的对象查询机制。
Service
Kubernetes里的每个Service其实就是我们经常提起的微服务架构中的一个“微服务”,之前Pod、RS等资源对象其实都是为这节所说的“服务”------Kubernetes Service作“嫁衣”的。
Service定义了一个服务的访问入口地址(ClusterIP),前端的应用(Client)通过这个入口地址访问其背后的一组由Pod副本组成的集群实例,Service与其后端Pod副本集群之间则是通过Label Selector来实现“无缝对接”的。而RS的作用实际上是保证Service的服务能力和服务质量始终处于预期的标准。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)