Commit Graph

1238 Commits

Author SHA1 Message Date
Travis Rhoden
935c23f2ad
Move HostUtil to pkg/volume/util/hostutil
This patch moves the HostUtil functionality from the util/mount package
to the volume/util/hostutil package.

All `*NewHostUtil*` calls are changed to return concrete types instead
of interfaces.

All callers are changed to use the `*NewHostUtil*` methods instead of
directly instantiating the concrete types.
2019-08-30 10:14:42 -06:00
Louise Daly
f6c085f60e Added Single NUMA Node Policy which ensure resource are
aligned on a single NUMA node

Co-authored-by: Kevin Klues <kklues@nvidia.com>
2019-08-30 07:17:17 +01:00
Kubernetes Prow Robot
de1cfa9bc1
Merge pull request #81787 from lmdaly/topology-manager-rename-strict-policy
Renaming strict policy to restricted policy
2019-08-28 01:38:04 -07:00
Benjamin Elder
5a3301a59d s/nolegacyproviders/providerless/ 2019-08-22 15:30:56 -07:00
Benjamin Elder
ece112524b hack/update-bazel.sh 2019-08-22 14:53:35 -07:00
Benjamin Elder
93c479793d make it possible to build kubelet without legacy cloud providers 2019-08-22 14:53:35 -07:00
Louise Daly
2fb94231d0 Renaming strict policy to restricted policy
Restricted policy will fail admission of guaranteed pods where
all requested resources are not available on a single NUMA Node
2019-08-22 07:57:55 +01:00
Tarun Pothulapati
e3c21d6495 update dependencies to include k8s.io/utils/inotify
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2019-08-07 21:09:40 +05:30
Tarun Pothulapati
a7d007958e fix linting issues
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2019-08-07 21:00:53 +05:30
Tarun Pothulapati
f4e2907477 use k8s.io/utils/inotify instead of github.com/go-sigma/inotify
Signed-off-by: Tarun Pothulapati <tarunpothulapati@outlook.com>
2019-08-07 21:00:29 +05:30
Kubernetes Prow Robot
93e6fb30f0
Merge pull request #74357 from lmdaly/topology-manager-container-manager
Updates to container manager and internal container lifecycle to accommodate TopologyManager
2019-08-01 11:52:17 -07:00
Kubernetes Prow Robot
23649560c0
Merge pull request #80301 from klueska/upstream-rename-topologymanager-preferred-best-effort
Rename 'preferred' TopologyManager policy to 'best-effort'
2019-07-27 09:25:56 -07:00
Kevin Klues
7eccc71c9e Rename 'preferred' TopologyManager policy to 'best-effort' 2019-07-25 10:44:36 +02:00
Louise Daly
9f0081cc36 Updates to container manager and internal container lifecycle to accommodate Topology Manager
Co-authored-by: Conor Nolan <conor.nolan@intel.com>
2019-07-24 08:09:38 +01:00
David Xia
fabfd950b1
cleanup: fix some log and error capitalizations
Part of https://github.com/kubernetes/kubernetes/issues/15863
2019-07-20 18:26:16 -04:00
Jordan Liggitt
a6db3fd6fa Update unit test with expected query parameters 2019-07-16 20:54:26 -04:00
Davanum Srinivas
3b2a61dead Remove deprecated --containerized flag in kubelet
This flag was deprecated in 1.14
2019-07-11 17:47:21 -04:00
Kubernetes Prow Robot
bbef01a202
Merge pull request #74411 from nolancon/topology-manager-flags-feature-gate
Add feature gate and kubelet flags for Topology Manager
2019-07-03 15:16:13 -07:00
Seth Jennings
0c7ce5a7d7 kubelet: add allowed sysctl to KubeletConfiguration 2019-07-02 12:19:47 -05:00
nolancon
705f97e171 Enable feature gate and kubelet flags for Topology Manager
Nit: remove capitalization of preferred
Remove line from kubelet and add to separate PR for easier merge

nit: dependency added to separate PR

Add check to ensure strict policy cannot be set without feature gate enabled

Topology Manager runs "none" policy by default.

