Commit Graph

7826 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
c63000ef81 Merge pull request #78793 from mattjmcnaughton/mattjmcnaughton/78629-fix-reserved-cgroup-systemd
Fix reserved cgroup systemd
2019-08-02 17:23:52 -07:00
Lee Verberne
906286c743 Change order kubelet starts containers
This starts ephemeral containers prior to init containers so that
ephemeral containers will still be started when init containers fail to
start.

Also improves tests and comments with review suggestions.
2019-08-02 19:56:38 +00:00
Masaki Kimura
c130b77a48 Move nil check for mapperPlugin earlier in reconstructVolume 2019-08-01 20:36:21 +00:00
Jan Safranek
bab81b809b Don't create mounter when reconstructing block volume
CSI mounter will create a new directory + json for a filesystem volume,
leading to even more orphaned files/directories.
2019-08-01 20:04:10 +00:00
Kubernetes Prow Robot
b91d64bfc1 Merge pull request #74423 from lmdaly/topology-manager-device-plugin-api-change
Device Plugin API change to include Topology Info in Devices
2019-08-01 11:52:31 -07:00
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
Dan Winship
81cd27a51e iptables: simplify version handling 2019-08-01 12:05:31 -04:00
Kubernetes Prow Robot
e8559f7565 Merge pull request #75229 from andrewsykim/kubelet-node-address-external
kubelet: lookup node address for external provider if none is set
2019-08-01 08:16:16 -07:00
Kubernetes Prow Robot
0775e6b2db Merge pull request #80591 from danwinship/no-localhost-snat
hostport: Don't masquerade localhost-to-localhost traffic
2019-07-31 22:36:50 -07:00
Kubernetes Prow Robot
1a8844cd03 Merge pull request #80683 from moshe010/rename_files
TopologyManager: Fix rename best-effort policy files
2019-07-31 00:25:00 -07:00
Kubernetes Prow Robot
4f15c017ea Merge pull request #80657 from rphillips/fixes/log_metrics_add_uid
kubelet: add UID to kubelet_container_log_filesystem_used_bytes metric
2019-07-30 08:53:43 -07:00
Kubernetes Prow Robot
b4f6b0bf50 Merge pull request #79963 from RainbowMango/pr_fix_typo_for_informer
Fix go lint error for cache directory
2019-07-30 05:33:03 -07:00
Kubernetes Prow Robot
4c191fde89 Merge pull request #73829 from alculquicondor/fix/comment
Fix/Add comments on cadvisor implementations
2019-07-30 05:32:51 -07:00
Kubernetes Prow Robot
40b31794ab Merge pull request #79623 from aaronbbrown/abb-quote-container-in-use
quote container name in container already use error matching
2019-07-30 03:35:31 -07:00
Kubernetes Prow Robot
320bc21dbe Merge pull request #78762 from klueska/upstream-inherit-cpus-from-init-containers
Proactively remove init Containers in CPUManager static policy
2019-07-30 03:35:18 -07:00
Aldo Culquicondor
a626a2972e Fix/Add comments on cadvisor implementations
Fix lint issues.

Signed-off-by: Aldo Culquicondor <acondor@google.com>
2019-07-29 09:31:35 -04:00
Kubernetes Prow Robot
f18833ee58 Merge pull request #80429 from gaorong/expose-node-lease-renewal-frequency
kubelet: change node-lease-renew-interval to 0.25 of lease-renew-duration
2019-07-29 02:29:56 -07:00
Rong Gao
cda783699b change node-lease-renew-interval to 0.25 of renew-duration
0.25 is a dedicated value to align before default value
of renew-interval but get more heuristic interval
2019-07-29 15:02:11 +08:00
Moshe Levi
3b83c5c7c6 TopologyManager: Fix rename best-effort policy files
PR https://github.com/kubernetes/kubernetes/pull/80301 rename
the preferred policy to best-effort, but the files names are
still policy_preferred.go and policy_preferred_test.go. This
PR fix that.
2019-07-28 19:35:16 +03: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
RainbowMango
0e0e1f7dab 1. Fix lint errors for the whole directory staging/src/k8s.io/client-go/tools/cache;
2. Remove staging/src/k8s.io/client-go/tools/cache from .golint_failures;
3. Fix some typo from comments.
2019-07-27 15:49:03 +08:00
Ryan Phillips
2bdf975d5b kubelet: add UID to kubelet_container_log_filesystem_used_bytes metric
buildPodRef creates a unique key with the {podName, namespace, UID}
tuple. By omitting the UID in the metric, duplicate metrics can be sent
to prometheus causing 500's on the /metrics endpoint.
2019-07-26 14:59:43 -05:00
Kevin Klues
9f36f1a173 Add tests for proactive init Container removal in the CPUManager static policy 2019-07-26 14:34:51 +02:00
Kevin Klues
6a7db380de Add tests for new containertMap type in the CPUManager 2019-07-26 14:34:51 +02:00
Kevin Klues
c6d9bbcb74 Proactively remove init Containers in CPUManager static policy
This patch fixes a bug in the CPUManager, whereby it doesn't honor the
"effective requests/limits" of a Pod as defined by:

    https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#resources

