Commit Graph

1048 Commits

Author SHA1 Message Date
Michael Fraenkel
cd949bafa4 use MakePodSpec consistently (#125805)
cleaning up some tests after MakePod/MakePodSpec were introduced
2024-06-30 10:28:36 -07:00
Kubernetes Prow Robot
93d56511e6 Merge pull request #125021 from aojea/servicecidrbeta
KEP-1880 Multiple Service CIDRs: Graduate to Beta (2/2)
2024-06-30 08:53:25 -07:00
Antonio Ojea
0e1f9dadd6 modify components to use the networking v1beta1 API 2024-06-30 09:48:46 +00:00
Michael Fraenkel
a7264f95ff pod terminationGracePeriodSeconds is always valid (#124461)
* Pod terminationGracePeriodSeconds is always valid

Validation of a pod spec will always use the pod's
TerminationGracePeriodSeconds value.

A set of pod test-helpers have been created to help construct Pods.

* remove unused func

* reduction

* reduce 2

* simplify test

* report invalid grace period

* update SupplementalGroupPolicy tests
2024-06-29 18:09:29 -07:00
Antonio Ojea
476b415873 simplify test code using the if with a short statement 2024-06-27 11:44:27 +00:00
Antonio Ojea
69360e9b5e fix wrong comment on method to detect IPs out of ranges 2024-06-27 11:41:47 +00:00
Antonio Ojea
967ad95b53 use an AND to define the allocator readiness 2024-06-27 11:39:36 +00:00
Antonio Ojea
fed0517fba fix typo enque should be enqueue 2024-06-27 11:37:32 +00:00
Antonio Ojea
9b1bad431b implement dual write on Service ClusterIP allocator
MultiCIDRServiceAllocator implements a new ClusterIP allocator based on
IPAddress object to solve the problems and limitations caused by
existing bitmap allocators.

However, during the rollout of new versions, deployments need to support
a skew of one version between kube-apiservers. To avoid the possible
problem where there are multiple Services requests on the skewed
apiservers and that both allocate the same IP to different Services,
the new allocator will implement a dual-write strategy under the
feature gate DisableAllocatorDualWrite.

After the MultiCIDRServiceAllocator is GA, the DisableAllocatorDualWrite
can be enabled safely as all apiservers will run with the new
allocators. The graduation of DisableAllocatorDualWrite can also
be used to clean up the opaque API object that contains the old bitmaps.

If MultiCIDRServiceAllocator is enabled and DisableAllocatorDualWrite is disable
and is a new environment, there is no bitmap object created, hence, the
apiserver will initialize it to be able to write on it.
2024-06-27 11:33:36 +00:00
Antonio Ojea
418f98aae4 repairip wait for the default servicecidr 2024-06-27 11:33:36 +00:00
Antonio Ojea
b04ca186d8 replace the iptree on the ipallocator
ServiceCIDRs are protected by finalizers and the CIDRs fields are
inmutable once set, only the readiness state impact the allocator
as it can only allocate IPs if any of the ServiceCIDR is ready.

The Add/Update events triggers a reconcilation of the current state
of the ServiceCIDR present in the informers with the existing IP
allocators.

The Delete events are handled directly to update or delete the
corresponing IP allocator.
2024-06-27 11:33:36 +00:00
Antonio Ojea
f06b355daf replace iptree on the repairip controller 2024-06-27 11:33:35 +00:00
Antonio Ojea
55c9b58e48 add new metric to record the latency to allocate an IP address 2024-06-27 11:33:35 +00:00
Kubernetes Prow Robot
fb0195df11 Merge pull request #123428 from atiratree/UnhealthyPodEvictionPolicy-GA
promote PDBUnhealthyPodEvictionPolicy to GA
2024-06-25 21:56:20 -07:00
Siyuan Zhang
403301bfdf apiserver: Add API emulation versioning.
Co-authored-by: Siyuan Zhang <sizhang@google.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
Co-authored-by: Alex Zielenski <zielenski@google.com>

Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-06-25 22:12:11 +00:00
Filip Křepinský
68d34580e0 promote PDBUnhealthyPodEvictionPolicy to GA 2024-06-21 16:13:53 +02:00
Kubernetes Prow Robot
1519f80281 Merge pull request #125514 from DrAuYueng/remove-redundant-nil-check
Remove redundant nil check
2024-06-20 01:22:18 -07:00
Kubernetes Prow Robot
b616d91675 Merge pull request #122636 from lianghao208/pod_condition
kube-scheduler: fix empty lastTransitionTime in pod condition
2024-06-18 10:39:35 -07:00
DrAuYueng
52959abc95 Remove redundant nil check 2024-06-14 22:28:07 +08:00
Michal Wozniak
70f7c02bea Cleanup eviction tests to make linter happy 2024-06-12 11:26:37 +02:00
Kubernetes Prow Robot
ac30b6a0e1 Merge pull request #121900 from carlory/rc-registry-test
rc registry: add unit test for UpdateStatus
2024-05-08 15:13:27 -07:00
xuzhenglun
6d7a194e85 Remove GA ServiceNodePortStaticSubrange feature gate 2024-05-08 15:15:02 +08:00
Alvaro Aleman
6d0ac8c561 Use the generic/typed workqueue throughout
This change makes us use the generic workqueue throughout the project in
order to improve type safety and readability of the code.
2024-05-04 14:33:12 -04:00
Marek Siarkowicz
3ee8178768 Cleanup defer from SetFeatureGateDuringTest function call 2024-04-24 20:25:29 +02:00
Kubernetes Prow Robot
534d7cbc1a Merge pull request #123905 from aojea/field_selector
Field selector for Services based on ClusterIP and Type
2024-04-19 15:30:55 -07:00
carlory
98353f1338 rc registry: add unit test for UpdateStatus 2024-04-16 14:57:01 +08:00
Lan Liang
9236425df6 pkg/registry: drop pointer wrapper functions.
The new k8s.io/utils/ptr package provides generic wrapper functions,
which can be used instead of type-specific pointer wrapper functions.
This replaces the latter with the former, and migrates other uses of
the deprecated pointer package to ptr in affacted files.

See kubernetes/utils#283 for details.

Signed-off-by: Lan Liang <gcslyp@gmail.com>
2024-04-15 14:34:53 +00:00
Lan Liang
78762c70db u 2024-04-15 09:24:44 +00:00
Antonio Ojea
8f306d8046 services fielse selector for type
Change-Id: I57e934c520713713d4b0616a52519ec51c49e0fc
2024-04-11 13:09:36 +00:00
Antonio Ojea
c37e14364c implement field selector for clusterIP on services
This will allow components that don't need to watch headless services
(heavily used on ai/ml workloads) to filter them server side.

Specially useful for kubelet and kube-proxy

Change-Id: If36c2c27f2ec80db400c9133c61428d14e124f3e
2024-04-11 13:09:33 +00:00
Akihiro Suda
1dc05009fe api: NodeStatus: rename RuntimeClasses to RuntimeHandlers
The runtime classes are apiserver's concept, while the handlers are kubelet's concept.
For NodeStatus, it makes more sense to return the latter ones here.

This commit modifies the following files:

- pkg/apis/core/types.go
- staging/src/k8s.io/api/core/v1/types.go
- pkg/kubelet/nodestatus/setters.go
- pkg/kubelet/kubelet_node_status.go
- pkg/registry/core/node/strategy.go
- test/e2e_node/mount_rro_linux_test.go

Other changes were auto-generated by running `make update`.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-03-14 08:06:39 +09:00
Antonio Ojea
7ab1ef644e Revert "Implement a field selector for ClusterIP on Services" 2024-03-12 12:20:27 +00:00
Akihiro Suda
8828530fd5 node: dropDisabledFields: recognize RecursiveReadOnlyMounts gate
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-03-09 09:48:13 +09:00
Tim Allclair
7bd78b06e9 Warn on deprecated AppArmor annotation use 2024-03-07 09:51:48 -08:00
Kubernetes Prow Robot
bd25605619 Merge pull request #123435 from tallclair/apparmor-ga
AppArmor fields API
2024-03-06 15:35:14 -08:00
Tim Allclair
2d86cbf261 Separate feature-gate for AppArmor fields 2024-03-06 10:46:32 -08:00
Tim Allclair
06caf32ecd Validate localhost profile max length 2024-03-06 10:46:31 -08:00
Tim Allclair
0eb5f52d06 Rename AppArmor annotation constants with Deprecated 2024-03-06 10:46:31 -08:00
Kubernetes Prow Robot
5b4d97dc5a Merge pull request #122541 from aojea/headless_selector
Implement a field selector for ClusterIP on Services
2024-03-05 17:30:57 -08:00
Tim Allclair
ec325b328d Match annotations against pod AppArmor field 2024-03-05 12:22:50 -08:00
Tim Allclair
289ec02e8b Implement version skew strategy 2024-03-05 12:22:50 -08:00
Antonio Ojea
0595ec7942 implement field selector for clusterIP on services
This will allow components that don't need to watch headless services
(heavily used on ai/ml workloads) to filter them server side.

Specially useful for kubelet and kube-proxy

Co-authored-by: Jianbo Ma <sakuranlbj@gmail.com>

Change-Id: I6434d2c8c77aaf725ec5c07acbcda14311f24bfa

Change-Id: Iba9e25afb90712facfb3dee25c500bbe08ef38fc
2024-03-05 17:16:42 +00:00
Kubernetes Prow Robot
a76a3e031f Merge pull request #123487 from gauravkghildiyal/kep-4444
Introduce trafficDistribution field for Kubernetes Services
2024-03-04 20:07:15 -08:00
Kubernetes Prow Robot
439f7df65b Merge pull request #122320 from armstrongli/master
allow service NodePort to be updated to 0 in case AllocateLoadBalance…
2024-03-04 18:38:05 -08:00
Sean Sullivan
8b447d8c97 portforward: tunnel spdy through websockets 2024-03-04 11:10:30 -08:00
Gaurav Ghildiyal
996d11d4e8 Add new field trafficDistribution to Service spec 2024-03-03 22:34:17 -08:00
Wei Huang
01db4ae9e7 Graduate PodSchedulingReadiness to stable 2024-02-28 23:18:44 -08:00
Ricardo Katz
d816ab7657 Promote LoadBalancerIPMode to Beta 2024-02-22 08:35:12 -03:00
Kubernetes Prow Robot
0deaf12b88 Merge pull request #123044 from yanhuan0802/fix-incorrect-comment
fix: correct incorrect comment & function name about SchedulingGated
2024-02-20 09:42:03 -08:00
AxeZhan
c74ec3df09 graduate PodLifecycleSleepAction to beta 2024-02-19 19:40:52 +08:00