Commit Graph

730 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
236470431f Merge pull request #97141 from wawa0210/remove-hyperv
remove experimental windows container hyper-v support with Docker
2021-01-20 15:33:12 -08:00
Kubernetes Prow Robot
cff7d7ba0a Merge pull request #97764 from pacoxu/fix/windows-cgroup
kubeadm should ignore cgroup driver check on Windows node
2021-01-19 22:18:11 -08:00
wawa0210
ea9df6361b remove windows container hyper-v support 2021-01-14 22:49:34 +08:00
pacoxu
71d70f7a83 ignore cgroup driver check in windows node upgrade
Signed-off-by: pacoxu <paco.xu@daocloud.io>
2021-01-13 10:01:35 +08:00
Jay Li
4ea18b6e1e fix privileged config of Pod Sandbox 2020-11-26 12:30:55 +08:00
Andrew Sy Kim
a59189e213 kubelet: dockershim should return grpc status with DeadlineExceeded code
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
2020-11-16 22:51:59 -05: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
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
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
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
eaa7b48c96 Merge pull request #95534 from oomichi/add-unit-tests-to-Exec
Add unit tests for dockershim/exec.go
2020-11-02 15:20:15 -08:00
Khaled Henidak (Kal)
6675eba3ef dual stack services (#91824)
* api: structure change

* api: defaulting, conversion, and validation

* [FIX] validation: auto remove second ip/family when service changes to SingleStack

* [FIX] api: defaulting, conversion, and validation

* api-server: clusterIPs alloc, printers, storage and strategy

* [FIX] clusterIPs default on read

* alloc: auto remove second ip/family when service changes to SingleStack

* api-server: repair loop handling for clusterIPs

* api-server: force kubernetes default service into single stack

* api-server: tie dualstack feature flag with endpoint feature flag

* controller-manager: feature flag, endpoint, and endpointSlice controllers handling multi family service

* [FIX] controller-manager: feature flag, endpoint, and endpointSlicecontrollers handling multi family service

* kube-proxy: feature-flag, utils, proxier, and meta proxier

* [FIX] kubeproxy: call both proxier at the same time

* kubenet: remove forced pod IP sorting

* kubectl: modify describe to include ClusterIPs, IPFamilies, and IPFamilyPolicy

* e2e: fix tests that depends on IPFamily field AND add dual stack tests

* e2e: fix expected error message for ClusterIP immutability

* add integration tests for dualstack

the third phase of dual stack is a very complex change in the API,
basically it introduces Dual Stack services. Main changes are:

- It pluralizes the Service IPFamily field to IPFamilies,
and removes the singular field.
- It introduces a new field IPFamilyPolicyType that can take
3 values to express the "dual-stack(mad)ness" of the cluster:
SingleStack, PreferDualStack and RequireDualStack
- It pluralizes ClusterIP to ClusterIPs.

The goal is to add coverage to the services API operations,
taking into account the 6 different modes a cluster can have:

- single stack: IP4 or IPv6 (as of today)
- dual stack: IPv4 only, IPv6 only, IPv4 - IPv6, IPv6 - IPv4

* [FIX] add integration tests for dualstack

* generated data

* generated files

Co-authored-by: Antonio Ojea <aojea@redhat.com>
2020-10-26 13:15:59 -07:00
Kenichi Omichi
11b1307b25 Add unit tests for dockershim/exec.go
When trying to fix a dockershim issue, there were not any unit tests
for dockershim/exec.go and it was difficult to add the corresponding
unit test for the bug.
This adds the unit tests for avoiding such situation in the future.
2020-10-14 02:04:43 +00:00
Kubernetes Prow Robot
0969e666dc Merge pull request #93066 from AnishShah/network-plugin-metrics
kubelet: add operations count and error count metrics to network plugin manager
2020-10-05 15:16:19 -07:00
Anish Shah
1b9885d897 add unit tests for network plugin manager metrics 2020-10-05 12:07:32 -07:00
Stephen Solka
203679cc61 prefer NoError/Error over Nil/NotNil 2020-09-04 18:35:52 -04:00
Kubernetes Prow Robot
db10d8c942 Merge pull request #93773 from knight42/fix/kubelet-concurrent-map-writes
fix(kubelet): protect `containerCleanupInfos` from concurrent map writes
2020-09-01 18:43:27 -07:00
Kubernetes Prow Robot
0decea31a1 Merge pull request #93124 from gaurav1086/InjectImageInspects_fix_range_issue
[kubelet/dockershim] : fix range iterator copy issue in InjectImageInspects
2020-08-29 20:04:21 -07:00
Kubernetes Prow Robot
9ff9e8798a Merge pull request #93498 from luigibk/use-ebtables-from-utils
Update k8s.io/utils dependency and use ebtables from there
2020-08-28 06:37:21 -07:00
Kubernetes Prow Robot
5ec83bc973 Merge pull request #91181 from zvier/master
fix golint errors for `pkg/kubelet/dockershim`
2020-08-27 17:54:45 -07: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
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
Jordan Liggitt
f33dc28094 generated: hack/update-hack-tools.sh && hack/update-vendor.sh 2020-07-25 16:45:02 -04:00
wawa0210
aea228f5dd fix no-new-privileges on windows 2020-07-20 16:14:52 -04:00
Gaurav Singh
0fb9b12153 [kubelet/dockershim] : Use local copy for range iterator
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
2020-07-18 12:52:23 -04:00
Anish Shah
0ffe89ed0b kubelet: add operations count and error count metrics to network plugin manager 2020-07-15 12:41:35 -07:00
Kubernetes Prow Robot
3f8f9998b0 Merge pull request #90948 from pjbgf/seccomp-least-priv-dockershim
Add seccomp least privilege for docker sandbox
2020-07-14 02:23:22 -07:00
Giuseppe Scrivano
0d2a493a8f kubelet: skip setting the devices cgroup
use the new libcontainer feature of skipping setting the devices
cgroup.  This is necessary on cgroup v2 to avoid leaking a eBPF
program every time the cgroup is re-configured.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-07-09 09:37:46 +02:00
Paulo Gomes
8976e3620f Add seccomp enforcement and validation based on new GA fields
Adds seccomp validation.

This ensures that field and annotation values must match when present.

Co-authored-by: Sascha Grunert <sgrunert@suse.com>
2020-07-06 09:13:25 +01:00
Antonio Ojea
6f79600e73 bump cni library version to v0.8.0
last CNI library release is 0.7.1 from Jun 11, 2019.
Since then, there was introduced new feature and bugfixes.

Currently, this library is only being used by dockershim,
the other CRI plugins are vendoring it directly

However, this will help also to mitigate some of the issues with the
CI jobs that are still using dockershim.

Signed-off-by: Antonio Ojea <antonio.ojea.garcia@gmail.com>
2020-07-01 18:09:19 +02:00
Giuseppe Scrivano
e94aebf4cb pkg/kubelet: adapt to new libcontainer API
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-06-24 18:39:51 +02:00
Vinod K L Swamy
ac3f87346f KubeProxy and DockerShim changes for Ipv6 dual stack support on Windows
Signed-off-by: Vinod K L Swamy <vinodko@microsoft.com>
2020-06-10 15:36:48 -07:00
zvier
d43817b5ec fix golint errors for pkg/kubelet/dockershim
Signed-off-by: zvier <zvier20@gmail.com>
2020-05-24 23:45:17 +08:00
Davanum Srinivas
0608e8be25 update bazel BUILD files
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-20 10:57:47 -04:00
Davanum Srinivas
5692926914 Move packages for slightly better UX for consumers
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-20 10:57:46 -04:00
Kubernetes Prow Robot
55d71532c0 Merge pull request #81165 from johscheuer/update-traffic-shaping-docs
Update internal traffic shaping docs
2020-05-17 03:01:35 -07:00
Davanum Srinivas
07d88617e5 Run hack/update-vendor.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2020-05-16 07:54:33 -04: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
Kubernetes Prow Robot
4339ac30a0 Merge pull request #90554 from vboulineau/vboulineau/fix_win_stats_init_containers
kubelet: fix `/stats/summary` endpoint on Windows when init-containers are present on the node
2020-05-13 15:58:51 -07:00
Paulo Gomes
6db5b5c50f Add seccomp least privilege for docker sandbox 2020-05-10 11:52:42 +01: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
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
Vincent Boulineau
3bff11244b kubelet: fix /stats/summary endpoint on Windows when init-containers are present on the node
Following changes in #87730, Kubelet is directly hcsshim to gather stats.
However, unlike `docker stats` API that was used before, hcsshim does not
keep information about exited containers.

When the Kubelet lists containers (`docker_container.go:ListContainers()`),
it sets `All: true`, retrieving non-running containers.

When docker stats is called with such container id, it'll return a valid JSON
with all values set to 0. The non-running containers are filtered later on in the process.

When the hcsshim is called with such container id, it'll return an error, effectively
stopping the stats retrieval for all containers.
2020-05-04 14:42:02 +02:00
ZP-AlwaysWin
5796b7a32e Repair description 2020-04-17 09:36:38 +08:00