OpenKruise
文章平均质量分 67
最爱喝酸奶
一直要努力!
展开
-
ImagePullJob
ImagePullJob & NodeImageImagePullJob 和 NodeImage 是从 Kruise v0.8.0 版本开始提供的 CRD。Kruise 会自动为每个 Node 创建一个 NodeImage,它包含了哪些镜像需要在这个 Node 上做预热。用户能创建 ImagePullJob 对象,来指定一个镜像要在哪些 Node 上做预热。NodeImageNodeImage 是一个集群范围的资源。API 定义: https://github.com/openkru转载 2021-04-13 19:07:11 · 370 阅读 · 0 评论 -
AdvancedCronJob
AdvancedCronJobAdvancedCronJob 是对于原生 CronJob 的扩展版本。后者根据用户设置的 schedule 规则,周期性创建 Job 执行任务,而 AdvancedCronJob 的 template 支持多种不同的 job 资源:apiVersion: apps.kruise.io/v1alpha1kind: AdvancedCronJobspec: template: # Option 1: use jobTemplate, which is equ转载 2021-04-09 20:32:23 · 185 阅读 · 0 评论 -
BroadcastJob
BroadcastJobBroadcastJob 控制器将 Pod 分发到集群中每个 node 上,类似于 DaemonSet,但是 BroadcastJob 管理的 Pod 并不是长期运行的 daemon 服务,而是类似于 Job 的任务类型 Pod。最终在每个 node 上的 Pod 都执行完成退出后,BroadcastJob 和这些 Pod 并不会占用集群资源。这个控制器非常有利于做升级基础软件、巡检等过一段时间需要在整个集群中跑一次的工作。此外,BroadcastJob 还可以维持每个 nod转载 2021-04-05 19:05:22 · 290 阅读 · 0 评论 -
UnitedDeployment
UnitedDeploymentUnitedDeployment 控制器提供了一个新模式来通过多个 workload 管理多个区域下的 Pod。在一个 Kubernetes 集群中可能存在不同的 node 类型,比如多个可用区、或不同的节点技术(比如 Virtual kueblet)等,这些不同类型的 node 上有 label/taint 标识。UnitedDeployment 控制器可以提供一个模板来定义应用,并通过管理多个 workload 来匹配下面不同的区域。每个 UnitedDeployme转载 2021-03-31 19:23:14 · 295 阅读 · 0 评论 -
Advanced DaemonSet
Advanced DaemonSetAdvanced DaemonSet 控制器基于原生 DaemonSet 上增强了发布能力,比如 灰度分批、按 Node label 选择、暂停、热升级等。注意 Advanced DaemonSet 是一个 CRD,kind 名字也是 DaemonSet,但是 apiVersion 是 apps.kruise.io/v1alpha1。这个 CRD 的所有默认字段、默认行为与原生 StatefulSet 完全一致,除此之外还提供了一些 optional 字段来扩展增强的转载 2021-03-26 18:51:38 · 319 阅读 · 0 评论 -
SidecarSet
SidecarSetSidecarSet 控制器支持通过 admission webhook 来自动为集群中创建的符合条件的 Pod 注入 sidecar 容器。这个注入过程和 istio 的自动注入方式很类似。除了在 Pod 创建时候注入外,SidecarSet 还提供了为运行时 Pod 原地升级其中已经注入的 sidecar 容器镜像的能力。简单来说,SidecarSet 将 sidecar 容器的定义和生命周期与业务容器解耦。它主要用于管理无状态的 sidecar 容器,比如监控、日志等 agen转载 2021-03-23 18:59:07 · 705 阅读 · 0 评论 -
Advanced StatefulSet
Advanced StatefulSetAdvanced StatefulSet 控制器基于原生 StatefulSet 上增强了发布能力,比如 maxUnavailable 并行发布、原地升级等。注意 Advanced StatefulSet 是一个 CRD,kind 名字也是 StatefulSet,但是 apiVersion 是 apps.kruise.io/v1alpha1 和 apps.kruise.io/v1beta1。这个 CRD 的所有默认字段、默认行为与原生 StatefulSet 完转载 2021-03-19 20:15:07 · 509 阅读 · 0 评论 -
CloneSet
CloneSetCloneSet 控制器提供了高效管理无状态应用的能力,它可以对标原生的 Deployment,但 CloneSet 提供了很多增强功能。按照 Kruise 的命名规范,CloneSet 是一个直接管理 Pod 的 Set 类型 workload。一个简单的 CloneSet yaml 文件如下:apiVersion: apps.kruise.io/v1alpha1kind: CloneSetmetadata: name: sample labels: app:转载 2021-03-16 18:59:15 · 1425 阅读 · 0 评论 -
OpenKruise 组件
OpenKruise 组件当在一个 K8s 集群中安装了 Kruise,其实是创建了一些 Kruise 的 CRD 和相关组件。CRDs:以下的 CRD 会安装到集群中:kubectl get crd | grep kruise.ioadvancedcronjobs.apps.kruise.io 2021-03-11T01:46:56Zbroadcastjobs.apps.kruise.io 2转载 2021-03-12 20:02:17 · 403 阅读 · 0 评论 -
OpenKruise介绍
OpenKruiseOpenKruise 由 Alibaba 开源,是 Kubernetes 的一个标准扩展,它可以配合原生 Kubernetes 使用,并为管理应用容器、sidecar、镜像分发等方面提供更加强大和高效的能力。OpenKruise 是面向自动化场景的 Kubernetes 应用负载扩展控制器。而 Kruise 是 OpenKruise 项目的核心,它是一组控制器,可在应用程序工作负载管理上扩展和补充 Kubernetes 核心控制器。官网:openkruise.io 最新版本:0.转载 2021-03-10 19:46:32 · 4083 阅读 · 0 评论