Added constants for policies and updated documentation.
2019-07-02 06:50:17 +01:00
Kubernetes Prow Robot
6f73ab2219
Merge pull request #78908 from dcbw/cni-0.7.1-snapshot
vendor: bump CNI to v0.7.1 snapshot
2019-07-01 21:33:21 -07:00
Kubernetes Prow Robot
cdddcf9b48
Merge pull request #71170 from atlassian/rand-cleanup2
Cleanup math/rand package usage
2019-07-01 21:33:08 -07:00
Dan Williams
8739ade3fa kubelet: add CNI cache dir option and plumb through to CNI and kubenet
libcni 0.7.0 caches ADD operation results and allows the runtime to
retrieve these from the cache. In case the user wants a different
cache directory than the defaul, plumb that through like we do
for --cni-bin-dir and --cni-conf-dir.
2019-07-01 12:14:07 -05:00
Kubernetes Prow Robot
dd8a000a77
Merge pull request #79493 from odinuge/kube-cmd-double-print
Remove duplicate error messages from cli commands
2019-06-28 13:57:41 -07:00
Kubernetes Prow Robot
2501a9083d
Merge pull request #68513 from codenrhoden/mount-refactor
Refactor util/mount interface in prep for moving out of k/k
2019-06-28 13:57:28 -07:00
Odin Ugedal
7caf51daa4
Remove duplicate error messages from cli commands
Since we never use the cobras "SilenceErrors" or "SilenceUsage",
a command executed with "cmd.Execute()" will never return an error
without printing it.

The current behavior results in all error messages being printed twice:

Example:

$ kubectl abc
Error: unknown command "abc" for "kubectl"
Run 'kubectl --help' for usage.
unknown command "abc" for "kubectl"

This applies to all cli commands using Cobra. To verify, follow the code
path of the Execute function:

https://github.com/spf13/cobra/blob/c439c4fa0937/command.go#L793
Signed-off-by: Odin Ugedal <odin@ugedal.com>
2019-06-27 21:55:14 +02:00
Kubernetes Prow Robot
ed9f340add
Merge pull request #79305 from paivagustavo/clean-up-self-set-node-labels
Clean up self-set node labels
2019-06-27 11:37:21 -07:00
Gustavo Paiva
096bd5f5d8 block not allowed node labels on kubelet 2019-06-26 19:24:30 -03:00
draveness
8e9472ba79 feat: cleanup feature gates for CSIPersistentVolume 2019-06-25 09:00:12 +08:00
David Ashpole
883f33df6c kunsupported cgroup setup causes kubelet to emit a warning rather than exiting 2019-06-20 16:16:08 -07:00
Travis Rhoden
be7da5052f Refactor pkg/util/mount to be more reusable
This patch refactors pkg/util/mount to be more usable outside of
Kubernetes. This is done by refactoring mount.Interface to only contain
methods that are not K8s specific. Methods that are not relevant to
basic mount activities but still have OS-specific implementations are
now found in a mount.HostUtils interface.
2019-06-14 09:35:18 -06:00
Davanum Srinivas
e0821ca3dd
Remove ovirt/cloudstack/photon cloud providers
Change-Id: Iddb80bdc2a9d75d444b8a3cfe0b142acb78e9097
2019-06-10 12:50:53 -04:00
Kubernetes Prow Robot
6b6bdc760a
Merge pull request #78504 from dashpole/deprecate_cadvisor_json
Add kubelet flag to disable cadvisor json apis, and mark it deprecrated
2019-06-01 04:44:55 -07:00
Kubernetes Prow Robot
f49fe2a750
Merge pull request #72787 from dashpole/cadvisor_prefix_whitelist
Only collect metrics for cgroups required by the summary API
2019-05-31 00:28:26 -07:00
David Ashpole
785d40923a add kubelet flag to disable cadvisor json apis, and mark it deprecrated 2019-05-30 10:39:45 -07:00
Kubernetes Prow Robot
38468e4338
Merge pull request #70536 from mysunshine92/golint-hostpath
fix golint for pkg/volume/host_path
2019-05-29 11:25:46 -07:00
Kubernetes Prow Robot
fa7c0e870f
Merge pull request #78313 from tallclair/mux
Avoid the default server mux
2019-05-29 07:58:59 -07:00
Mikhail Mazurskiy
4ce1fb7d40
Cleanup math/rand package usage 2019-05-24 09:25:04 +10:00
Kubernetes Prow Robot
1fba88884b
Merge pull request #78016 from gaorong/fix-closeAllConns
kubelet: fix fail to close kubelet->API connections on heartbeat failure
2019-05-23 08:38:28 -07:00
Rong Gao
1d07d30305 fix: failed to close kubelet->API connections on heartbeat failure 2019-05-23 22:18:14 +08:00
Kubernetes Prow Robot
4f33b5f421
Merge pull request #77820 from dims/charrywanganthony-pr-71835-delete-kubelet-security-controls
Remove deprecated Kubelet security controls
2019-05-22 13:52:25 -07:00
Davanum Srinivas
c7dcb61e80
Same as defaulting allow-privileged to true
Change-Id: Ib0337bd4eabf9c0cc0d3b0c5a865ed0c468ba370
2019-05-21 08:51:16 -04:00
Tim Allclair
dd5c8e14fd Avoid the default server mux 2019-05-16 17:31:20 -07:00
Kubernetes Prow Robot
44de3f928a
Merge pull request #74009 from AdamDang/patch-27
Fix the klog.Errorf message
2019-05-16 16:26:27 -07:00
chaowang
9ba0d47465
Remove deprecated Kubelet security controls
Change-Id: I9f770e6780b60e881092690f6f177d726f474fe3
2019-05-16 13:33:52 -04:00
David Ashpole
f8dff6bd5b only collect metrics for cgroups required by the summary API 2019-05-10 12:12:41 -07:00
Stephen Chan
7cbe2d6c5f move signal handling for hyperkube apiserver and kubelet commands out of hyperkube main command 2019-05-09 21:27:44 -07:00
Davanum Srinivas
edf8577654
Remove Rancher Credential Provider from upstream kubernetes
This is useful only in rancher environment, they are using this in a
very old branch (1.6), they are currently at 2.2.x. There is just no
point in us carrying this code as this is not useful to anyone else
outside of the rancher environment. Let us please remove this code from
upstream.

