Commit Graph

58 Commits

Author SHA1 Message Date
Arda Güçlü
b82572f6f6 Do not attempt to truncate revision history if revisionHistoryLimit is negative 2024-12-20 10:03:38 +03:00
Filip Křepinský
85d55b6737
fix stateful set pod recreation and event spam (#123809)
* fix pods tracking and internal error checking in statefulset tests

* fix stateful set pod recreation and event spam

- do not emit events when pod reaches terminal phase
- do not try to recreate pod until the old pod has been removed from
  etcd storage

* fix conflict race in statefulset rest update

statefulset controller does less requests per sync now and thus can
reconcile status faster, thus resulting in a higher chance for conflicts
2024-04-18 01:03:46 -07:00
weilaaa
eb8f3f194f use build-in max and min func to instead of k8s.io/utils/integer funcs 2023-12-15 15:09:11 +08:00
Kubernetes Prow Robot
05765a851c
Merge pull request #121389 from aleksandra-malinowska/sts-restart-always
Resubmit "Make StatefulSet restart pods with phase Succeeded"
2023-10-30 21:11:51 +01:00
Aleksandra Malinowska
e07d898cfd Make StatefulSet restart pods with phase Succeeded 2023-10-26 15:34:01 +02:00
Aleksandra Malinowska
5ed60a72f6
Revert "Make StatefulSet restart pods with phase Succeeded" 2023-09-19 15:49:36 +02:00
Aleksandra Malinowska
d7264d0af0 Make StatefulSet restart pods with phase Succeeded 2023-09-08 17:47:17 +02:00
lowang-bh
2f576969ee reducae function calling to once
Signed-off-by: lowang-bh <lhui_wang@163.com>
2023-08-20 19:36:50 +08:00
Aleksandra Malinowska
63e5b6bdb2 Parallel StatefulSet pod create & delete 2023-06-20 12:15:21 +02:00
Aleksandra Malinowska
2fb472c83c Refactor StatefulSet controller update logic 2023-06-20 12:14:25 +02:00
kerthcet
3f1d8e7aeb Apply to use contextual logging for all loggers in statefulSet
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-05-18 16:55:19 +08:00
ZhangKe10140699
a239b9986b Migrated the StatefulSet controller (within `kube-controller-manager) to use [contextual logging](https://k8s.io/docs/concepts/cluster-administration/system-logs/#contextual-logging) 2023-03-08 18:57:57 +08:00
Rahul Rangith
2f0eb543c7 New function for creating missing pvcs 2023-01-17 10:21:42 -05:00
Rahul Rangith
3cf636b22e PR feedback 2023-01-17 10:21:41 -05:00
Rahul Rangith
c1cc18ccd5 Automatically recreate pvc when sts pod is stuck in pending 2023-01-17 10:21:41 -05:00
Filip Křepinský
ec0b200f3d statefulset: handle API error on pod deletion
when new revision is being rolled out
2022-11-10 22:47:23 +01:00
Peter Schuurman
7b3d77a41a Adding implementation of KEP-3335, StatefulSetSlice 2022-11-08 07:48:00 -08:00
Gunju Kim
6559050ee1
StatefulSet: Cleanup the complex defer function updating the status
In the long term, the complex defer function makes the code harder to
maintain as code after it should take that into account. This removes
the complex defer function updating the status of a statefulset.
2022-11-08 08:39:42 +09:00
Ravi Gudimetla
9144250a92 Promote minReadySeconds to GA 2022-07-13 11:37:10 -04:00
FillZpp
1818a9a36a A calculation function for StatefulSet maxUnavailable and some tests for it
Signed-off-by: FillZpp <FillZpp.pub@gmail.com>
2022-05-31 16:45:19 +08:00
FillZpp
85e3194cf6 Fix maxUnavailable of StatefulSet should not less than 1
Signed-off-by: FillZpp <FillZpp.pub@gmail.com>
2022-05-16 16:58:19 +08:00
Aohan Yang
774df1b0af Be sure to update the status of StatefulSet even if the new replica creation fails 2022-05-10 10:25:26 +08:00
Mayank Kumar
2733b66e80 add maxUnavailable implementation and UT 2022-03-28 11:01:05 -07:00
Kubernetes Prow Robot
83988399e8
Merge pull request #106109 from h4ghhh/sts_klog_InfoS
Migrate statefulset files to structured logging
2022-03-26 10:37:20 -07:00
00255991
cc2b2cda18 Migrate statefulset pkg files to structured logging 2022-01-26 10:47:24 +08:00
Matthew Cary
0e2b901762 Clean up deep copy needed for UpdateStatefulSet
Change-Id: Id732358183d682d1a945cfee56f83bcaac0d7c31
2021-11-23 06:48:54 -08:00
Matthew Cary
bce87a3e4f controller change for statefulset auto-delete (implementation) 2021-11-17 16:48:50 -08:00
Mike Dame
41fcb95f2f Wire contexts to Apps controllers 2021-10-13 16:32:13 -04:00
ravisantoshgudimetla
ceb1dbd2f1 statefulsets: MinReadySeconds implementation
https://github.com/kubernetes/kubernetes/pull/100842
introduced featuregate. This PR implements the logic
behind it.
2021-06-15 12:59:54 -04:00
Shintaro Murakami
acc970399d Remove redundant variable
The variable firstUnhealthyOrdinal is redundant because replicas and condemned are already sorted in ascending order.
2020-10-16 09:53:34 +09:00
Davanum Srinivas
442a69c3bd
switch over k/k to use klog v2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:27 -04:00
Nan Yu
89bb7d8454 Honor the RevisionHistoryLimit in StatefulSetSpec
The StatefulSet controller cleans up ControllerRevisions at the end of
the reconcile loop. If something goes wrong during reconcile, it bails
out without actually performing this step. This commit moves the cleanup
to a deferred function call to guarantee it will be executed.

Fixes issue: https://github.com/kubernetes/kubernetes/issues/85690
2020-02-18 10:42:38 -08:00
Ted Yu
7a2edb780a Break out of loop when currentRevision is found in defaultStatefulSetControl#getStatefulSetRevisions 2019-05-26 09:22:58 -07:00
Draven
df190a0197
fix: typo in stateful_set_control 2019-02-27 18:16:50 +08:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Pingan2017
38c6dcf519 fix typo: scale dowm-> scale down 2018-08-01 10:39:59 +08:00
Faraaz Khan
594e228a17 set updated replicas correctly in scale up, scale down scenarios as well 2018-04-25 20:46:17 -05:00
Faraaz Khan
beec45b4de set updated replicas 2018-04-25 20:46:17 -05:00
Marek Grabowski
b27157a271 Increase loging verbosity for deleting stateful set pods 2018-03-01 09:33:18 +00:00
dhilipkumars
aba725a391 Promote SS to apps/v1 2018-01-18 13:48:52 +05:30
Tomas Nozicka
f6af1904cd Make StatefulSet report an event when recreating failed pod 2017-11-09 12:23:37 +01:00
Dr. Stefan Schimanski
1d053c4f7c controllers: simplify deepcopy calls 2017-08-29 19:21:24 +02:00
crimsonfaith91
ebdbafd2c5 statefulSet kubectl rollout command 2017-08-24 16:43:03 -07:00
Yinan Li
46c6aea1cf Use CollisionCount for collision avoidance in StatefulSet controller 2017-08-18 06:49:02 -07:00
Chao Xu
60604f8818 run hack/update-all 2017-06-22 11:31:03 -07:00
Chao Xu
cde4772928 run ./root-rewrite-all-other-apis.sh, then run make all, pkg/... compiles 2017-06-22 11:30:52 -07:00
Chao Xu
f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Kenneth Owens
45eeaab715 Fixes a bug where RollingUpdateStrategy combined with Parallel pod management allows for more than one Pod to be unready during update. We want this behavior during turn up and turn down but not during update. Otherwise we risk violating reasonable disruption budgets. 2017-06-19 06:53:46 -07:00
Kenneth Owens
b1ce1ffc55 Removes PartitionStatefulSetStrategyType and Partition from UpdateStrategy and replaces them with a parameterized RollingUpdate strategy. 2017-06-12 10:06:09 -07:00
Kenneth Owens
1b55f57391 Implements StatefulSet update
Implements history utilities for ControllerRevision in the controller/history package
StatefulSetStatus now has additional fields for consistency with DaemonSet and Deployment
StatefulSetStatus.Replicas now represents the current number of createdPods and StatefulSetStatus.ReadyReplicas is the current number of ready Pods
2017-06-06 12:00:28 -07:00