Commit Graph

8938 Commits

Author SHA1 Message Date
Byonggon Chun
9da0912a33 Implement devicemanager.GetPodLevelTopologyHints() function
* Add podDevices() func
* Add getPodDeviceRequest() func

Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
sw.han
27b7bcb41c Implement the cpumanager.GetPodTopologyHints() function
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
Krzysztof Wiatrzyk
6db58b2e92 Update logging to use a format util
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
Krzysztof Wiatrzyk
b2be584e5b Implement topology manager scopes
* Add topologyScopeName parameter to NewManager().
* Add scope interface and structure that implement common logic
* Add pod scope & container scopes
* Add pod lifecycle functions

Co-authored-by: sw.han <sw.han@samsung.com>

Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:54 +01:00
sw.han
f5997fe537 Add GetPodTopologyHints() interface to Topology/CPU/Device Manager
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:54 +01:00
Krzysztof Wiatrzyk
ec552e6dc6 Add flag value validation of TopologyManagerPolicy
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:54 +01:00
Krzysztof Wiatrzyk
a05eead211 Add flag value validation of TopologyManagerScope
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:54 +01:00
sw.han
d070bff273 Add kubelet configuration flag 'topology-manager-scope'
add kubelet config option.
* --topology-manager-scope=[ container | pod ]
* default=container

Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:54 +01:00
Kubernetes Prow Robot
12d9183da0 Merge pull request #95718 from SergeyKanzhelev/runtimeClass2
RuntimeClass GA
2020-11-12 00:44:51 -08:00
Kubernetes Prow Robot
bdac36b57e Merge pull request #84206 from mucahitkurt/refactor/remove-mount-volume-check-orphaned-pod-cleanup
check volume directories instead of mounts for cleanupOrphanedPodDirs
2020-11-11 21:24:49 -08:00
Kubernetes Prow Robot
d233111f5b Merge pull request #94196 from andrewsykim/registry-creds
kubelet: add alpha credential provider plugins
2020-11-11 19:59:11 -08:00
Alvaro Aleman
801a52c06d Allow debugging kubelet image pull times
This PR changes the buckets of the
kubelet_runtime_operation_duration_seconds metric to be
metrics.ExponentialBuckets(.005, 2.5, 14) in order to
allow debugging image pull times. Right now the biggest bucket is 10
seconds, which is an ordinary time frame to pull an image, making the
metric useless for the aforementioned usecase.
2020-11-11 20:18:36 -05:00
Kubernetes Prow Robot
f5abe26a19 Merge pull request #93243 from AlexeyPerevalov/NUMAidAndCPUidsInPodResources
Implement TopologyInfo and cpu_ids in podresources interface
2020-11-11 12:35:11 -08:00
Sergey Kanzhelev
06da0e5e74 GA of RuntimeClass feature gate and API 2020-11-11 19:22:32 +00:00
Alexey Perevalov
a8b8995ef2 Implement TopologyInfo and cpu_ids in podresources
It covers deviceplugin & cpumanager.

It has drawback, since cpuset and all other structs including cadvisor's keep
cpu as int, but for protobuf based interface is better to have fixed
int.
This patch also introduces additional interface CPUsProvider, while
DeviceProvider might have been extended too.

Checkpoint not covered by unit test.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
Signed-off-by: Alexey Perevalov <alexey.perevalov@huawei.com>
2020-11-11 13:50:49 +03:00
Alexey Perevalov
62326a1846 Convert podDevices to struct
PodDevices will have its own guard

Signed-off-by: Alexey Perevalov <alexey.perevalov@huawei.com>
2020-11-11 13:50:48 +03:00
Kubernetes Prow Robot
f5e4a73266 Merge pull request #96196 from roycaihw/move-lease-controller
Move lease controller to k8s.io/component-helpers/apimachinery
2020-11-11 01:50:28 -08:00
Alexey Perevalov
9f54dccc92 Change GetDevices interface
This change is necessary for supporting Topology in the ContainerDevices.

Signed-off-by: Alexey Perevalov <alexey.perevalov@huawei.com>
2020-11-11 12:41:31 +03:00
Kubernetes Prow Robot
c22e2246ca Merge pull request #95521 from masap/fix_si
kube-eviction: Fix SI of process quantity
2020-11-10 17:47:56 -08:00
Haowei Cai
e79ba4877e move lease controller to k8s.io/component-helpers/apimachinery 2020-11-10 15:51:03 -08:00
Andrew Sy Kim
2d0dd26252 kubelet: add initial credentialprovider v1alpha1 APIs
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-10 13:44:06 -05:00
Andrew Sy Kim
51441fd052 kubelet: support alpha credential provider exec plugins
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-10 13:44:06 -05:00
Andrew Sy Kim
c23638c3ce kubelet: update pkg/kubelet/apis/config/OWNERS to include api approvers and reviewers
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-10 13:44:06 -05:00
Andrew Sy Kim
359c6e2623 kubelet: add CredentialProviderConfig API
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-10 13:44:06 -05:00
Mucahit Kurt
6748570724 Change the logic of pod volumes existence check during kubelet cleanupOrphanedPodDirs, cleanupOrphanedPodCgroups and PodResourcesAreReclaimed
check in-memory cache whether volumes are still mounted and check disk directory for the volume paths instead of mounted volumes check

Signed-off-by: Mucahit Kurt <mucahitkurt@gmail.com>
2020-11-10 17:33:01 +03:00
Bryan Boreham
19de43137b kubelet: ensure pod UIDs are unique
Ensure node name and file path are included in the hash which produces
the pod UID, otherwise all pods created from the same manifest have
the same UID across the cluster.