Change-Id: I5196d0edd79a7809c3a04e6028ddbd01063f224b
2019-04-25 19:10:01 -04:00
yameiwang
f130e48deb fix golint errors in pkg/volume/host_path 2019-04-25 06:46:47 +08:00
Vince Prignano
3f552264ca Update klog to 0.3.0
Signed-off-by: Vince Prignano <vincepri@vmware.com>
2019-04-18 08:33:06 -07:00
Travis Rhoden
2253807760 Fix pkg/volume/util/nsenter linting errors 2019-04-08 10:43:54 -06:00
Travis Rhoden
1c045a09db Move nsenter mounter to pkg/volume/util/nsenter
As part of moving pkg/util/mount out of tree, the NSEnter implementation
of mount.Interface needs to be relocated out of pkg/util/mount, as it is
K8s specific. This patch relocates that mounter implementation to
pkg/volume/util/nsenter.

Since the NSEnter mounter shares a lot of its logic with the Linux
mounter implementation, many of the previously private methods of the
Linux mounter are now made public to maintain that shared code.

Additionaly, it was observed that *all* mount.Interface implemenations
were using the same common method for IsNotMountPoint, so this patch
removes that method from the mount.Interface definition and just exports
the common implementation instead.
2019-04-08 09:53:46 -06:00
Clayton Coleman
7d53ad1fb0
Kubelet should request protobuf from the apiserver
The kubelet was not asking for application/vnd.kubernetes.protobuf
on list and get calls. It looks like we lost that code when we
moved to cert rotation. Clean up the client initialization path
and make sure that all non-dynamic clients use protobuf by default.
2019-03-22 12:42:20 -04:00
Tim Allclair
222988bdda Migrate to internal node.k8s.io client 2019-03-07 11:57:12 -08:00
Kubernetes Prow Robot
45e5f6053b
Merge pull request #74424 from liggitt/drop-k8s-io-node-labels
Clean up self-set node labels
2019-03-06 08:24:26 -08:00
Xing Yang
6265f4f78c CSINodeInfo/CSIDriver controller changes
This is the 2nd PR to move CSINodeInfo/CSIDriver APIs to
v1beta1 core storage APIs. It includes controller side changes.
It depends on the PR with API changes:
https://github.com/kubernetes/kubernetes/pull/73883
2019-03-04 16:41:58 -08:00
Pengfei Ni
9ff480b7e4 Fix help message for --container-runtime-endpoint 2019-02-28 15:54:31 +08:00
Travis Rhoden
2c4d748bed Refactor subpath out of pkg/util/mount
This patch moves subpath functionality out of pkg/util/mount and into a
new package pkg/volume/util/subpath. NSEnter funtionality is maintained.
2019-02-26 19:59:53 -07:00
Jordan Liggitt
ca592a91d6 Update timeline for kubelet label restrictions 2019-02-26 11:42:23 -05:00
Kubernetes Prow Robot
686c4912e9
Merge pull request #73930 from ixdy/bazel-cgo-crossbuild
bazel: initial support for cross-compilation
2019-02-23 01:43:27 -08:00
Kubernetes Prow Robot
b5566c7818
Merge pull request #71896 from awly/client-go-keyutil
client-go: extract new keyutil package from util/cert
2019-02-23 01:43:16 -08:00
Jeff Grafton
7a938eb541 Create work-around wrappers for pure attribute on go_binary and go_test
This enables cgo when cross-compiling certain tests and binaries to
Linux, while disabling cgo for Windows and Darwin.
2019-02-22 18:08:34 -08:00
Davanum Srinivas
bcf6d39b3a
Deprecate containerized kubelet
Change-Id: Ia82878d81822a2d7214bea21ffe9dde7087a315f
2019-02-19 14:06:15 -05:00
Andrew Lytvynov
18458392ca Extract new keyutil package from client-go/util/cert
This package contains public/private key utilities copied directly from
client-go/util/cert. All imports were updated.

