To install or upgrade to the old version, see installation doc.
Change log since v1.2.0
New CRD and Controller: PodProbeMarker
Kubernetes provides three Pod lifecycle management:
- Readiness Probe Used to determine whether the business container is ready to respond to user requests. If the probe fails, the Pod will be removed from Service Endpoints.
- Liveness Probe Used to determine the health status of the container. If the probe fails, the kubelet will restart the container.
- Startup Probe Used to know when a container application has started. If such a probe is configured, it disables liveness and readiness checks until it succeeds.
So the Probe capabilities provided in Kubernetes have defined specific semantics and related behaviors.
In addition, there is actually a need to customize Probe semantics and related behaviors, such as:
- GameServer defines Idle Probe to determine whether the Pod currently has a game match, if not, from the perspective of cost optimization, the Pod can be scaled down.
- K8S Operator defines the main-secondary probe to determine the role of the current Pod (main or secondary). When upgrading, the secondary can be upgraded first,
so as to achieve the behavior of selecting the main only once during the upgrade process, reducing the service interruption time during the upgrade process.
So we provides the ability to customize the Probe and return the result to the Pod yaml.
For more detail, please refer to its documentation and proposal.
SidecarSet
- SidecarSet support to inject pods under kube-system,kube-public namespace. (#1084, @zmberg)
- SidecarSet support to inject specific history sidecar container to Pods. (#1021, @veophi)
- SidecarSet support to inject pod annotations.(#992, @zmberg)
AdvancedCronJob
WorkloadSpread
CloneSet
- CloneSet supports to calculate scale number excluding Pods in PreparingDelete. (#1024, @FillZpp)
- Optimize CloneSet queuing when cache has just synced. (#1026, @FillZpp)
PodUnavailableBudget
Advanced DaemonSet
- Allow optional filed max unavilable in ads, and set default value 1. (#1007, @ABNER-1)
- Fix DaemonSet surging with minReadySeconds. (#1014, @FillZpp)
- Optimize Advanced DaemonSet internal new pod for imitating scheduling. (#1011, @FillZpp)
- Advanced DaemonSet support pre-download image. (#1057, @ABNER-1)
Advanced StatefulSet
Others
- Optimize performance of LabelSelector conversion. (#1068, @FillZpp)
- Reduce kruise-manager memory allocation. (#1015, @FillZpp)
- Pod state from updating to Normal should all hooked. (#1022, @shiyan2016)
- Fix go get in Makefile with go 1.18. (#1036, @astraw99)
- Fix EphemeralJob spec.replicas nil panic bug. (#1016, @hellolijj)
- Fix UnitedDeployment reconcile don't return err bug. (#991, @huiwq1990)