k8s 控制器
k8s 控制器
1.1 控制器类型
无状态应用:
通用型:
- Replication Controller: 简称RC 副本数和期望值之间的管理
- Replica Set: 简称RS,与RC功能类似,但是多了集合式的标签选择器。也叫 副本控制器,用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的pod来替代,而如果异常出来的容器也会自动回收
- Deployment: 支持滚动更新和滚动回滚
特殊场景:
- DaemonSet: 确保全部node(或者一些)上运行一个pod的副本,当有node加入集群时,也会为他们新增一个pod,当有node从集群移除时,这些pod也会被回收,删除DaemonSet会删除它创建的所有pod
- HPA: 根据Pod资源使用情况,调整副本数量,依赖于RC,RS,Deployment之上
有状态应用:
- StatefulSet: 为了应对有状态的服务,比如mysql的数据,pod消亡后重新建个mysql,数据就丢了
- 自定义控制器 k8s开发来做的
2.1 基本概念
2.1.1 有状态和无状态服务
可以拿个例子理解,就像一个流水线上的工人,我把工人调走干了一件别的事,他回来对现在的工作一无所知干不了了,这叫有状态服务。如果他回来接着干,没有被影响,就是无状态的服务
2.1.2 网络模型
k8s的网络模型假定了所有pod都在一个可以直接连通的扁平化的网络空间中,这在GCE里面是现成的网络模型,k8s假设这个网络已经存在,而在私有云里搭建k8s集群,就不能假定这个网络已经存在了,我们需要自己实现这个网络假设,将不同节点上的Docker容器之间的互相访问互相先打通,然后运行k8s
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器