Commit Graph

4004 Commits

Author SHA1 Message Date
Tim Hockin
151509fb74
Remove unreachable warning on volume name dup
Volume names are validated to be unique and always have been.  The cited
issues are all about apply getting messed up, not the aspiserver
allowing dups.

```
$ k create -f /tmp/bad.yaml
The Deployment "bad-volumes-test" is invalid: spec.template.spec.volumes[1].name: Duplicate value: "config"

$ k apply --server-side -f /tmp/bad.yaml
Error from server: failed to create typed patch object (default/bad-volumes-test; apps/v1, Kind=Deployment): .spec.template.spec.volumes: duplicate entries for key [name="config"]

$ k apply -f /tmp/bad.yaml -o json | jq '.spec.template.spec.volumes'
The Deployment "bad-volumes-test" is invalid: spec.template.spec.volumes[1].name: Duplicate value: "config"
```
2023-06-07 17:14:49 -07:00
Tim Hockin
0ddaa7f7c9
Fix warnings on "duplicate" env vars
Some use-cases are not actually wrong
2023-06-07 15:59:36 -07:00
Paco Xu
7a80d7c839 add warning for duplicate containers[*].ports with the same port, protocol, hostPort, and hostIP 2023-06-06 14:52:48 +08:00
Humble Chirammal
c009667c6c deprecate CephFS plugin from available in-tree drivers.
https://groups.google.com/a/kubernetes.io/g/dev/c/g8rwL-qnQhk
based on above, the consensus was to start the deprecation in v1.28.

