持续集成部署-k8s-资源调度:Deployment
- 1. 创建与配置文件解析
- 2. 滚动更新
- 3. 版本回滚
- 4. 扩容与缩容
- 5. 暂停与恢复
在 Kubernetes 中,
Deployment
和
StatefulSet
是两种不同的控制器对象,用于管理Pod和容器的创建、删除和更新。它们之间的区别在于资源调度、稳定性和数据持久化等方面。
一般来说,如果需要进行无状态的应用程序部署和管理,或者应用程序的状态可以在容器启动时动态生成和恢复,那么选择使用Deployment
控制器更为合适。因为Deployment
控制器可以对Pod
进行快速、平滑的滚动更新,并且能够自动处理容器的重启、故障和替换等问题,从而保证应用程序的高可用性和稳定性。
如果你需要进行有状态的应用程序部署和管理,或者应用程序需要维护稳定的网络标识和持久化的数据存储,那么选择使用StatefulSet
控制器更为合适。因为StatefulSet
控制器支持有序、稳定的Pod
部署和更新,能够为每个Pod
分配一个唯一的网络标识和稳定的存储卷,并确保Pod
之间的有序启动和停止,从而实现了应用程序的有状态运行和数据持久化。