引言
在上一篇中,我们介绍了Kubernetes的弹性策略和HPA的基本工作原理,接下来我们将介绍实现极致弹性伸缩的核心工具OpenKruise。
什么是OpenKruise?
OpenKruise 是一个由阿里巴巴开源的,基于 Kubernetes 的扩展套件,主要聚焦于云原生应用的自动化,它弥补了 Kubernetes 在应用部署、升级、防护、运维 等领域的不足 ,我们将会借助它来实现Pods的极致弹性伸缩 ,下面是OpenKruise的架构
- API:所有 OpenKruise 的功能都是通过 Kubernetes API 来提供的。
- manager:是一个运行 controller 和 webhook 中心组件 ,它通过 Deployment 部署在 kruise-system 命名空间中,同样它们之间采用 leader-election 的方式选主,同一时间只有一个提供服务,达到高可用的目的。除了 controller 之外,kruise-controller-manager-xxx 中还包含了针对 Kruise CRD 以及 Pod 资源的 admission webhook。Kruise-manager 会创建webhook configurations 来配置哪些资源需要感知处理、以及提供一个 Service 来给 kube-apiserver 调用。
- kruise-daemon: