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:
berg 2023-01-17 11:13:34 +08:00 committed by GitHub
parent 554de5b88e
commit c8abd2bc3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 50 additions and 50 deletions

View File

@ -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.

View File

@ -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/)

View File

@ -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).

View File

@ -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:

View File

@ -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.

View File

@ -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`.

View File

@ -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`.

View File

@ -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:

View File

@ -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.

View File

@ -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`.

View File

@ -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`.

View File

@ -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:

View File

@ -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.

View File

@ -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.

View File

@ -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/)

View File

@ -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:

View File

@ -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.

View File

@ -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"`
/*********************************************************************/
/*********************************************************************/
}
```

View File

@ -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).

View File

@ -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

View File

@ -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.

View File

@ -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/)

View File

@ -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).

View File

@ -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: