Commit Graph

9854 Commits

Author SHA1 Message Date
Giuseppe Scrivano
49cbf91fce kubelet, cgroupv2: do not create /sys/fs/cgroup/sys with cgroupfs
Closes: https://github.com/kubernetes/kubernetes/issues/94104

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-19 22:29:38 +02:00
ynqa
7d58ead809 delete tests which use container manager stub 2020-08-19 10:07:36 +09:00
zhouya0
44c24758b0 [Flaky Test] Add limited lines to log when having tail option 2020-08-18 17:13:25 +08:00
Kubernetes Prow Robot
fd74333a97 Merge pull request #93622 from knight42/test/plugin-register-timeout
Fix race condition in pluginWatcher
2020-08-17 19:03:32 -07:00
knight42
de46e81e74 fix(pluginwatcher): watch socket dir before traversing it
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-08-14 12:07:04 +08:00
ESWZY
9ce4dfe6d2 Add test for pkg/kubelet/util/util_windows_test.go#GetAddressAndDialer 2020-08-13 01:17:00 +08:00
SataQiu
ad1739f8bc kubelet: assume that swap is disabled when /proc/swaps does not exist 2020-08-12 22:43:58 +08:00
knight42
ebf60155bf test(kubelet): add a regression test to verify kubelet would not panic 2020-08-07 17:50:22 +08:00
knight42
a471843246 fix(kubelet): protect containerCleanupInfos from concurrent map writes
Signed-off-by: knight42 <anonymousknight96@gmail.com>
2020-08-07 16:55:56 +08:00
ynqa
4357551ae3 add testcases for kubelet getters 2020-08-07 00:03:42 +09:00
Gireesh Punathil
fdbfbaac33 fix a typo in the comment 2020-08-06 07:57:12 +05:30
Jordan Liggitt
b181c76cbd Deflake TestUpdateNodeStatusWithLease - guard cached machineInfo 2020-08-05 10:00:36 -04:00
Sergey Kanzhelev
a84834fdcf PodReasonUnschedulable is not a pod condition type 2020-08-05 03:06:37 +00:00
Kubernetes Prow Robot
8b7d8cd299 Merge pull request #93403 from hex108/remove_err_msg
Remove unuseful error message about updating pod conditions not owned…
2020-08-04 11:46:22 -07:00
Rodrigo Campos
e6c67c32e1 Fix kubelet log message when starting a container
This code can be called not only when a container is dead and restarted,
but when is started for the first time too. For example, any pod with
initContainer and containers will exhibit this behaviour. The reason is
that in that case, the "if createPodSandbox" path will return the
initContainers only and on the next call to this function this code is
executed to start the containers for the fist time.

In that case, it is wrong to log that the container is dead and will be
restarted, as it was never started. In fact, the restart count will not
be increased.

This commit just changes this to say that the container is not in the
desired state and should be started. In the end, the kubelet is a state
machine and that is all we really care about.

No tests are added, as the behaviour was correct and tests don't check
logs messages.