Future PRs will actually refactor the libraries.

Updates #71004
2019-02-19 09:48:59 -08:00
Kubernetes Prow Robot
16e08f3e53
Merge pull request #73408 from Klaven/component-base-flags
Move flag util pkgs to k8s.io/component-base/cli
2019-02-15 16:46:08 -08:00
Marek Counts
160ed26c20 autogen files to support new project structure. 2019-02-15 10:29:31 -05:00
Marek Counts
7744f90830 Moved flag and globalflag
Moved all flag code from `staging/src/k8s.io/apiserver/pkg/util/[flag|globalflag]` to `component-base/cli/[flag|globalflag]` except for the term function because of unwanted dependencies.
2019-02-15 10:28:13 -05:00
Ben Moss
34ac4d9ee9 Update deprecated links 2019-02-15 09:13:07 -05:00
Kubernetes Prow Robot
808f2cf0ef
Merge pull request #72525 from justinsb/owners_should_not_be_executable
Remove executable file permission from OWNERS files
2019-02-14 23:55:45 -08:00
Kubernetes Prow Robot
888ff4097a
Merge pull request #73651 from RobertKrawitz/node_pids_limit
Support total process ID limiting for nodes
2019-02-13 17:31:18 -08:00
Robert Krawitz
2597a1d97e Implement SupportNodePidsLimit, hand-tested 2019-02-13 14:56:17 -05:00
AdamDang
6e7132e9db
Fix the klog.Errorf message
health server->healthz server
2019-02-13 17:05:24 +08:00
Kubernetes Prow Robot
a1539747db
Merge pull request #73926 from alculquicondor/fix/kubelet-app-lint
Fix cmd/kubelet/app lint issues
2019-02-12 00:19:06 -08:00
Kubernetes Prow Robot
73dc138cae
Merge pull request #73256 from deitch/doc-kubelet-nodename
Update kubelet overview help doc
2019-02-11 19:57:56 -08:00
Aldo Culquicondor
17a635448a Fix cmd/kubelet/app lint issues 2019-02-11 13:18:25 -05:00
Kubernetes Prow Robot
b50c643be0
Merge pull request #73540 from rlenferink/patch-5
Updated OWNERS files to include link to docs
2019-02-08 09:05:56 -08:00
Kubernetes Prow Robot
1b26097e1e
Merge pull request #73030 from tnozicka/fix-csr-list-watch
Switch WaitForCertificate to informers to avoid broken watches
2019-02-07 01:45:33 -08:00
Tomas Nozicka
a7588723f7 Switch WaitForCertificate to informers to avoid broken watches 2019-02-06 22:27:00 +01:00
Kubernetes Prow Robot
6a149864fb
Merge pull request #73285 from tallclair/typed-runtimeclass
Migrate RuntimeClass support to the generated typed client
2019-02-04 16:13:30 -08:00
Roy Lenferink
b43c04452f Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
Avi Deitcher
0fae35dfd8 Update kubelet overview help doc 2019-02-01 13:14:48 +02:00
Kubernetes Prow Robot
6af7d2cb1a
Merge pull request #69552 from Pingan2017/remove-experimental-fail-swap-on-flag
remove kubelet flag '--experimental-fail-swap-on' (deprecated in v1.8)
2019-01-31 19:32:28 -08:00
Andrew Kim
bdbef741d1 remove usgae of NSEnterExecutor 2019-01-29 15:20:13 -05:00
Tim Allclair
aab3523e0e Migrate RuntimeClass support to the generated typed client 2019-01-24 11:08:30 -08:00
Andrew Kim
2ea82cea20 replace pkg/util/nsenter with k8s.io/utils/nsenter 2019-01-24 13:49:04 -05:00
Marek Counts
1739e343a8 autogen files
all the autogen files that got updated due to the changes to move logs.
2019-01-17 09:16:36 -05:00
Marek Counts
ba81a5409a move logs into component-base
all the code changes to move move /apiserver/pkg/util/logs into /component-base/logs
2019-01-17 09:16:21 -05:00
Justin SB
dd19b923b7
Remove executable file permission from OWNERS files 2019-01-11 16:42:59 -08:00
Derek Carr
bce9d5f204 SupportPodPidsLimit feature beta with tests 2019-01-09 10:50:59 -05:00
Kubernetes Prow Robot
dc9261bc3b
Merge pull request #71174 from smarterclayton/debug_kubeadm
Restore bootstrap in the background with fix to preserve kubeadm behavior
2018-12-03 05:49:57 -08:00
k8s-ci-robot
79e5cb2cb7
Merge pull request #71302 from liggitt/verify-unit-test-feature-gates
Split mutable and read-only access to feature gates, limit tests to readonly access
2018-11-29 21:45:12 -08:00
k8s-ci-robot
9c74dc4ef3
Merge pull request #70834 from zhangmingld/gloginfoinsteadinfof
use glog.info instead glog.infof when no var
2018-11-29 19:04:27 -08:00
k8s-ci-robot
12e5eb7dc9
Merge pull request #71011 from sigma/pr/fix-inotify
replace golang.org/x/exp/inotify with standalone library
2018-11-22 18:07:51 -08:00
Jordan Liggitt
d440ecdd3b Update non-test code to use DefaultMutableFeatureGate 2018-11-21 11:51:33 -05:00
Clayton Coleman
fde87329cb
bootstrap: Use kubeconfig contents as seed for cert dir if necessary
kubeadm uses certificate rotation to replace the initial high-power
cert provided in --kubeconfig with a less powerful certificate on
the masters. This requires that we pass the contents of the client
config certData and keyData down into the cert store to populate
the initial client.

