Commit Graph

265 Commits

Author SHA1 Message Date
Mengqi (David) Yu
1003d36870 Add random interval to nodeStatusReport interval every time after an actual node status change
update TestUpdateNodeStatusWithLease this time to avoid flakiness
2024-11-07 04:33:59 +00:00
Jordan Liggitt
4850b31bda Revert "Add random interval to nodeStatusReport interval every time after an actual node status change"
This reverts commit d6e17ad808.
2024-11-06 17:12:13 -05:00
Mengqi (David) Yu
d6e17ad808 Add random interval to nodeStatusReport interval every time after an actual node status change 2024-11-06 06:11:05 +00:00
Kubernetes Prow Robot
48f36acc7a Merge pull request #125337 from aojea/document_node_addresses
kubelet --node-ip flag using  unspecified IPs and external cloud provider node addresses behavior
2024-10-18 00:55:03 +01:00
Abhijit Hoskeri
c7e4e831dd node self-register continue if CREATE is 403.
tryRegisterWithAPIServer issues node create requests
regardless of whether the Node already exists.

If there's an admission policy forbidding the creation
of new nodes, the policy would return 403 even if the
Node actually exists.

This change makes Kubelet proceed to attempt to GET
the node in case the Create returns 403.

The feature `KubeletRegistrationGetOnExistsOnly`
restores the previous behavior.
2024-09-05 01:22:44 +00:00
Shingo Omura
f46ecf5648 KEP-3619: Wiring up from RuntimeFeatures.SupplementalGroupsPolicy(CRI) to NodeFeatures.SupplementalGroupsPolicy(API)
KEP-3619: fix typos in pkg/kubelet/container/runtime.go
2024-07-16 12:36:00 +09:00
Antonio Ojea
7917e8b3e0 add more testing for node.status.addresses 2024-06-16 16:07:52 +00:00
Kubernetes Prow Robot
a8d51f4f05 Use a generic Set instead of a specified Set in kubelet
Signed-off-by: bzsuni <bingzhe.sun@daocloud.io>
2024-06-04 14:25:43 +08:00
Kubernetes Prow Robot
3d58fe5a7b Merge pull request #123970 from carlory/rm-volumelimit-interface
remove VolumePluginWithAttachLimits interface
2024-04-19 10:36:11 -07:00
Kubernetes Prow Robot
ca1a134a41 Merge pull request #123977 from wojtek-t/avoid_node_gets
Get node from local cache instead of kube-apiserver cache for kubelet status updates
2024-04-18 02:10:44 -07:00
Kubernetes Prow Robot
ef2c682635 Merge pull request #122082 from carlory/remove-keep-terminated-pod-volumes
keep-terminated-pod-volumes flag on kubelet is removed
2024-04-17 23:59:54 -07:00
Wojciech Tyczyński
a36665113e Get node from local cache instead of kube-apiserver cache 2024-03-18 21:22:00 +01:00
carlory
0c5a7103be remove VolumePluginWithAttachLimits interface 2024-03-18 18:08:36 +08: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
Akihiro Suda
dd0882a83e kubelet: expose node.status.runtimeClasses
For KEP-3857: Recursive Read-only (RRO) mounts

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-03-10 03:00:59 +09:00
Tim Allclair
24537a9131 Stop appending AppArmor status to node ready condition 2024-03-05 12:22:50 -08:00
carlory
b47c73ee26 keep-terminated-pod-volumes flag on kubelet is removed 2024-03-01 18:42:15 +08:00
Qiutong Song
d3eb082568 Create a node startup latency tracker
Signed-off-by: Qiutong Song <songqt01@gmail.com>
2023-09-11 05:54:25 +00:00
Jingyuan Liang
9f5c5b82a9 kubelet: Keep trying fast status update at startup until node is ready 2022-11-09 15:55:20 +00:00
Jingyuan Liang
4a50fc4b8c kubelet: Refactor tryUpdateNodeStatus() into smaller functions 2022-11-09 15:52:04 +00:00
David Ashpole
64af1adace Second attempt: Plumb context to Kubelet CRI calls (#113591)
* plumb context from CRI calls through kubelet

* clean up extra timeouts

* try fixing incorrectly cancelled context
2022-11-05 06:02:13 -07:00
Antonio Ojea
9c2b333925 Revert "plumb context from CRI calls through kubelet"
This reverts commit f43b4f1b95.
2022-11-02 13:37:23 +00:00
David Ashpole
f43b4f1b95 plumb context from CRI calls through kubelet 2022-10-28 02:55:28 +00:00
Andrew Sy Kim
4e2a2b6053 Revert "Avoid tainting with NoSchedule when DisableCloudProviders feature is on" 2022-10-03 15:13:43 -04:00
Davanum Srinivas
8b9a5b2dff Avoid tainting with NoSchedule when DisableCloudProviders feature is on
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-10-02 13:00:58 -04: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
caozhiyuan
bad4faf1b9 migrate --register-with-taints to KubeletConfiguration 2021-11-16 19:10:36 +08:00
Neha Lohia
fa1b6765d5 move pkg/util/node to component-helpers/node/util (#105347)
Signed-off-by: Neha Lohia <nehapithadiya444@gmail.com>
2021-11-12 07:52:27 -08:00
ravisantoshgudimetla
02c1bac0b6 [kubelet]: Sync label periodically 2021-11-05 18:47:43 -04:00
Kubernetes Prow Robot
b5ba51b22b Merge pull request #98154 from yangjunmyfm192085/run-test
migrate file kubelet_node_status.go logs to structured logging and fix error description of reconcileHugePageResource log
2021-03-11 17:28:18 -08:00
JunYang
28a232888e fix error description of reconcileHugePageResource log
Signed-off-by: JunYang <yang.jun22@zte.com.cn>
2021-02-13 17:02:44 +08:00
Michael Beaumont
a5a6762d33 Move pkg/kubelet/apis to k8s.io/kubelet/pkg/apis 2021-02-09 21:37:39 +01:00
Kubernetes Prow Robot
e40cba59e3 Merge pull request #95269 from SataQiu/kubelet-20201003
Fix panic when kubelet register if a node object already exists with no Status.Capacity or Status.Allocatable
2020-12-08 16:29:19 -08:00
Jordan Liggitt
5c88880584 Restore beta os/arch labels on initial node registration 2020-11-23 11:23:59 -05:00
David Porter
16f71c6d47 Implement shutdown manager in kubelet
Implements KEP 2000, Graceful Node Shutdown:
https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2000-graceful-node-shutdown

* Add new FeatureGate `GracefulNodeShutdown` to control
enabling/disabling the feature
* Add two new KubeletConfiguration options
  * `ShutdownGracePeriod` and `ShutdownGracePeriodCriticalPods`
* Add new package, `nodeshutdown` that implements the Node shutdown
manager
  * The node shutdown manager uses the systemd inhibit package, to
  create an system inhibitor, monitor for node shutdown events, and
  gracefully terminate pods upon a node shutdown.
2020-11-12 21:47:55 +00:00
SataQiu
c73ea0a2c3 fix the panic when kubelet registers if a node object already exists with no Status.Capacity or Status.Allocatable
Signed-off-by: SataQiu <1527062125@qq.com>
2020-11-06 17:10:45 +08:00
Tim Hockin
819ff9b087 Use topology labels instead of old beta names (#96033)
* Rename const for topology.../zone

* Rename const for topology.../region

* Rename const for failure-domain.../zone

* Rename const for failure-domain.../region

* Restore old names for compat
2020-11-05 20:26:50 -08:00
Kubernetes Prow Robot
47943d5f9c Merge pull request #94109 from derekwaynecarr/cleanup-kubelet-todos
Cleanup kubelet TODOs that are no longer pertinent.
2020-10-26 23:49:59 -07:00
Dan Winship
75242fce7a kubelet: allow specifying dual-stack node IPs on bare metal
Discussion is ongoing about how to best handle dual-stack with clouds
and autodetected IPs, but there is at least agreement that people on
bare metal ought to be able to specify two explicit IPs on dual-stack
hosts, so allow that.
2020-10-07 17:25:54 -04:00
Derek Carr
02daa3ec23 Cleanup kubelet TODOs that are no longer pertinent. 2020-08-19 16:40:54 -04:00
Kubernetes Prow Robot
2e91b56af0 Merge pull request #87909 from alena1108/feb6cleanup
Removed unnecessary not nil check in node registration process
2020-07-01 07:10:49 -07:00
Kubernetes Prow Robot
8ce1b535ee Merge pull request #80831 from odinuge/hugetlb-pagesizes-cleanup
Add support for removing unsupported huge page sizes
2020-06-04 23:41:43 -07:00
Kubernetes Prow Robot
c579a3279f Merge pull request #86005 from grnhse/raise-kubelet-node-status-verbosity
Fix kubelet_node_status log spam
2020-05-20 22:46:35 -07: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
wawa0210
54c0f8b677 Remove the 'beta' version of the node label (os and arch types) 2020-05-13 22:51:52 +08:00
Odin Ugedal
2830827442 Add support for removing unsupported huge page sizes
When kubelet is restarted, it will now remove the resources for huge
page sizes no longer supported. This is required when:
- node disables huge pages
- changing the default huge page size in older versions of linux
(because it will then only support the newly set default).
- Software updates that change what sizes are supported (eg. by changing
boot parameters).
2020-03-19 13:08:08 +01:00
andrewsykim
8c633356df move well known cloud provider taints to k8s.io/cloud-provider/api
Signed-off-by: andrewsykim <kim.andrewsy@gmail.com>
2020-02-23 19:54:59 -05:00
Mike Danese
25651408ae generated: run refactor 2020-02-08 12:30:21 -05:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Alena Prokharchyk
d634ed3850 Removed unnecessary not nil check in node registration process 2020-02-06 15:49:15 -08:00