Commit Graph

379 Commits

Author SHA1 Message Date
Random-Liu
b348e7d1c9 Refactr ListContainers. 2016-04-14 17:05:05 -07:00
Harry Zhang
c31ec5607a Refactor version cache into kubelet util 2016-04-13 00:42:22 -04:00
harry
f9e2f522b4 Add cache for api version
Expose runtime interface
2016-04-12 22:34:59 -04:00
Harry Zhang
b4244a079f Implement OomScoreAdj in kubelet 2016-04-12 22:34:58 -04:00
k8s-merge-robot
6a87dba0b8 Merge pull request #22733 from resouer/flow-control
Automatic merge from submit-queue

Add flow control pkg

minor fix ref #15634
Refactor pkg names in back off related files
2016-04-11 06:18:51 -07:00
Jeff Lowdermilk
1a9cb97bdd Merge pull request #23658 from Random-Liu/fix-termination-message-path
Fix TerminationMessagePath
2016-04-08 20:54:14 -07:00
Minhan Xia
3c58d1ffd3 switch to use ContainerID instead of DockerID in network plugin interface 2016-04-06 16:04:52 -07:00
k8s-merge-robot
a2145d7b1c Merge pull request #23613 from Random-Liu/remove-out-of-date-code
Automatic merge from submit-queue

Kubelet: Remove nsinit related code and bump up minimum docker apiversion

Docker has native exec support after 1.3.x. We never need this code now.