Add better comments to describe why the flow is required. Add a test
that verifies initial cert contents are written to disk. Change
the cert manager to not use MustRegister for prometheus so that
it can be tested.
2018-11-17 19:52:12 -05:00
Clayton Coleman
486577df17 Restore "Make bootstrap client cert loading part of rotation""
This reverts the revert of commit 3464222267.
2018-11-17 13:44:58 -05:00
Clayton Coleman
3464222267
Revert "Make bootstrap client cert loading part of rotation"
This reverts commit 0af19875ad.

Revert "Ensure the bootstrap rotation code is tested by forcing rotation"

This reverts commit de293b2d7d.
2018-11-17 10:24:39 -05:00
Clayton Coleman
de293b2d7d
Ensure the bootstrap rotation code is tested by forcing rotation
Expose both a Stop() method (for cleanup) and a method to force
cert rotation, but only expose Stop() on the interface.

Verify that we choose the correct client.
2018-11-16 21:50:52 -05:00
Clayton Coleman
0af19875ad
Make bootstrap client cert loading part of rotation
Ensure that bootstrap+clientcert-rotation in the Kubelet can:

1. happen in the background so that static pods aren't blocked by bootstrap
2. collapse down to a single call path for requesting a CSR
3. reorganize the code to allow future flexibility in retrieving bootstrap creds

Fetching the first certificate and later certificates when the kubelet
is using client rotation and bootstrapping should share the same code
path. We also want to start the Kubelet static pod loop before
bootstrapping completes. Finally, we want to take an incremental step
towards improving how the bootstrap credentials are loaded from disk
(potentially allowing for a CLI call to get credentials, or a remote
plugin that better integrates with cloud providers or KSMs).

Reorganize how the kubelet client config is determined. If rotation is
off, simplify the code path. If rotation is on, load the config
from disk, and then pass that into the cert manager. The cert manager
creates a client each time it tries to request a new cert.

Preserve existing behavior where:

1. bootstrap kubeconfig is used if the current kubeconfig is invalid/expired
2. we create the kubeconfig file based on the bootstrap kubeconfig, pointing to
   the location that new client certs will be placed
3. the newest client cert is used once it has been loaded
2018-11-16 21:50:26 -05:00
k8s-ci-robot
5ec9349276
Merge pull request #70917 from dims/add-log-file-option-to-kubelet-flags
add log_file option to kubelet flags
2018-11-16 15:16:53 -08:00