The real author of this code is Yu-Ju Hong <yjhong@google.com>.
I am resurrecting an abandoned PR, and changed the git author to pass
CLA check.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
2020-11-10 10:04:04 +00:00
Kubernetes Prow Robot
6e95025994 Merge pull request #92165 from RenaudWasTaken/v1-pod-resources
Graduate the Pod Resources API to G.A
2020-11-09 18:24:41 -08:00
Kubernetes Prow Robot
fe37798329 Merge pull request #94115 from andrewsykim/fix-dockershim-exec
kubelet: respect exec probe timeouts
2020-11-09 16:08:55 -08:00
Kubernetes Prow Robot
e5194dd936 Merge pull request #96202 from alculquicondor/default-node-affinity
Add AddedAffinity to NodeAffinity Filter and Score plugin
2020-11-09 15:14:55 -08:00
Kubernetes Prow Robot
f15e9f6fce Merge pull request #96245 from tengqm/kubelet-validate-msg
Use user facing field names in validation message
2020-11-09 12:48:55 -08:00
Aldo Culquicondor
3ce145787a Add AddedAffinity to the NodeAffinityArgs
And use it in Filter and Score.

Change-Id: I173d8f2d5578762e9873181d5b44ea30b6dbbbc2
2020-11-09 15:19:15 -05:00
Tim Allclair
a439bc5572 Remove --redirect-container-streaming functionality (#95935)
* Remove --redirect-container-streaming functionality

* Update bazel
2020-11-09 11:50:11 -08:00
Andrew Sy Kim
af40d18b67 kubelet: move pkg/kubelet/cri/.import-restrictions to pkg/kubelet/cri/streaming
Based on the comments in this file, it seems like these import
restrictions were originally meant for the kubelet CRI streaming
package. This commit moves the import restrictions to
pkg/kubelet/cri/streaming so that pkg/kubelet/cri can import internal
packages like pkg/probe/exec

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-09 13:05:09 -05:00
Andrew Sy Kim
4bb30c3b0e kubelet: add feature gate check for exec probe timeouts
This change also involves adding a custom error type for probe timeouts
so that the kubelet exec prober can distinguish between failed probes
that have exited or probes that have timed out.

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-09 13:05:09 -05:00
Andrew Sy Kim
8ef299552b kubelet: allow dockershim exec timeouts to be longer than 10s
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-09 13:03:28 -05:00
Andrew Sy Kim
2887e707f8 kubelet: respect probe exec timeout from CRI by returning utilexec.CodeExitError
This fixes a bug where the exec timeouts are not respected with
containerd

Exec prober expects a utilexec.CodeExitError on failed probes, otherwise
the prober returns 'Unknown' and a non-nil error which the kubelet throws
away. As a temporary fix, ExecSync as part of the CRI remote runtime
should return utilexec.CodeExitError when the grpc error code is
DeadlineContextExceeded. This ensure the exec prober registers exec
timeouts as real probe failures to the kubelet. We should also add a
TimededError type to k8s.io/utils/exec since it doesn't really make
sense to use CodeExitError for exec time outs.

Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-09 13:03:28 -05:00
Andrew Sy Kim
1dc5fb0190 kubelet: respect dockershim exec timeout
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-09 13:03:28 -05:00
Kubernetes Prow Robot
c97d9e96ae Merge pull request #96141 from lingsamuel/rm-useless-if
Remove useless variable and if in kubelet.go
2020-11-06 11:29:03 -08:00
Kubernetes Prow Robot
d21815cb4e Merge pull request #95569 from oomichi/remove-kubelet-util
Move dirExists() to kubelet_test
2020-11-06 11:28:51 -08:00
Kubernetes Prow Robot
425fb7e4d3 Merge pull request #96281 from mrunalp/kubelet_cri_seccomp_profile
kubelet: Use CRI SecurityProfile for Seccomp
2020-11-06 01:26:51 -08: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
Mrunal Patel
32b9ac7d0c kubelet: Use CRI SecurityProfile for Seccomp
We set both the old and the new fields for now and will
remove the old field in the next release.

Signed-off-by: Mrunal Patel <mpatel@redhat.com>
2020-11-05 15:43:29 -08:00
Kubernetes Prow Robot
bb4d8b0746 Merge pull request #96176 from mrunalp/mrunal_node_approver
Add mrunalp as a node approver
2020-11-05 10:53:29 -08:00
Qiming Teng
40c4c7906d Use user facing field names in validation message 2020-11-05 13:53:06 +08:00
Mrunal Patel
b78be8446f Add mrunalp as node approver
Signed-off-by: Mrunal Patel <mpatel@redhat.com>
2020-11-04 15:48:30 -08:00
Kubernetes Prow Robot
51a5e78bdc Merge pull request #96123 from qiutongs/master
fix CPU time of pod stats with cs.CPU.Time
2020-11-04 15:47:20 -08:00
Kubernetes Prow Robot
48fa50fb5e Merge pull request #95944 from wangyx1992/error-log-captialize
cleanup: fix some error log capitalization
2020-11-04 13:25:21 -08:00
Eric Ernst
8dfc548709 resource-metrics: add pod/sandbox metrics to endpoint
Pod metrics may not be the same as the sum of container metrics. Add support for pod specific
metrics to allow for more accurate accounting of resources.

Signed-off-by: Eric Ernst <eric_ernst@apple.com>
2020-11-03 09:57:46 -08:00
Qiutong Song
a59a6b984f fix CPU time of pod stats with cs.CPU.Time
Signed-off-by: Qiutong Song <songqt01@gmail.com>
2020-11-03 09:29:18 +00:00