modify kruise to target large-scale applications (#91)
Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com> Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
This commit is contained in:
parent
554de5b88e
commit
c8abd2bc3b
|
@ -5,7 +5,7 @@ slug: /
|
|||
|
||||
Welcome to OpenKruise!
|
||||
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on application automations, such as *deployment, upgrade, ops and availability protection*.
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on automated management of large-scale applications, such as *deployment, upgrade, ops and availability protection*.
|
||||
|
||||
Most features provided by OpenKruise are built primarily based on CRD extensions. They can work in pure Kubernetes clusters without any other dependencies.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced DaemonSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of Kubernetes [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
controller from aspects, such as partition, selector, pause strategies.
|
||||
controller in large-scale scenarios, such as support for image pre-download, in-place upgrade, etc.
|
||||
|
||||
If you don't know much about the Kubernetes DaemonSet, we strongly recommend you read its documents before learning Advanced DaemonSet.
|
||||
- [Concept of Kubernetes DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced StatefulSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of [Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
controller from aspects, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
controller in large-scale scenarios, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
|
||||
If you don't know much about the Kubernetes StatefulSet, we strongly recommend you read its documents before learning Advanced StatefulSet.
|
||||
- [Concept of Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
|
@ -279,4 +279,4 @@ This is same to the upstream StatefulSet (K8s >= 1.23 [alpha]), please refer to
|
|||
|
||||
**FEATURE STATE:** Kruise v0.8.0
|
||||
|
||||
This is similar to [Lifecycle hook of CloneSet](./cloneset#lifecycle-hook).
|
||||
This is similar to [Lifecycle hook of CloneSet](./cloneset#lifecycle-hook).
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
title: CloneSet
|
||||
---
|
||||
|
||||
This controller provides advanced features to efficiently manage stateless applications that
|
||||
do not have instance order requirement during scaling and rollout. Analogously,
|
||||
CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
This controller provides advanced features to efficiently manage stateless applications in large-scale scenarios that
|
||||
do not have instance order requirement during scaling and rollout.
|
||||
Analogously, CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
|
||||
As name suggests, CloneSet is a [Set -suffix controller](/blog/workload-classification-guidance) which
|
||||
manages Pods directly. A sample CloneSet yaml looks like following:
|
||||
|
|
|
@ -5,7 +5,7 @@ slug: /
|
|||
|
||||
Welcome to OpenKruise!
|
||||
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on application automations, such as *deployment, upgrade, ops and availability protection*.
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on automated management of large-scale applications, such as *deployment, upgrade, ops and availability protection*.
|
||||
|
||||
Most features provided by OpenKruise are built primarily based on CRD extensions. They can work in pure Kubernetes clusters without any other dependencies.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced DaemonSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of default [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
controller from aspects, such as partition, selector, pause and surging strategies.
|
||||
controller in large-scale scenarios, such as support for image pre-download, in-place upgrade, etc.
|
||||
|
||||
Note that Advanced DaemonSet extends the same CRD schema of default DaemonSet with newly added fields.
|
||||
The CRD kind name is still `DaemonSet`.
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced StatefulSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of default [StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
controller from aspects, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
controller in large-scale scenarios, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
|
||||
Note that Advanced StatefulSet extends the same CRD schema of default StatefulSet with newly added fields.
|
||||
The CRD kind name is still `StatefulSet`.
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
title: CloneSet
|
||||
---
|
||||
|
||||
This controller provides advanced features to efficiently manage stateless applications that
|
||||
do not have instance order requirement during scaling and rollout. Analogously,
|
||||
CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
This controller provides advanced features to efficiently manage stateless applications in large-scale scenarios that
|
||||
do not have instance order requirement during scaling and rollout.
|
||||
Analogously, CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
|
||||
As name suggests, CloneSet is a [Set -suffix controller](/blog/workload-classification-guidance) which
|
||||
manages Pods directly. A sample CloneSet yaml looks like following:
|
||||
|
|
|
@ -5,7 +5,7 @@ slug: /
|
|||
|
||||
Welcome to OpenKruise!
|
||||
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on application automations, such as *deployment, upgrade, ops and availability protection*.
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on automated management of large-scale applications, such as *deployment, upgrade, ops and availability protection*.
|
||||
|
||||
Most features provided by OpenKruise are built primarily based on CRD extensions. They can work in pure Kubernetes clusters without any other dependencies.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced DaemonSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of default [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
controller from aspects, such as partition, selector, pause and surging strategies.
|
||||
controller in large-scale scenarios, such as support for image pre-download, in-place upgrade, etc.
|
||||
|
||||
Note that Advanced DaemonSet extends the same CRD schema of default DaemonSet with newly added fields.
|
||||
The CRD kind name is still `DaemonSet`.
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced StatefulSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of default [StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
controller from aspects, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
controller in large-scale scenarios, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
|
||||
Note that Advanced StatefulSet extends the same CRD schema of default StatefulSet with newly added fields.
|
||||
The CRD kind name is still `StatefulSet`.
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
title: CloneSet
|
||||
---
|
||||
|
||||
This controller provides advanced features to efficiently manage stateless applications that
|
||||
do not have instance order requirement during scaling and rollout. Analogously,
|
||||
CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
This controller provides advanced features to efficiently manage stateless applications in large-scale scenarios that
|
||||
do not have instance order requirement during scaling and rollout.
|
||||
Analogously, CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
|
||||
As name suggests, CloneSet is a [Set -suffix controller](/blog/workload-classification-guidance) which
|
||||
manages Pods directly. A sample CloneSet yaml looks like following:
|
||||
|
|
|
@ -5,7 +5,7 @@ slug: /
|
|||
|
||||
Welcome to OpenKruise!
|
||||
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on application automations, such as *deployment, upgrade, ops and availability protection*.
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on automated management of large-scale applications, such as *deployment, upgrade, ops and availability protection*.
|
||||
|
||||
Most features provided by OpenKruise are built primarily based on CRD extensions. They can work in pure Kubernetes clusters without any other dependencies.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced DaemonSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of Kubernetes [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
controller from aspects, such as partition, selector, pause strategies.
|
||||
controller in large-scale scenarios, such as support for image pre-download, in-place upgrade, etc.
|
||||
|
||||
If you don't know much about the Kubernetes DaemonSet, we strongly recommend you read its documents before learning Advanced DaemonSet.
|
||||
- [Concept of Kubernetes DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
|
@ -127,7 +127,7 @@ spec:
|
|||
And if you put `daemonset.kruise.io/progressive-create-pod: "true"` annotation into Advanced DaemonSet,
|
||||
the `partition` will also control the number of pods to be created when scaling up.
|
||||
|
||||
<!--
|
||||
<!--
|
||||
### MaxSurge for rolling update
|
||||
|
||||
MaxSurge is the maximum number of DaemonSet pods that can be scheduled above the desired number of pods during the update.
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced StatefulSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of [Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
controller from aspects, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
controller in large-scale scenarios, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
|
||||
If you don't know much about the Kubernetes StatefulSet, we strongly recommend you read its documents before learning Advanced StatefulSet.
|
||||
- [Concept of Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
title: CloneSet
|
||||
---
|
||||
|
||||
This controller provides advanced features to efficiently manage stateless applications that
|
||||
do not have instance order requirement during scaling and rollout. Analogously,
|
||||
CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
This controller provides advanced features to efficiently manage stateless applications in large-scale scenarios that
|
||||
do not have instance order requirement during scaling and rollout.
|
||||
Analogously, CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
|
||||
As name suggests, CloneSet is a [Set -suffix controller](/blog/workload-classification-guidance) which
|
||||
manages Pods directly. A sample CloneSet yaml looks like following:
|
||||
|
|
|
@ -5,7 +5,7 @@ slug: /
|
|||
|
||||
Welcome to OpenKruise!
|
||||
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on application automations, such as *deployment, upgrade, ops and availability protection*.
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on automated management of large-scale applications, such as *deployment, upgrade, ops and availability protection*.
|
||||
|
||||
Most features provided by OpenKruise are built primarily based on CRD extensions. They can work in pure Kubernetes clusters without any other dependencies.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced DaemonSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of Kubernetes [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
controller from aspects, such as partition, selector, pause strategies.
|
||||
controller in large-scale scenarios, such as support for image pre-download, in-place upgrade, etc.
|
||||
|
||||
If you don't know much about the Kubernetes DaemonSet, we strongly recommend you read its documents before learning Advanced DaemonSet.
|
||||
- [Concept of Kubernetes DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
|
@ -127,7 +127,7 @@ spec:
|
|||
And if you put `daemonset.kruise.io/progressive-create-pod: "true"` annotation into Advanced DaemonSet,
|
||||
the `partition` will also control the number of pods to be created when scaling up.
|
||||
|
||||
<!--
|
||||
<!--
|
||||
### MaxSurge for rolling update
|
||||
|
||||
MaxSurge is the maximum number of DaemonSet pods that can be scheduled above the desired number of pods during the update.
|
||||
|
@ -187,14 +187,14 @@ type Lifecycle struct {
|
|||
type LifecycleHook struct {
|
||||
LabelsHandler map[string]string `json:"labelsHandler,omitempty"`
|
||||
FinalizersHandler []string `json:"finalizersHandler,omitempty"`
|
||||
|
||||
|
||||
/********************** FEATURE STATE: 1.2.0 ************************/
|
||||
// MarkPodNotReady = true means:
|
||||
// - Pod will be set to 'NotReady' at preparingDelete/preparingUpdate state.
|
||||
// - Pod will be restored to 'Ready' at Updated state if it was set to 'NotReady' at preparingUpdate state.
|
||||
// Default to false.
|
||||
MarkPodNotReady bool `json:"markPodNotReady,omitempty"`
|
||||
/*********************************************************************/
|
||||
/*********************************************************************/
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced StatefulSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of [Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
controller from aspects, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
controller in large-scale scenarios, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
|
||||
If you don't know much about the Kubernetes StatefulSet, we strongly recommend you read its documents before learning Advanced StatefulSet.
|
||||
- [Concept of Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
|
@ -279,4 +279,4 @@ This is same to the upstream StatefulSet (K8s >= 1.23 [alpha]), please refer to
|
|||
|
||||
**FEATURE STATE:** Kruise v0.8.0
|
||||
|
||||
This is similar to [Lifecycle hook of CloneSet](./cloneset#lifecycle-hook).
|
||||
This is similar to [Lifecycle hook of CloneSet](./cloneset#lifecycle-hook).
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
title: CloneSet
|
||||
---
|
||||
|
||||
This controller provides advanced features to efficiently manage stateless applications that
|
||||
do not have instance order requirement during scaling and rollout. Analogously,
|
||||
CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
This controller provides advanced features to efficiently manage stateless applications in large-scale scenarios that
|
||||
do not have instance order requirement during scaling and rollout.
|
||||
Analogously, CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
|
||||
As name suggests, CloneSet is a [Set -suffix controller](/blog/workload-classification-guidance) which
|
||||
manages Pods directly. A sample CloneSet yaml looks like following:
|
||||
|
@ -519,24 +519,24 @@ Lifecycle hook allows users to do something (for example remove pod from service
|
|||
type LifecycleStateType string
|
||||
|
||||
// Lifecycle contains the hooks for Pod lifecycle.
|
||||
type Lifecycle struct
|
||||
// PreDelete is the hook before Pod to be deleted.
|
||||
PreDelete *LifecycleHook `json:"preDelete,omitempty"`
|
||||
// InPlaceUpdate is the hook before Pod to update and after Pod has been updated.
|
||||
type Lifecycle struct
|
||||
// PreDelete is the hook before Pod to be deleted.
|
||||
PreDelete *LifecycleHook `json:"preDelete,omitempty"`
|
||||
// InPlaceUpdate is the hook before Pod to update and after Pod has been updated.
|
||||
InPlaceUpdate *LifecycleHook `json:"inPlaceUpdate,omitempty"`
|
||||
}
|
||||
|
||||
type LifecycleHook struct {
|
||||
LabelsHandler map[string]string `json:"labelsHandler,omitempty"`
|
||||
FinalizersHandler []string `json:"finalizersHandler,omitempty"`
|
||||
|
||||
|
||||
/********************** FEATURE STATE: 1.2.0 ************************/
|
||||
// MarkPodNotReady = true means:
|
||||
// - Pod will be set to 'NotReady' at preparingDelete/preparingUpdate state.
|
||||
// - Pod will be restored to 'Ready' at Updated state if it was set to 'NotReady' at preparingUpdate state.
|
||||
// Default to false.
|
||||
MarkPodNotReady bool `json:"markPodNotReady,omitempty"`
|
||||
/*********************************************************************/
|
||||
/*********************************************************************/
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -563,7 +563,7 @@ spec:
|
|||
example.io/block-unready: "true"
|
||||
```
|
||||
|
||||
### MarkPodNotReady
|
||||
### MarkPodNotReady
|
||||
**FEATURE STATE:** Kruise v1.2.0
|
||||
|
||||
```yaml
|
||||
|
|
|
@ -5,7 +5,7 @@ slug: /
|
|||
|
||||
Welcome to OpenKruise!
|
||||
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on application automations, such as *deployment, upgrade, ops and availability protection*.
|
||||
OpenKruise is an extended component suite for Kubernetes, which mainly focuses on automated management of large-scale applications, such as *deployment, upgrade, ops and availability protection*.
|
||||
|
||||
Most features provided by OpenKruise are built primarily based on CRD extensions. They can work in pure Kubernetes clusters without any other dependencies.
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced DaemonSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of Kubernetes [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
controller from aspects, such as partition, selector, pause strategies.
|
||||
controller in large-scale scenarios, such as support for image pre-download, in-place upgrade, etc.
|
||||
|
||||
If you don't know much about the Kubernetes DaemonSet, we strongly recommend you read its documents before learning Advanced DaemonSet.
|
||||
- [Concept of Kubernetes DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/)
|
||||
|
|
|
@ -3,7 +3,7 @@ title: Advanced StatefulSet
|
|||
---
|
||||
|
||||
This controller enhances the rolling update workflow of [Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
controller from aspects, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
controller in large-scale scenarios, such as adding maxUnavailable and introducing in-place update strategy.
|
||||
|
||||
If you don't know much about the Kubernetes StatefulSet, we strongly recommend you read its documents before learning Advanced StatefulSet.
|
||||
- [Concept of Kubernetes StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)
|
||||
|
@ -279,4 +279,4 @@ This is same to the upstream StatefulSet (K8s >= 1.23 [alpha]), please refer to
|
|||
|
||||
**FEATURE STATE:** Kruise v0.8.0
|
||||
|
||||
This is similar to [Lifecycle hook of CloneSet](./cloneset#lifecycle-hook).
|
||||
This is similar to [Lifecycle hook of CloneSet](./cloneset#lifecycle-hook).
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
title: CloneSet
|
||||
---
|
||||
|
||||
This controller provides advanced features to efficiently manage stateless applications that
|
||||
do not have instance order requirement during scaling and rollout. Analogously,
|
||||
CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
This controller provides advanced features to efficiently manage stateless applications in large-scale scenarios that
|
||||
do not have instance order requirement during scaling and rollout.
|
||||
Analogously, CloneSet can be recognized as an enhanced version of upstream `Deployment` workload, but it does many more.
|
||||
|
||||
As name suggests, CloneSet is a [Set -suffix controller](/blog/workload-classification-guidance) which
|
||||
manages Pods directly. A sample CloneSet yaml looks like following:
|
||||
|
|
Loading…
Reference in New Issue