As for the apiversion, because Kubernetes supports 1.8.x - 1.10.x now, we should bump up the minimum docker apiversion.
@yujuhong I checked the [changes](https://github.com/docker/engine-api/blob/master/types/versions/v1p20/types.go), we are not relying on any of those changes. So #23506 should work with docker 1.8.x+
2016-04-03 07:34:26 -07:00
harry
5fe773d37c Add flow control pkg
Refactor pkg names in flow control related files
2016-04-03 11:28:03 +08:00
Random-Liu
5dbac3a8b8 Fix TerminationMessagePath 2016-03-30 16:03:49 -07:00
Random-Liu
1459a17dbe Remove nsinit related code and bump up minimum docker apiversion 2016-03-29 18:21:50 -07:00
Random-Liu
d2524bf291 Start using docker engine-api 2016-03-28 15:39:11 -07:00
Thomas Graf
90623d9b51 DockerManager: Support IPv6 addresses
Falls back to the GlobalIPv6Address or ip -6 addr output in case no
IPv4 is configured for the container.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
2016-03-17 01:27:16 +01:00
tobad357
3d530f7f37 Fix for issue #22932 infinite pod restarts
This fixes an issue when using CNI where the hash of a Container object will differ between creation and change checks due to the docker image exporting ports
2016-03-16 22:43:39 +08:00
Brian Grant
c6b4518aed Merge pull request #22666 from pmorie/pod-ip-flake-redux
Fix flake in pod IP as env var e2e
2016-03-11 09:42:40 -08:00
Paul Morie
5194c12d9e Fix flake in pod IP as env var e2e 2016-03-10 16:32:03 -05:00
k8s-merge-robot
8b186991e2 Merge pull request #22607 from Random-Liu/restart-unknown-state-container
Auto commit by PR queue bot
2016-03-08 05:02:35 -08:00
Yu-Ju Hong
b1a6ee26ef Ignore "no such container" error when generating pod status
This allows the pod continue to sync if one container in a corrupt state.
2016-03-06 08:46:31 -08:00
k8s-merge-robot
fa0bf812d6 Merge pull request #22467 from Random-Liu/push-down-runtime-version-check
Auto commit by PR queue bot
2016-03-05 22:34:19 -08:00
k8s-merge-robot
f359bd96a7 Merge pull request #20578 from dcbw/dont-cni-hostnet-pods
Auto commit by PR queue bot
2016-03-05 09:03:12 -08:00
Lantao Liu
45064d7a1e Always restart container in unknown state. 2016-03-05 10:42:26 +00:00
k8s-merge-robot
e9d3be83ae Merge pull request #22241 from Random-Liu/recover-back-off-behaviour
Auto commit by PR queue bot
2016-03-05 00:05:15 -08:00
Random-Liu
07b21c50fa Add Status in runtime interface and use it for runtime health check. 2016-03-04 21:26:41 -08:00
Abhishek Shah
a3c00aadd5 Specify hostname, subdomain via annotation on podspec.
The hostname is a DNS A record, if the subdomain maps to a service name
in the same namespace
2016-03-04 13:28:33 -08:00
Dan Williams
bc62096ad5 Clean up host networking plugin checks for docker manager
We can save a docker inspect in podInfraContainerChanged() because
it's only used within the useHostNetwork() block.  We can also
consolidate some code in createPodInfraContainer() because if
the pod uses the host network, no network plugin will be involved.

Finally, in syncPodWithSyncResult() we can consolidate some
conditionals because both hairpin setup and getting the container
IP are only relevant when host networking is *not* being used.

More specifically, putting the dm.determineContainerIP() call
into the !useHostNetwork() block is OK since if no network plugin
was called to set the container up, it makes no sense to call
the network plugin to retrieve the IP address that it did not
handle.  The CNI plugin even calls back into the docker manager
to GetContainerIP() which grabs the IP from docker, which will
always be "" for host networked containers anyway.
2016-03-04 09:27:14 -06:00
Jeff Lowdermilk
402e44d26e Merge pull request #22320 from timstclair/network
Use the default interface for reporting network stats.
2016-03-03 15:18:34 -08:00
Tim St. Clair
3ad59de829 Garbage collect containers for deleted pods 2016-03-02 14:35:17 -08:00
Random-Liu
a88dad1c3e Backoff restart container with liveness probing failure 2016-03-01 17:36:12 -08:00
Tim St. Clair
3b9feb561c Use the default interface for reporting network stats. 2016-03-01 16:17:04 -08:00
k8s-merge-robot
6dee237d85 Merge pull request #21790 from vishh/seccomp
Auto commit by PR queue bot
2016-03-01 12:21:47 -08:00
Vishnu kannan
5db37b0b2d Disable seccomp policy by default on docker versions >= v1.10
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-24 10:26:21 -08:00
Clayton Coleman
ae2f6a833a Reduce volume of logs generated at v(3)
Node controller is generating a huge amount of logging at v(3) that is
more appropriate for v(5). Split the log into two levels and ensure it
also ends up on one line (so grep works).

The pod manager generates a v(4) pod output on sync that always contains
a newline - since the size of the pod is so excessive in output, kick it
to v(5) for deep debugging (we're pretty happy with this loop).
2016-02-20 15:29:05 -05:00
laushinka
7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Nick Schuch
5d511aeb54 Adds ReadOnlyRootFilesystem support for containers 2016-02-14 15:39:51 +10:00
k8s-merge-robot
24b33964c9 Merge pull request #20954 from Random-Liu/add-missing-pod-sync-result
Auto commit by PR queue bot
2016-02-13 20:02:31 -08:00
k8s-merge-robot
55267640bc Merge pull request #20842 from Random-Liu/deprecate-hostconfig-at-container-start
Auto commit by PR queue bot
2016-02-10 20:00:08 -08:00
Lantao Liu
c341cee65b Fix network configuration 2016-02-10 16:51:34 -08:00
Random-Liu
b7292f6672 Add missing PodSyncResult in KillPod 2016-02-09 18:28:26 -08:00
Prashanth Balasubramanian
c3a3a2bacd Pipe hairpin-mode flag through kubelet, enable on soak. 2016-02-09 12:12:19 -08:00
k8s-merge-robot
fce98f3cf2 Merge pull request #20827 from smarterclayton/fix_manager
Auto commit by PR queue bot
2016-02-08 21:13:42 -08:00
Clayton Coleman
5aca495d73 Regression: Kubelet fails on older distro Dockers
Changes broke compatibility with released versions of Docker on some
distributions like Fedora and RHEL (value 1.8.1.fc21 is in the wild).
2016-02-08 19:00:01 -05:00
k8s-merge-robot
14653d6b5a Merge pull request #20169 from vishh/20117
Auto commit by PR queue bot
2016-02-08 15:25:45 -08:00
James DeFelice
1aec798aa0 support optional envvars for pod-infra-container 2016-02-08 13:48:25 +00:00
Daniel Smith
75e1451363 Merge pull request #20742 from kubernetes/revert-20615-deprecate-hostconfig-at-container-start
Revert "Deprecate HostConfig at container start"
2016-02-05 14:01:43 -08:00
Lantao Liu
bb9457e7a3 Revert "Deprecate HostConfig at container start" 2016-02-05 12:50:35 -08:00
Random-Liu
45e3a1f596 Remove old reason cache 2016-02-05 19:19:46 +00:00
Random-Liu
2b7d0182ca Remove ConvertPodStatusToAPIPodStatus from runtime interface 2016-02-05 19:19:46 +00:00
k8s-merge-robot
bd67b8a5db Merge pull request #20192 from Random-Liu/remove-get-api-podstatus
Auto commit by PR queue bot
2016-02-05 11:00:42 -08:00
k8s-merge-robot
ae15a4437b Merge pull request #19944 from mwielgus/simple-cm
Auto commit by PR queue bot
2016-02-05 06:41:28 -08:00
k8s-merge-robot
df0bbd45d7 Merge pull request #20615 from Random-Liu/deprecate-hostconfig-at-container-start
Auto commit by PR queue bot
2016-02-05 04:54:28 -08:00
Marcin Wielgus
bf0c881263 Set Docker custom metric label for cAdvisor if custom metric volume is mounted 2016-02-05 12:00:02 +01:00
k8s-merge-robot
2084fba199 Merge pull request #18842 from vishh/kubelet_docker
Auto commit by PR queue bot
2016-02-04 17:08:34 -08:00
Lantao Liu
8118092d11 Deprecate HostConfig at container start 2016-02-04 15:35:14 -08:00
Vishnu kannan
df1f164b34 Do not fail container creation if the contaienr exits before applyting
oom score adjust.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-04 13:39:19 -08:00
Saad Ali
7d70edc91f Merge pull request #20553 from jonboulle/yifan-gu-rkt_dns
rkt: Add DNS support
2016-02-04 10:55:38 -08:00
Lantao Liu
4a386f881f Deprecate HostConfig at container start 2016-02-04 01:00:03 +00:00
Dan Williams
fabb65c13f Add a network plugin that duplicates "configureCBR0" functionality 2016-02-03 10:08:08 -06:00
Yifan Gu
e9139bb0e5 kubelet: Rename RunContainerOptionsGenerator to RuntimeHelper.
Also add GetClusterDNS() to the interface to let rkt get the
DNS servers, DNS names.
2016-02-03 14:54:08 +01:00
Random-Liu
7b4cdb6f8f Remove GetAPIPodStatus from runtime interface 2016-02-02 23:41:55 +00:00
k8s-merge-robot
c0fd002fbb Merge pull request #20019 from thockin/dont-cni-hostnet-pods
Auto commit by PR queue bot
2016-02-02 01:43:24 -08:00
harry
1032067ff9 Replace runtime reference by pkg 2016-02-01 21:06:44 +08:00
k8s-merge-robot
9fef5f2938 Merge pull request #19785 from Random-Liu/remove-get-podstatus-and-apipodstatus
Auto commit by PR queue bot
2016-01-30 11:35:26 -08:00
k8s-merge-robot
29c640d5ba Merge pull request #19579 from Random-Liu/add-new-reason-cache
Auto commit by PR queue bot
2016-01-30 02:06:49 -08:00
Random-Liu
f116a5eb8f Remove temporary function GetPodStatusAndAPIPodStatus() 2016-01-30 00:39:26 -08:00
Random-Liu
e93febfd61 Start returning PodSyncResult in SyncPod 2016-01-30 00:25:50 -08:00
k8s-merge-robot
2d061aa199 Merge pull request #19784 from Random-Liu/cleanup-kubelet-syncpod
Auto commit by PR queue bot
2016-01-30 00:25:49 -08:00
Jimmi Dyson
1c289943f5 Ensure kubelet pid is not moved to system container 2016-01-29 09:30:20 +00:00
Fabio Yeon
547a2e2387 Merge pull request #20131 from thockin/logs-for-19574
Augment logs in runContainer path
2016-01-28 13:49:59 -08:00
Andy Goldstein
86ae623a09 Help debug port forward flakes 2016-01-28 15:28:40 -05:00
Tim Hockin
df4c1ccd14 Don't apply net plugins to net=host pods 2016-01-27 15:43:33 -08:00
Eric Paris
8e1ca68760 Merge pull request #20020 from apcera/cleanup-docker-engine-check
kubelet: Update engine version parsing to handle semantic versioning
2016-01-26 11:44:02 -05:00
Tim Hockin
45e5912c3d Augment logs in runContainer path
Generating errors that are useful is hard.
2016-01-25 16:31:32 -08:00
Ken Robertson
fff8a7c371 kubelet: Update engine version parsing to handle semantic versioning
This updates the dockertools.dockerVersion to use a semantic versioning
library to more gracefully support engine versions which include
additional version fields.

Previously, go-dockerclient's APIVersion struct was use which only
handles plain numeric x.y.z version strings. With #19675, the library
was now used on the Docker engine string, however it is possible for the
engine string to include include additional information for beta, rc, or
distro specific builds.

This PR also enables the TestDockerRuntimeVersion test which was
previously just a FIXME and updates it to pass, and be used to test the
version string that cause #20005.

This negates the need for fsouza/go-dockerclient#451, since even with
that change, if a user was running Docker 1.10.0-rc1, this would cause
the kubelet to report it as simply 1.10.0.
2016-01-22 13:18:52 -08:00
Clayton Coleman
4a6935b31f Remaining codec change refactors 2016-01-22 13:27:27 -05:00
nikhiljindal
2ad642d370 Merge registered and latest and move to apimachinery 2016-01-21 14:42:21 -08:00
Alex Mohr
c52122cab5 Merge pull request #19675 from apcera/kubelet-report-runtime-version
Update container runtime to properly report the engine and version
2016-01-21 10:31:19 -08:00
k8s-merge-robot
d0f59e2126 Merge pull request #18172 from Random-Liu/generate-sync-event
Auto commit by PR queue bot
2016-01-20 22:48:35 -08:00
Random-Liu
eb56d46b74 Minor clean up in kubelet syncPod() 2016-01-20 17:31:59 -08:00
Ken Robertson
a7b07c01df Update container runtime to properly report the engine and version
This address a TODO when collecting the node version information so it
will properly report the configured runtime and its version. Previously,
this was hardcoded to "docker://" and the docker version, and would show
"docker://1.9.1" even when the kubelet was configured to use rkt.

With this change, it will use the runtime's Type() and Version() data.

This also changes the container.Runtime interface to add an APIVersion()
method. This can be used when the runtime has separate versions for the
engine and the API, such as with Docker. The Docker minimum version
validation has been updated to use APIVersion(), and
DockerManager.Version() now returns the engine version.
2016-01-20 16:42:25 -08:00
Random-Liu
0e612afa98 Start using PodSyncResult in dockertools 2016-01-17 00:42:45 -08:00
harry
7405c7899b Add strings pkg to hold strings utils
Replace funtions with strings pkg

Fix all references and rename the pkg
2016-01-15 12:37:50 +08:00
Clayton Coleman
791d160b42 Split the Kubelet flag options and struct
Reduces the size of the app/server.go file and ensures that the flags
and their defaults are clearly separated.
2016-01-06 21:23:06 -05:00
k8s-merge-robot
38f926dbb9 Merge pull request #19206 from Random-Liu/remove-wired-docker-label
Auto commit by PR queue bot
2016-01-05 19:32:01 -08:00
Random-Liu
884dc5c9e5 Put TerminationGracePeriod, DeletionGracePeriod and PreStopHandler to docker labels 2016-01-05 15:45:29 -08:00
Random-Liu
2ea11690b8 Remove running pod from SyncPod() of container runtime 2016-01-04 10:18:46 -08:00
Random-Liu
b2a72ca384 Change my TODO to be the same with others 2015-12-31 00:41:05 -08:00
Random-Liu
6e92ddf9e1 Cleanup pod print in dockertools/manager.go, prober/prober.go and
runonce.go
2015-12-28 14:07:37 -08:00
Vishnu Kannan
3c0745211f Fix docker root dir detection. 2015-12-17 10:24:30 -08:00
deads2k
d0aaf13920 use constants for group names 2015-12-14 10:04:10 -05:00
k8s-merge-robot
3d24d25fd8 Merge pull request #17764 from jiangyaoguo/make-containerspecchange-private
Auto commit by PR queue bot
2015-12-11 17:40:34 -08:00
Yu-Ju Hong
c646255579 Replace podFullName with format.Pod() in logging messages 2015-12-07 13:41:52 -08:00
jiangyaoguo
5f77f2b5a9 make PodContainerSpecChange private 2015-12-07 09:28:15 +08:00
Random-Liu
3cbdf79f8c Change original PodStatus to APIPodStatus, and start using kubelet internal PodStatus in dockertools 2015-12-04 17:37:39 -08:00
Avesh Agarwal
3d5207fd73 This commit adds type information to events.
This addresses issue #15624.
2015-11-24 09:59:54 -05:00
k8s-merge-robot
8a306a7527 Merge pull request #17234 from Random-Liu/move-more-info-to-docker-label
Auto commit by PR queue bot
2015-11-21 10:45:09 -08:00
Daniel Smith
874b4f85d9 Merge pull request #17259 from yujuhong/raw_pod_status
kubelet: add RawPodStatus and related functions
2015-11-20 14:23:19 -08:00
Lantao Liu
f08097515f Move more things into docke label, and add label test 2015-11-18 23:17:16 -08:00
Yu-Ju Hong
760309f349 kubelet: add RawPodStatus and related functions
RawPodStatus will be the internal status of the pod that kubelet relies on for
syncing.
2015-11-17 17:04:05 -08:00
k8s-merge-robot
1334401888 Merge pull request #17202 from brendandburns/fix2
Auto commit by PR queue bot
2015-11-17 00:49:13 -08:00
zhengguoyong
d5f2bb00a7 Del unused var 2015-11-16 15:53:20 +08:00