Commit Graph

8380 Commits

Author SHA1 Message Date
mattjmcnaughton
49fc82f7ab Ensure we only run the cadvisor/docker init in !dockerless
We do not want to run the `cadvisor/docker` init when we are using the
dockerless build tags. We can ensure this by isolating into a separate
file with the proper build tag constraints.
2020-05-07 17:18:51 -04:00
mattjmcnaughton
29fa1f4566 Fix the verify job
Small changes to fix the verify job. Add the proper headers, fix lint
errors, etc...
2020-05-07 17:18:50 -04:00
mattjmcnaughton
b36f637f0d Add dockerless tags to all files in dockershim
As the final step, add the `dockerless` tags to all files in the
dockershim. Using `-tags=dockerless` in `go build`, we can compile
kubelet without the dockershim.

Once cadvisor no longer depends on `docker/docker`, compiling with
`-tags=dockerless` should be sufficient to compile the Kubelet w/o a
dependency on `docker/docker`.
2020-05-07 17:18:50 -04:00
mattjmcnaughton
7fb6c51822 Move DockerLegacyService interface out of pkg/kubelet/dockershim
DockerLegacyService interface is used throughout `pkg/kubelet`.
It used to live in the `pkg/kubelet/dockershim` package. While we
would eventually like to remove it entirely, we need to give users some form
of warning.

By including the interface in
`pkg/kubelet/legacy/logs.go`, we ensure the interface is
available to `pkg/kubelet`, even when we are building with the `dockerless`
tag (i.e. not compiling the dockershim).
While the interface always exists, there will be no implementations of the
interface when building with the `dockerless` tag. The lack of
implementations should not be an issue, as we only expect `pkg/kubelet` code
to need an implementation of the `DockerLegacyService` when we are using
docker. If we are using docker, but building with the `dockerless` tag, than
this will be just one of many things that breaks.

`pkg/kubelet/legacy` might not be the best name for the package... I'm
very open to finding a different package name or even an already
existing package.
2020-05-07 17:18:49 -04:00
mattjmcnaughton
34c8f51dcb Remove all uses of dockershim from cmd/kubelet
We can remove all uses of `dockershim` from `cmd/kubelet`, by just
passing the docker options to the kubelet in their pure form, instead of
using them to create a `dockerClientConfig` (which is defined in
dockershim). We can then construct the `dockerClientConfig` only when we
actually need it.
2020-05-07 17:18:49 -04:00
mattjmcnaughton
e0e6d54cdf Extract running Dockershim into own file
Extract a `runDockershim` function into a file outside of `kubelet.go`.
We can use build tags to compile two separate functions... one which
actually runs dockershim and one that is a no-op.
2020-05-07 17:18:48 -04:00
mattjmcnaughton
53adde65ce Remove ExperimentalDockershim from kubelet
Remove one of two uses of Dockershim in `cmd/kubelet`. The other is for
creating a docker client which we pass to the Kubelet... we will handle
that refactor in a separate diff.

I'm fairly confident, though need to double check, that no one is
actually using this experimental dockershim behavior. If they are, I
think we will want to find a new way to support it (that doesn't require
using the Kubelet only to launch Dockershim).
2020-05-07 17:18:48 -04:00
Kubernetes Prow Robot
dc6c640a12 Merge pull request #90375 from cici37/removeConfigz
move pkg/util/configz to k8s.io/component-base
2020-05-04 13:46:09 -07:00
Kubernetes Prow Robot
f372c5417b Merge pull request #90628 from liggitt/pod-ip-status
Fix podIP validation
2020-04-30 19:30:07 -07:00
Jordan Liggitt
23e9fb1bb5 Fix podIP validation 2020-04-30 19:49:45 -04:00
cici37
7f4d19167e Move pkg/util/configz to k8s.io/component-base 2020-04-29 12:17:25 -07:00
Kubernetes Prow Robot
961a5ed144 Merge pull request #90380 from spiffxp/import-boss-test-files
Update import-boss files to yaml, include test files in CI job
2020-04-28 15:58:24 -07:00
Kubernetes Prow Robot
f7907083c2 Merge pull request #89160 from tedyu/symlink-first-seen
Remove potentially unhealthy symlink only for dead containers
2020-04-28 09:58:07 -07:00
Aaron Crickenberger
a7af20922f use forbiddenPrefixes instead of allowedPrefixes 2020-04-28 08:41:36 -07:00
Aaron Crickenberger
f306a0dbb4 convert .import-restrictions to yaml
yaml has comments, so we can explain why we have certain rules or
certain prefixes