This commit start the deprecation process of CephFS plugin from
in-tree drivers.

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-06-05 23:26:43 +05:30
Kubernetes Prow Robot
0bb17a88fa
Merge pull request #116741 from gjkim42/promote-expanded-dns-config-to-ga
Promote ExpandedDNSConfig feature to the GA stage
2023-05-30 18:19:56 -07:00
Paco Xu
64c9070f8d add pod containers[*].port duplicate warning 2023-05-30 10:57:04 +08:00
Kubernetes Prow Robot
2f0c2e50d4
Merge pull request #117036 from haoruan/bugfix/warning-on-deprecated-annotations
emit warning on deprecated annotation volume.beta.kubernetes.io/storage-class
2023-05-16 11:59:37 -07:00
Hao Ruan
19ae103e82 emit warning on deprecated annotation volume.beta.kubernetes.io/storage-class 2023-05-16 10:19:01 +08:00
Daniel Smith
1ffe3f467e lavalamp is taking a long break 2023-05-11 16:43:38 +00:00
Ryan Phillips
ae08fe1e19 ProbeTerminationGracePeriod promote to GA 2023-05-05 14:27:54 -05:00
Gunju Kim
b249b4ca9b
Promote ExpandedDNSConfig feature to the GA stage 2023-05-04 20:37:10 +09:00
Stephen Kitt
4911e9de4a
api: replace intstr.FromInt with intstr.FromInt32
This touches cases where FromInt() is used on numeric constants, or
values which are already int32s, or int variables which are defined
close by and can be changed to int32s with little impact.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-05-01 09:16:15 +02:00
Kubernetes Prow Robot
c9180e445c
Merge pull request #117025 from sanposhiho/warning-in-empty-selector
feature(pkg/api): warning for Pod with null labelSelector in PodAffinity and TopologySpread
2023-04-13 16:00:39 -07:00
Tim Hockin
bc302fa414
Replace uses of ObjectReflectDiff with cmp.Diff
ObjectReflectDiff is already a shim over cmp.Diff, so no actual output
or behavior changes
2023-04-12 08:48:03 -07:00
Tim Hockin
dd7af241c1
Replace diff.ObjectDiff with cmp.Equal
More obvious and cheaper, and ObjectDiff is already written in terms of
cmp.
2023-04-12 08:45:32 -07:00
Tim Hockin
97bab44cae
Replace apimachinery diff.StringDiff with cmp
I forced failures of most of these tests and verified readability
2023-04-12 08:45:31 -07:00
Kubernetes Prow Robot
f5401624ee
Merge pull request #117171 from brianpursley/kubectl-1110-tests
Add unit tests showing the effect of unlimited containers when calculating pod limits
2023-04-11 21:17:35 -07:00
Kubernetes Prow Robot
d0fc9d16ce
Merge pull request #114800 from haoruan/feature-8976-spew-sprintf-refactor
Capture spew.Sprintf() with all our favorite config into a util func
2023-04-11 15:34:57 -07:00
Brian Pursley
b04ca79445 Add unit tests showing the effect of unlimited containers when calculating pod limits.
This behavior is surprising to some users (see kubectl issues #1110 and #1385), who expect that an unlimited container will result in an unlimited pod, but that is not how PodLimits() works, as it ignores any containers that do not specify limits when calculating the pod limits.

This commit adds unit tests that confirm this behavior.
2023-04-08 18:55:45 -04:00
Kensei Nakada
e389d140ae fix as suggested 2023-04-01 10:34:57 +00:00
Kensei Nakada
ffcf3ee6f8 feature(pkg/api): warning for Pod with null labelSelector in PodAffinity and TopologySpread 2023-03-31 02:15:04 +00:00
Hao Ruan
f638e2849f replaced spew.Sprintf with a util pretty print function 2023-03-27 09:24:22 +08:00
Rob Scott
9e571c0424
Adding validation for topology annotations
Change-Id: I50b3b05b859c69e98daca7c8fca0d3a76024eb80
2023-03-15 18:37:02 +00:00
Kubernetes Prow Robot
9053b5dc2c
Merge pull request #116119 from vinaykul/restart-free-pod-vertical-scaling-fixes
Restructure resize policy naming and set default resize policy values
2023-03-14 19:26:42 -07:00
Patrick Ohly
29941b8d3e api: resource.k8s.io v1alpha1 -> v1alpha2
For Kubernetes 1.27, we intend to make some breaking API changes:
- rename PodScheduling -> PodSchedulingHints (https://github.com/kubernetes/kubernetes/issues/114283)
- extend ResourceClaimStatus (https://github.com/kubernetes/enhancements/pull/3802)

We need to switch from v1alpha1 to v1alpha2 for that.
2023-03-14 07:52:03 +01:00
vinay kulkarni
9a805db010 Set default resize policy only for specified resource types, rename RestartNotRequired -> NotRequired 2023-03-12 23:46:40 +00:00
vinay kulkarni
8b23497ae7 Restructure naming of resource resize restart policy 2023-03-12 23:11:32 +00:00
Kubernetes Prow Robot
3c6e419cc3
Merge pull request #116450 from vinaykul/restart-free-pod-vertical-scaling-api
Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources
2023-03-12 16:06:40 -07:00
mantuliu
08a69d6341 Improve performance of method PodRequests
Signed-off-by: mantuliu <240951888@qq.com>
2023-03-12 16:29:56 +08:00
Kubernetes Prow Robot
0010333bdd
Merge pull request #116161 from danielvegamyhre/mutable-scheduling-directives
Mutable pod scheduling directives
2023-03-10 12:40:58 -08:00
Daniel Vega-Myhre
86f41dc012 mutable pod scheduling directives 2023-03-10 18:30:09 +00:00
vinay kulkarni
d011cc4d87 Fix up after rebasing on top of dedup pod resource req calculation PR 2023-03-10 15:21:56 +00:00
vinay kulkarni
01b96e7704 Rename ContainerStatus.ResourcesAllocated to ContainerStatus.AllocatedResources 2023-03-10 14:49:26 +00:00
Todd Neal
4096c9209c dedupe pod resource request calculation 2023-03-09 17:15:53 -06:00
Vinay Kulkarni
76962b0fa7 In-place Pod Vertical Scaling - API changes
1. Define ContainerResizePolicy and add it to Container struct.
 2. Add ResourcesAllocated and Resources fields to ContainerStatus struct.
 3. Define ResourcesResizeStatus and add it to PodStatus struct.
 4. Add InPlacePodVerticalScaling feature gate and drop disabled fields.
 5. ResizePolicy validation & defaulting and Resources mutability for CPU/Memory.
 6. Various fixes from code review feedback (originally committed on Apr 12, 2022)
KEP: /enhancements/keps/sig-node/1287-in-place-update-pod-resources
2023-02-24 17:18:04 +00:00
Kubernetes Prow Robot
cfb32121c1
Merge pull request #115928 from pohly/dra-resource-requirements-pvc
DRA resource requirements in PVC
2023-02-24 08:39:35 -08:00
Patrick Ohly
f32302e744 api: drop Resources.Claims from PVC and PVC template
PVC and containers share the same ResourceRequirements struct. The Claims field
in it only makes sense when used in containers. When used in a PVC, the field
should have been rejected by validation. This was overlooked when introducing
it, so now persisted objects might have it set and/or people may have started
to rely on it being accepted even when it has no effect.

Therefore we cannot reject it in validation anymore, but we can still strip
it out on create or update.
2023-02-24 16:32:58 +01:00
Kubernetes Prow Robot
aa98f6f4da
Merge pull request #115606 from wzshiming/fix/termination_grace_period_seconds
`pod.spec.terminationGracePeriodSeconds` is a negative then convert to 1
2023-02-23 07:35:35 -08:00
Shiming Zhang
4bdc1364ea Warn if the terminationGracePeriodSeconds is negative.
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2023-02-22 13:36:15 +08:00
Sascha Grunert
0c2136ab54
Graduate DownwardAPIHugePages feature to stable / GA
This update updates the feature documentation for its GA graduation.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-02-20 09:52:39 +01:00
Kubernetes Prow Robot
2ca95b4df9
Merge pull request #115035 from xing-yang/update_plugin_warning
Update warnings for removed in-tree plugins
2023-01-13 12:08:26 -08:00
Kubernetes Prow Robot
6ce055d62d
Merge pull request #114947 from saschagrunert/seccomp-ga-cleanup
Make seccomp annotations non-functional
2023-01-12 13:48:54 -08:00
xing-yang
07a1bc5b3e Update warnings for removed in-tree plugins 2023-01-12 16:25:00 -05:00
Sascha Grunert
af1f6a230b
Make seccomp annotations non-functional
This cleanup has been planned to finish the corresponding KEP:
https://github.com/kubernetes/kubernetes/issues/91286

As follow-up on the partly removal of the seccomp annotations in
https://github.com/kubernetes/kubernetes/pull/109819, we now drop
the version skew handling completely, but still warn as well as keep
the validation in place if both (annotation and field) are set.

The Pod Security Admission code has been already changed in
https://github.com/kubernetes/kubernetes/pull/114846.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-01-12 17:11:52 +01:00
Paco Xu
99d402e58f remove psp api utils 2023-01-06 17:07:02 +08:00
Paco Xu
25686a2c77 remove psp in extensions api/apis 2023-01-06 17:07:02 +08:00
Antonio Ojea
1b804fc87c Services API: warnings
The Services API should warn users about some IP addresses
representations, mainly because some of them are not allowed
by the golang std parsers since go 1.17

Specifically:

- IPv4 addresses with leading zeros, that may cause security risks
- IPv6 addresses in non canonical format, that may cause problems
with controllers hotlooping or cause security issues

Change-Id: Ife50a651d1b22dc4c318e42bd3e5f2e5f88ecbcd
2022-12-16 11:54:05 +00:00
Kubernetes Prow Robot
cb03415326
Merge pull request #111802 from maaoBit/fix-labelSelectorValidate-missing
Validate labelSelector in topologySpreadConstraints
2022-12-12 18:47:44 -08:00
Kubernetes Prow Robot
923ee203f3
Merge pull request #110991 from thockin/svc-typenames-starTrafficPolicyType
Svc typenames star traffic policy type
2022-12-12 18:47:33 -08:00
Tim Hockin
dd0a50336e
ServiceInternalTrafficPolicyType: s/Type//
Rename ServiceInternalTrafficPolicyType => ServiceInternalTrafficPolicy
2022-12-11 13:48:31 -08:00
Tim Hockin
d0e2b06850
ServiceExternalTrafficPolicyType: s/Type//
Rename ServiceExternalTrafficPolicyType => ServiceExternalTrafficPolicy
2022-12-11 13:48:27 -08:00
maao
a796707396 Validate labelSelector in topologySpreadConstraints
Signed-off-by: maao <maao420691301@gmail.com>
2022-11-28 09:46:46 +08:00
TommyStarK
43726e8403 pkg/api/persistentvolume: Improving test coverage.
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2022-11-21 17:18:24 +01:00
Patrick Ohly
5cca60f0b8 api: dynamic resource allocation API
This adds a new resource.k8s.io API group with v1alpha1 as version. It contains
four new types: resource.ResourceClaim, resource.ResourceClass, resource.ResourceClaimTemplate, and
resource.PodScheduling.
2022-11-10 20:08:24 +01:00
Patrick Ohly
7d11b422e3 api: add resource claims to core API
The resource.k8s.io/ClaimTemplate only gets referenced by name, therefore the
changes to the core API are limited.
2022-11-10 20:08:24 +01:00
Takafumi Takahashi
87c1ca88d4 Add API and validation for CrossNamespaceVolumeDataSource 2022-11-09 20:58:25 +00:00
Abu Kashem
ca949d5188 apiserver: set borrowing defaults for flowcontrol API 2022-11-08 13:22:59 -08:00
Jordan Liggitt
fc69084bf1
Update workload selector validation 2022-11-07 20:52:02 -05:00
Manjusaka
0843c4dfca
Add extra value validation for matchExpression field in LabelSelector 2022-11-07 20:48:21 -05:00
Kubernetes Prow Robot
595ea32411
Merge pull request #113314 from cici37/celIntegration
CEL validation in Admission chain
2022-11-07 17:08:33 -08:00
Cici Huang
0486e06261 Adding new api version of admissionregistration.k8s.io v1alpha1 for CEL in Admission Control 2022-11-07 20:51:51 +00:00
Wei Huang
7b6293b6b6
APIs, Validation and condition enforcements
- New API field .spec.schedulingGates
- Validation and drop disabled fields
- Disallow binding a Pod carrying non-nil schedulingGates
- Disallow creating a Pod with non-nil nodeName and non-nil schedulingGates
- Adds a {type:PodScheduled, reason:WaitingForGates} condition if necessary
- New literal SchedulingGated in the STATUS column of `k get pod`
2022-11-03 14:32:34 -07:00
Mark Rossetti
498d065cc5
Promoting WindowsHostProcessContainers to stable
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-11-01 14:06:25 -07:00
Paco Xu
140502af8c add warning for PVC template in statefulset and in pod ephemeral volume source 2022-10-22 09:14:03 +08:00
Paco Xu
ca94a89414 pvc warning for storage request: add unit test 2022-10-21 16:56:41 +08:00
Paco Xu
0b848bee4e pvc storage request warning for fractional byte value
- create or update
2022-10-21 16:15:55 +08:00
Dipankar Das
54ddcdce21
Code Refactoring of Pod under pkg/api (#112085)
* Code Refactoring

- added some function comments
- spelling errors

Signed-off-by: Dipankar Das <dipankardas0115@gmail.com>

* Some typo fix in resource under pkg/api/v1

Signed-off-by: Dipankar Das <dipankardas0115@gmail.com>

* Grammer corrections in api/v1/pod

Signed-off-by: Dipankar Das <dipankardas0115@gmail.com>

* Function description changes in pkg/api/v1

- pod
- resource

Signed-off-by: Dipankar Das <dipankardas0115@gmail.com>

Signed-off-by: Dipankar Das <dipankardas0115@gmail.com>
2022-09-26 09:20:08 -07:00
Sergey Kanzhelev
ad7199a9da remove podOverhead feature gate as a feature is now GA since 1.24 2022-09-19 19:25:16 +00:00
Jonathan Dobson
5f774832a5 Move CSIInlineVolume feature to GA 2022-08-04 13:06:30 -06:00
Kubernetes Prow Robot
442574f3a7
Merge pull request #111513 from jingxu97/july/localstorage
Promote Local storage capacity isolation feature to GA
2022-08-03 13:05:59 -07:00
Rodrigo Campos
cf8164bccf apis: add validation for HostUsers
This commit just adds a validation according to KEP-127. We check that
only the supported volumes for phase 1 of the KEP are accepted.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2022-08-03 19:53:22 +02:00
jinxu
0064010cdd Promote Local storage capacity isolation feature to GA
This change is to promote local storage capacity isolation feature to GA

At the same time, to allow rootless system disable this feature due to
unable to get root fs, this change introduced a new kubelet config
"localStorageCapacityIsolation". By default it is set to true. For
rootless systems, they can set this configuration to false to disable
the feature. Once it is set, user cannot set ephemeral-storage
request/limit because capacity and allocatable will not be set.

Change-Id: I48a52e737c6a09e9131454db6ad31247b56c000a
2022-08-02 23:45:48 -07:00
Kubernetes Prow Robot
9ef16e7908
Merge pull request #108554 from pacoxu/bad-input-1
add deprecated warning for node beta labels in pv/sc/rc/csi storage capacity
2022-08-02 10:23:44 -07:00
Sascha Grunert
584783ee9f
Partly remove support for seccomp annotations
We now partly drop the support for seccomp annotations which is planned
for v1.25 as part of the KEP:

https://github.com/kubernetes/enhancements/issues/135

Pod security policies are not touched by this change and therefore we
have to keep the annotation key constants.

This means we only allow the usage of the annotations for backwards
compatibility reasons while the synchronization of the field to
annotation is no longer supported. Using the annotations for static pods
is also not supported any more.

Making the annotations fully non-functional will be deferred to a
future release.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2022-08-01 09:19:29 +02:00
Kubernetes Prow Robot
3dc51872f0
Merge pull request #111485 from humblec/glusterfs-deprecation
deprecate GlusterFS plugin from available in-tree drivers.
2022-07-31 19:26:27 -07:00
Kubernetes Prow Robot
3902a53419
Merge pull request #111441 from denkensk/respect-topology
Respect PodTopologySpread after rolling upgrades
2022-07-30 01:40:42 -07:00
Alex Wang
e6c2bf8516 api defination for MatchLabelKeys in TopologySpreadConstraint
Signed-off-by: Alex Wang <wangqingcan1990@gmail.com>
2022-07-30 13:21:16 +08:00
Humble Chirammal
e675bfee59 deprecate GlusterFS plugin from available in-tree drivers.
GlusterFS is one of the first dynamic provisioner which made into
Kubernetes release v1.4.

https://github.com/kubernetes/kubernetes/pull/30888

When CSI plugins/drivers to start appear, glusterfs' CSI driver
came into existence, however this project is not maintianed at
present and the last release happened few years back.

https://github.com/gluster/gluster-csi-driver/releases/tag/v0.0.9

The possibilities of migration to compatible CSI driver was also
discussed https://github.com/kubernetes/kubernetes/issues/100897
and consensus was to start the deprecation in v1.25.

This commit start the deprecation process of glusterfs plugin from
in-tree drivers.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-07-29 12:18:48 +05:30
Lee Verberne
d238e67ba6 Remove EphemeralContainers feature-gate checks 2022-07-26 02:55:30 +02:00
Ravi Gudimetla
b79ebb8165 Promote PodOS field to GA 2022-07-18 23:27:58 -04:00
Kubernetes Prow Robot
b3057e7ccc
Merge pull request #106834 from mengjiao-liu/sysctl-allow-slashes
Add support for slash as sysctl separator to Pod securityContext field and to PodSecurityPolicy
2022-07-15 01:04:24 -07:00
Kubernetes Prow Robot
1d7829a964
Merge pull request #110975 from 0xff-dev/cleanup-unused-func
clean up unused function 'GetServiceHealthCheckPathPort'
2022-07-08 18:03:57 -07:00
Tim Hockin
55232e2ef7 Rename IPFamilyPolicyType => IPFamilyPolicy 2022-07-06 15:42:26 -07:00
0xff-dev
729bd22e24 clean up unused function 'GetServiceHealthCheckPathPort' 2022-07-06 16:15:14 +08:00
21kyu
df168d5b5c Change reflect.Ptr to reflect.Pointer 2022-06-26 01:23:43 +09:00
Mengjiao Liu
20bb84b3f1 Pod SecurityContext and PodSecurityPolicy supports slash as sysctl separator 2022-06-22 10:24:35 +08:00
David Porter
7811d84fef kubelet: Mark ready condition as false explicitly for terminal pods
Terminal pods may continue to report a ready condition of true because
there is a delay in reconciling the ready condition of the containers
from the runtime with the pod status. It should be invalid for kubelet
to report a terminal phase with a true ready condition. To fix the
issue, explicitly override the ready condition to false for terminal
pods during status updates.

Signed-off-by: David Porter <david@porter.me>
2022-06-08 16:19:16 -07:00
Davanum Srinivas
50bea1dad8
Move from k8s.gcr.io to registry.k8s.io
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-05-31 10:16:53 -04:00
Antonio Ojea
d16d23e0c7 add pod util to verify pod is terminal
pods on phase succeeded or failed are guaranteed to have all containers
stopped and to not ever regress
2022-05-27 06:42:39 +02:00
Paco Xu
234c33e8b8 deprecated node labels: make naming consistant and remove some unused args in funcs 2022-05-25 15:15:34 +08:00
kerthcet
02f0a3ee91 feat: add NodeInclusionPolicy to TopologySpreadConstraint in PodSpec
Signed-off-by: kerthcet <kerthcet@gmail.com>
2022-05-10 12:54:49 +08:00
Paco Xu
db147b7d67 (ut) add tests for bad filed values checking; refactor some funcs 2022-05-09 16:17:32 +08:00
Daniel Smith
331525670b Remove ClusterName 2022-05-05 20:12:50 +00:00
Paco Xu
3fbfd7eb1b add deprecated warning for node beta labels in pv/sc/rc/csi storage capacity
- (pv) deprecated label using warning for node affinity
- (storageclass)  deprecated node labels: allowedTopologies.matchLabelExpressions.key
- (CSIStorageCapacity) deprecated node labels
- (RuntimeClass) deprecated node labels
2022-05-04 15:01:13 +08:00
Humble Chirammal
c74b393771 csi: add nodeExpandSecret support for CSI client
CSI spec 1.5 enhanced the spec to add optional secrets field to
NodeExpandVolumeRequest. This commit adds NodeExpandSecret to the
CSI PV source and also derive the expansion secret in csiclient to
send it out as part of the nodeexpand request.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
2022-04-05 11:36:23 +08:00
zhucan
eb2ebddf61 fix: add unit test
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
2022-04-05 11:35:14 +08:00
Maciej Wyrzuc
1108bed763 Revert "Field status.hostIPs added for Pod (#101566)"
This reverts commit 61b3c028ba.
2022-03-31 12:39:45 +00:00
Tim Hockin
30c1523708 kube-proxy: Renames for readability 2022-03-30 09:55:32 -07:00
Shiming Zhang
61b3c028ba
Field status.hostIPs added for Pod (#101566)
* Add FeatureGate PodHostIPs

* Add HostIPs field and update PodIPs field

* Types conversion

* Add dropDisabledStatusFields

* Add HostIPs for kubelet

* Add fuzzer for PodStatus

* Add status.hostIPs in ConvertDownwardAPIFieldLabel

* Add status.hostIPs in validEnvDownwardAPIFieldPathExpressions

* Downward API support for status.hostIPs

* Add DownwardAPI validation for status.hostIPs

* Add e2e to check that hostIPs works

* Add e2e to check that Downward API works

* Regenerate
2022-03-29 11:46:07 -07:00
Kubernetes Prow Robot
3a3c9bc5c0
Merge pull request #108282 from sftim/20220222_reword_types_container_runtime_neutral
Update types to be neutral about container runtime
2022-03-28 13:01:08 -07:00