Signed-off-by: Rodrigo Campos <rodrigo@kinvolk.io>
2020-08-04 14:58:27 -03:00
ravisantoshgudimetla
cd8686bc57 Strip unnecessary security contexts on Windows
As of now, the kubelet is passing the security context to container runtime even
if the security context has invalid options for a particular OS. As a result,
the pod fails to come up on the node. This error is particularly pronounced on
the Windows nodes where kubelet is allowing Linux specific options like SELinux,
RunAsUser etc where as in [documentation](https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#v1-container),
we clearly state they are not supported. This PR ensures that the kubelet strips
the security contexts of the pod, if they don't make sense on the Windows OS.
2020-08-03 23:43:31 -04:00
Kubernetes Prow Robot
11c6d72e37 Merge pull request #93478 from sjenning/fixup-helper-test
kubelet: eviction: remove unexpected output from TestGetReclaimableThreshold
2020-08-02 10:07:40 -07:00
Jordan Liggitt
7335770670 Make toKubeContainerImageSpec deterministic 2020-07-31 14:41:11 -04:00
xiaofei.sun
a724481f5c fix metrics kubelet_running_pod_count 2020-07-31 16:35:53 +08:00
Sergey Kanzhelev
3af652f2f2 revert auto-completed package names 2020-07-31 03:47:04 +00:00
Sergey Kanzhelev
d20fd40884 remove legacy leftovers of portmapping functionality that was moved to CNI 2020-07-30 23:12:16 +00:00
Luigi Bitonti
19793bd3fa Update k8s.io/utils dependency and use ebtables from there 2020-07-30 08:58:21 +01:00
Seth Jennings
a4f043a980 kubelet: eviction: remove noise from TestGetReclaimableThreshold test output 2020-07-27 13:53:55 -05:00
Jordan Liggitt
f33dc28094 generated: hack/update-hack-tools.sh && hack/update-vendor.sh 2020-07-25 16:45:02 -04:00
Jordan Liggitt
124a5ddf72 Fix int->string casts 2020-07-24 16:23:12 -04:00
Alexey Perevalov
a047e8aa1b move to cadvisor.MachineInfo
This patch removes GetNUMANodeInfo, cadvisor.MachineInfo will be used
instead of it. GetNUMANodeInfo was introduced due to difference of meaning of
MachineInfo.Topology. On the arm it was NUMA nodes, but on the x86 it
represents sockets (since reading from /proc/cpuinfo). Now it unified
and MachineInfo.Topology represents NUMA node.

Signed-off-by: Alexey Perevalov <alexey.perevalov@huawei.com>
2020-07-24 09:29:41 -04:00
wawa0210
ccde63b9c1 fix windows container root validate 2020-07-24 19:59:58 +08:00
Marian Lobur
5d1b3e26af Fix an issue when rotated logs of dead containers are not removed. 2020-07-24 10:06:24 +02:00
Jun Gong
454f9acc24 Remove unuseful error message about updating pod conditions not owned by kubelet 2020-07-24 09:56:03 +08:00
zhangsheng02
dadc2ad385 add more testing cases
Signed-off-by: zhangsheng02 <sheng.zhang@daocloud.io>
2020-07-24 09:32:34 +08:00
Keerthan Reddy,Mala
acac15c20e fix bazel build file 2020-07-22 14:12:27 -07:00
Keerthan Reddy,Mala
872859b422 correct the sandboxId attribute in unit tests 2020-07-22 11:54:58 -07:00
Keerthan Reddy,Mala
851d778531 address review comments 2020-07-22 11:54:58 -07:00
Keerthan Reddy,Mala
90cc954eed add sandbox deletor to delete sandboxes on pod delete event 2020-07-22 11:54:58 -07:00
Keerthan Reddy,Mala
d4325f42fb Check for sandboxes before deleting the pod from apiserver 2020-07-22 11:54:56 -07:00
Kubernetes Prow Robot
ae7dce72ce Merge pull request #91930 from RenaudWasTaken/DisableAcceleratorUsageMetrics
Add DisableAcceleratorUsageMetrics Feature Gate
2020-07-22 09:16:06 -07:00
Alexey Perevalov
e33ba9e974 Avoid using socket for hints
Sockets don't affect performance as NUMA node does, since NUMA
node has dedicated memory controller, but socket it's physical
extension point.
Socket it's only cpu specific thing and it's strange to merge bitmask of
deviceplugin's and cpu manager, when cpu manager takes into account
socket.

Signed-off-by: Alexey Perevalov <alexey.perevalov@huawei.com>
2020-07-22 05:14:34 -04:00
RyderXia
b20ceaa85d regen 2020-07-22 10:53:11 +08:00
RyderXia
d76c2cc94c update build 2020-07-22 09:36:55 +08:00
Jordan Liggitt
d195fc2ec8 Ensure runtimeCache contains all observed started containers on pod delete 2020-07-21 15:54:29 -04:00
Kubernetes Prow Robot
b6174e605f Merge pull request #93189 from klueska/upstream-fix-bug-topology-manager
Fix a bug whereby reusable CPUs and devices were not being honored
2020-07-21 04:35:17 -07:00
RyderXia
136df8ce53 update 2020-07-21 17:00:49 +08:00
RyderXia
2214117cd1 clean up unused var containerCache 2020-07-21 16:57:36 +08:00
Kubernetes Prow Robot
1fdd8fb213 Merge pull request #93263 from liggitt/windows
Fix windows kubelet startup
2020-07-20 19:51:57 -07:00
wawa0210
aea228f5dd fix no-new-privileges on windows 2020-07-20 16:14:52 -04:00
Jordan Liggitt
886727a4c0 Revert "Add deviceManager in windows container manager"
This reverts commit 056d73b1a1.
2020-07-20 16:13:53 -04:00
Giuseppe Scrivano
ef935bd991 kubelet: clamp cpu shares to max allowed
clamp the max cpu.shares to the maximum value allowed by the kernel.

It is not an issue when using cgroupfs, as the kernel will
anyway make sure the value is not out of range and automatically clamp
it, systemd has an additional check that prevents the cgroup creation.

Closes: https://github.com/kubernetes/kubernetes/issues/92855

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-07-20 17:18:03 +02:00
Kevin Klues
00df26a985 Fix a bug whereby reusable CPUs and devices were not being honored
Previously, it was possible for reusable CPUs and reusable devices (i.e.
those previously consumed by init containers) to not be reused by
subsequent init containers or app containers if the TopologyManager was
enabled. This would happen because hint generation for the
TopologyManager was not considering the reusable devices when it made
its hint calculation.

As such, it would sometimes:
1) Generate a hint for a differnent NUMA node, causing the CPUs and
devices to be allocated from that node instead of the one where the
reusable devices live; or
2) End up thinking there were not enough CPUs or devices to allocate and
throw a TopologyAffinity admission error

This patch fixes this by ensuring that reusable CPUs and devices are
considered as part of TopologyHint generation. This frunctionality is
difficult to unit test since it spans multiple components, but an e2e
test will be added in a subsequent patch to test this functionality.
2020-07-20 11:41:13 +00:00
Kevin Klues
74fe9364c3 Simplify logic in devicemanager TopologyHint generation 2020-07-20 11:41:13 +00:00
Kevin Klues
9f5f401d60 Add AnySet() to topologymanager bitmask API 2020-07-20 11:41:13 +00:00