for those files that weren't already commented yaml, I converted them to
yaml and took a best guess at comments based on the PRs that introduced
or updated them
2020-04-28 08:41:36 -07:00
Kubernetes Prow Robot
7fdc1275d9 Merge pull request #90377 from cbf123/container_cpuset_fixup_2
Fix exclusive CPU allocations being deleted at container restart
2020-04-27 13:40:04 -07:00
Kubernetes Prow Robot
561b2aba94 Merge pull request #90419 from klueska/upstream-update-reusable-cpus-strategy
Update strategy used to reuse CPUs from init containers in CPUManager
2020-04-27 12:09:23 -07:00
Chris Friesen
ab5870d808 Fix exclusive CPU allocations being deleted at container restart
The expectation is that exclusive CPU allocations happen at pod
creation time. When a container restarts, it should not have its
exclusive CPU allocations removed, and it should not need to
re-allocate CPUs.

There are a few places in the current code that look for containers
that have exited and call CpuManager.RemoveContainer() to clean up
the container.  This will end up deleting any exclusive CPU
allocations for that container, and if the container restarts within
the same pod it will end up using the default cpuset rather than
what should be exclusive CPUs.

Removing those calls and adding resource cleanup at allocation
time should get rid of the problem.

Signed-off-by: Chris Friesen <chris.friesen@windriver.com>
2020-04-27 11:36:54 -06:00
Kubernetes Prow Robot
7297fbd0ce Merge pull request #90413 from PurelyApplied/nil-expiry
Improve error message when refresh token expiry is nil.
2020-04-24 15:32:07 -07:00
Kubernetes Prow Robot
f8297af392 Merge pull request #90284 from wawa0210/kubelet-nodename-clean
Remove duplicate calculation nodename、hostname、hostnameOverridden when kubelet is initialized
2020-04-24 12:15:34 -07:00
Kubernetes Prow Robot
30cefca5a6 Merge pull request #89128 from vincent178/move-runonce-kubeletconfiguration
move runonce from flag to config
2020-04-23 17:20:07 -07:00
wawa0210
40da2c521a Remove duplicate calculation nodename 、hostname 、hostnameOverridden 2020-04-24 07:49:33 +08:00
Patrick Rhomberg
5ea1cef4c5 gofmt fix. 2020-04-23 23:32:04 +00:00
Patrick Rhomberg
a262b2762a Improve error message when refresh token expiry is nil.
Add test coverage for this case.
2020-04-23 20:52:58 +00:00
Kevin Klues
751b9f3e13 Update strategy used to reuse CPUs from init containers in CPUManager
With the old strategy, it was possible for an init container to end up
running without some of its CPUs being exclusive if it requested more
guaranteed CPUs than the sum of all guaranteed CPUs requested by app
containers. Unfortunately, this case was not caught by our unit tests
because they didn't validate the state of the defaultCPUSet to ensure
there was no overlap with CPUs assigned to containers. This patch
updates the strategy to reuse the CPUs assigned to init containers
across into app containers, while avoiding this edge case. It also
updates the unit tests to now catch this type of error in the future.
2020-04-23 20:27:43 +00:00
Kubernetes Prow Robot
3e2ae631b4 Merge pull request #90209 from ZP-AlwaysWin/dev
Repair description
2020-04-23 03:57:59 -07:00
Kubernetes Prow Robot
168686a0ab Merge pull request #90314 from tangcong/fix-kubelet-staticcheck-err
fix kubelet stats staticcheck error
2020-04-21 20:56:05 -07:00
Ted Yu
18e9f33fc6 Remove unhealthy symlink only for dead containers
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2020-04-21 12:30:51 -07:00
Kubernetes Prow Robot
13561c94e5 Merge pull request #90289 from tanjunchen/fix-comment-20200420
pkg/kubelet/remote/remote_runtime.go:fix the incorrect klog comment
2020-04-21 09:17:27 -07:00
tangcong
2b984b3e3a fix kubelet stats staticcheck error 2020-04-21 07:16:58 +08:00
Kubernetes Prow Robot
d92fdebd85 Merge pull request #89897 from giuseppe/test-e2e-node
kubelet: fix e2e-node cgroups test on cgroup v2
2020-04-20 15:54:12 -07:00
tanjunchen
21039d5bd3 pkg/kubelet/remote/remote_runtime.go:fix the incorrect klog comment 2020-04-20 09:55:40 +08:00
ZP-AlwaysWin
5796b7a32e Repair description 2020-04-17 09:36:38 +08:00
Kubernetes Prow Robot
d0183703cb Merge pull request #90059 from ahg-g/ahg-nodeinfo2
Cleanup obsolete NodeInfo methods
2020-04-14 17:32:04 -07:00
Kubernetes Prow Robot
6c499314cd Merge pull request #88480 from savitharaghunathan/kubelet_flag_migration_1
Kubelet flag migration - Part 1
2020-04-14 12:33:39 -07:00
Abdullah Gharaibeh
d6522e0e74 rename framework pkg with schedulerframework for all instances under pkg/kubelet 2020-04-14 14:24:07 -04:00
Kubernetes Prow Robot
105c0c6951 Merge pull request #88970 from mysunshine92/correct-NodeAllocatableRoot
fix function NodeAllocatableRoot
2020-04-14 11:04:13 -07:00
Kubernetes Prow Robot
342d328064 Merge pull request #89934 from tedyu/unregister-plugin
Simplify the unregistration of csiplugin
2020-04-13 16:21:11 -07:00
Ted Yu
1001be85ad Simplify unregistration of csiplugin
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
2020-04-13 15:04:52 -07:00
vincent178
745b742de5 move runonce from flag to config 2020-04-14 06:00:43 +08:00
Kubernetes Prow Robot
6239abe698 Merge pull request #89225 from andrewsykim/apparmor-api
move apparmor annotation constants to k8s.io/api/core/v1
2020-04-12 19:11:50 -07:00
Abdullah Gharaibeh
bed9b2f23b Cleanup obsolete NodeInfo methods 2020-04-12 18:13:46 -04:00
Tim Hockin
9551ecb7c3 Cleanup: Change "Ip" to "IP" in func and var names 2020-04-10 15:29:50 -07:00
Tim Hockin
efb24d44c6 Rename iptables IsIpv6 to IsIPv6 2020-04-10 15:29:50 -07:00
Tim Hockin
ef934a2c5e Add Protocol() method to iptables
Enables simpler printing of which IP family the iptables interface is
managing.
2020-04-10 15:29:49 -07:00
Giuseppe Scrivano
26d94ad628 kubelet: do not configure the device cgroup
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-09 16:18:06 +02:00
Giuseppe Scrivano
a9772b2290 kubelet: adapt cgroup_manager to cgroup v2
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-09 16:18:04 +02:00
Giuseppe Scrivano
6d16fee229 kubelet: cpu hard capping is supported on cgroup v2
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-09 16:18:03 +02:00
Kubernetes Prow Robot
a34b914e82 Merge pull request #89921 from fromanirh/cpumanager-checkpoint
cpumanager: drop old custom file backend
2020-04-08 13:37:58 -07:00
Kubernetes Prow Robot
7061dddf26 Merge pull request #88521 from mattjmcnaughton/mattjmcnaughton/add-error-testing-image-service
Add error path testing to image handling by `kubeGenericRuntimeManager`
2020-04-07 22:45:43 -07:00