8、Kubernetes 部署、调度与资源管理全解析

Kubernetes 部署、调度与资源管理全解析

1. 部署与调度基础

在 Kubernetes 中,当程序需要持续运行时,它会立即重新启动。在传统服务器上,我们可以使用像 systemd、runit 或 supervisord 这样的工具来实现这一点;Docker 也有类似的功能,而 Kubernetes 则通过 Deployment 来实现。

1.1 部署对象与控制器

对于 Kubernetes 要监管的每个程序,它会创建一个对应的 Deployment 对象。这个对象记录了程序的一些信息,如容器镜像的名称、要运行的副本数量等,这些信息是启动容器所必需的。

与 Deployment 资源协同工作的是一种名为控制器(controller)的 Kubernetes 组件。控制器本质上是一段循环运行的代码,它会持续监控其所负责的资源,确保这些资源存在且正常工作。例如,如果某个 Deployment 运行的副本数量不足,控制器会创建新的副本;如果副本数量过多,控制器会终止多余的副本,以确保实际状态与期望状态一致。

1.2 重启容器机制

Deployment 的行为可能乍一看有点令人惊讶。如果容器完成工作后退出、崩溃、被信号终止或使用 kubectl 终止,Deployment 都会重新启动它。大多数 Kubernetes 应用程序设计为长时间运行且可靠,因此这种默认的重启行为是合理的。不过,我们也可以为单个容器更改此策略,例如从不重启或仅在失败时重启。

Deployment 的主要任务是监控其关联的容器,确保指定数量的容器始终处于运行状态。如果容器数量不足,它会启动更多容器;如果数量过多,它会终止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值