The rule states that a Pod’s "effective request/limit" for a resource
should be the larger of:
    * The highest of any particular resource request or limit
      defined on all init Containers
    * The sum of all app Containers request/limit for a
      resource

Moreover, the rule states that:
    * The effective QoS tier is the same for init Containers
      and app containers alike

This means that the resource requests of init Containers and app
Containers should be able to overlap, such that the larger of the two
becomes the "effective resource request/limit" for the Pod. Likewise,
if a QoS tier of "Guaranteed" is determined for the Pod, then both init
Containers and app Containers should run in this tier.

In its current implementation, the CPU manager honors the effective QoS
tier for both init and app containers, but doesn't honor the "effective
request/limit" correctly.

Instead, it treats the "effective request/limit" as:
    * The sum of all init Containers plus the sum of all app
      Containers request/limit for a resource

It does this by not proactively removing the CPUs given to previous init
containers when new containers are being created. In the worst case,
this causes the CPUManager to give non-overlapping CPUs to all
containers (whether init or app) in the "Guaranteed" QoS tier before any
of the containers in the Pod actually start.

This effectively blocks these Pods from running if the total number of
CPUs being requested across init and app Containers goes beyond the
limits of the system.

This patch fixes this problem by updating the CPUManager static policy
so that it proactively removes any guaranteed CPUs it has granted to
init Containers before allocating CPUs to app containers. Since all init
container are run sequentially, it also makes sure this proactive
removal happens for previous init containers when allocating CPUs to
later ones.
2019-07-26 14:34:51 +02:00
Louise Daly
674ecba935 Change Socket to Node
Change Node from int in TopologyInfo to type NUMANode which is an int
2019-07-26 06:35:48 +01:00
lmdaly
c1fb5bd508 Device Plugin API change to include Topology Info in Devices 2019-07-26 05:14:14 +01:00
Antoine Pelisse
6568325ca2 Regenerate 2019-07-25 11:54:00 -07:00
Dan Winship
bf077b19d4 hostport: Don't masquerade localhost-to-localhost traffic 2019-07-25 13:34:14 -04:00
Kevin Klues
7eccc71c9e Rename 'preferred' TopologyManager policy to 'best-effort' 2019-07-25 10:44:36 +02:00
Kubernetes Prow Robot
70521fbf32 Merge pull request #80486 from liyanhui1228/systemuuid
Set the systemUUID for windows nodes
2019-07-24 13:50:33 -07:00
Lee Verberne
7bce18b0ce Generated code for Ephemeral Containers in kubelet 2019-07-24 16:25:52 +00:00
Lee Verberne
ea212d5d49 Add support for ephemeral containers to the kubelet 2019-07-24 16:24:26 +00:00
ethan
5d1a42bbbc fix typos in kubelet.go 2019-07-24 21:16:23 +08: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
Angela Li
6acc08508c fix lint 2019-07-23 16:01:39 -07:00
Angela Li
e242bbe12c Changed to use cmd for getting system uuid 2019-07-23 15:59:32 -07:00
Angela Li
e56db7d407 Move to getMachineInfo() 2019-07-23 13:25:12 -07:00
Kubernetes Prow Robot
5b496fe8f5 Merge pull request #80315 from klueska/upstream-cleanup-socketmask
Cleanup the TopologyManager socketmask abstraction
2019-07-23 11:40:28 -07:00
Kubernetes Prow Robot
304e2c247a Merge pull request #80294 from klueska/upstream-fail-fast-cpumanager-topologymanager
Update the cpumanager and topologymanager to error out if an invalid policy is given
2019-07-23 11:40:14 -07:00
Angela Li
da966f33f4 Add unit test 2019-07-23 11:22:51 -07:00
Angela Li
7adb0a2656 Set the systemUUID for windows nodes 2019-07-23 10:59:24 -07:00
Kubernetes Prow Robot
04c9bd9bfa Merge pull request #80176 from liyanhui1228/cpuusage
Add CPU usage nano cores for windows nodes
2019-07-22 13:52:53 -07:00
Angela Li
8851a42655 gofmt 2019-07-22 10:56:28 -07:00
Angela Li
e6e8615db3 address comments 2019-07-22 10:53:15 -07:00
Jan Safranek
af0c2fe572 Fix some error messages 2019-07-22 10:54:33 +02:00
Elana Hashman
e0b66c792b Drop "pod_name" and "container_name" metric labels
These labels were deprecated in 1.14 (#69099) and should no longer be
used in metric queries.
2019-07-19 10:08:21 -07:00
Jan Safranek
17be780651 Add events to dswp 2019-07-19 17:46:21 +02:00
Kubernetes Prow Robot
96f02fd0a4 Merge pull request #80104 from mattjmcnaughton/mattjmcnaughton/image-manager-test-readability-improvements
Improve readability for image manager tests
2019-07-18 21:33:11 -07:00
Kubernetes Prow Robot
a5fcaa87f6 Merge pull request #80324 from tallclair/server-metrics
Register Kubelet server metrics
2019-07-18 19:31:49 -07:00