Commit Graph

8847 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
55856ed727 Merge pull request #93130 from zshihang/master
plumb service account token down to csi driver
2020-11-12 13:16:25 -08:00
Kubernetes Prow Robot
71331d8596 Merge pull request #96372 from serathius/sanitization-kubelet
Add --experimental-logging-sanitization flag to kubelet
2020-11-12 11:21:12 -08:00
Kubernetes Prow Robot
df794c1dda Merge pull request #96054 from alvaroaleman/increase
Allow debugging kubelet image pull times
2020-11-12 11:20:14 -08:00
Shihang Zhang
d2859cd89b plumb service account token down to csi driver 2020-11-12 09:26:43 -08:00
Kubernetes Prow Robot
f653e6cf92 Merge pull request #94624 from dims/deprecate-dockershim
Deprecate Dockershim
2020-11-12 08:04:50 -08:00
Marek Siarkowicz
8e60d75c15 Add --experimental-logging-sanitization flag to Kubelet
Co-authored-by: Jordan Liggitt <jordan@liggitt.net>
2020-11-12 12:32:19 +01:00
Krzysztof Wiatrzyk
b7714918db Run ./update-all.sh
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
sw.han
7b0ccaa1e9 Add tests for getPodDeviceRequest() for devicemanager
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
sw.han
ba1e8abce7 Add tests for GetPodTopologyHints() for devicemanager
* Add additional test cases returned by getPodScopeTestCases()

Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
sw.han
1c4a1ba6ae Update topology hints tests to use pod object for devicemanager
Pod object is more flexible to use and construct
* Update TestGetTopologyHints() to work according to new test cases
* Update topologyHintTestCase{} to include proper field

Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
sw.han
7ad65bf22d Add tests for GetPodTopologyHints() for cpumanager
* Add tests for getPodRequestedCPU()

Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
sw.han
35b1f28d0f Refactor topology hints tests for cpumanager
* Extract common tests cases that will be used for both GetTopologyHints()
and GetPodTopologyHints()
* Extract machineInfo as it will be used for both functions as well

Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
Krzysztof Wiatrzyk
656a08afdf Move scope specific tests from topologymanager under particular scopes
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
Krzysztof Wiatrzyk
c786c9a533 Move common tests from topologymanager under scope
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
Krzysztof Wiatrzyk
f5c0fe4ef6 Update topologymanager tests after adding scopes
Signed-off-by: Krzysztof Wiatrzyk <k.wiatrzyk@samsung.com>
2020-11-12 12:25:55 +01:00
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
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