Justin Santa Barbara
b2c2d617cf
Label nodes with Zone information, if available
...
This lays the groundwork for simple multizone capabilities.
In a cloud environment, nodes are typically created by the kubelet
registering with the API server. When creating a new node, we now query
the cloudprovider to see if it can provide Zone information, and if so
we add some well-known labels to the Node we are creating.
2015-11-05 14:35:05 -05:00
Yu-Ju Hong
5863f2a0a5
kubelet: reduce logging frequency for sync loop
...
Only logs when there are pods to sync.
2015-11-05 10:06:10 -08:00
k8s-merge-robot
fb571e3e2e
Merge pull request #16545 from timstclair/mirrorpods
...
Auto commit by PR queue bot
2015-11-05 02:56:23 -08:00
Tim St. Clair
858126b42a
Clean up static/mirror pod status logic
...
- status.Manager always deals with the local (static) pod, but gets the
mirror pod when syncing
- This lets components like the probe workers ignore mirror pods
2015-11-04 11:42:25 -08:00
Yu-Ju Hong
b734155954
Clean up housekeeping routine in kubelet
...
Now that kubelet checks sources seen correctly, there is no need to enforce the
initial order of pod updates and housekeeping. Use a ticker for housekeeping to
simplify the code.
2015-11-04 08:12:18 -08:00
jiangyaoguo
3ce5a51007
remove implicitly required container event
2015-11-04 16:47:17 +08:00
Yu-Ju Hong
2eb17df46b
kubelet: independent pod syncs and backoff on error
...
Currently kubelet syncs all pods every 10s. This is not preferred because
* Some pods may have been sync'd recently.
* This may cause all the pods to be sync'd at once, causing undesirable
CPU spikes.
This PR replaces the global syncs with independent, periodic pod syncs. At the
end of syncing, each pod worker will enqueue itslef with a future timestamp (
current time + sync interval), when it will be due for another sync.
* If the pod worker encoutners an sync error, it may requeue with a different
timestamp to retry sooner.
* If a sync is triggered by the update channel (events or spec changes), the
pod worker would enqueue a new sync time.
This change is necessary for moving to long or no periodic sync period once pod
lifecycle event generator is completed. We will still rely on the mechanism to
requeue the pod on sync error.
This change also makes sure that if a sync does not succeed (either due to
real error or the per-container backoff mechanism), an error would be propagated
back to the pod worker, which is responsible for requeuing.
2015-11-03 13:29:08 -08:00
mqliang
3afcbae1a8
remove unnecessary fmt
2015-11-02 21:07:07 +08:00
Dawn Chen
a39e1e96dc
Mark NodeNotReady for docker version below 1.6.2
2015-10-30 13:48:51 -07:00
Sami Wagiaalla
1d352a16b8
Support volume relabling for pods which specify an SELinux label
2015-10-28 09:26:58 -04:00
Daniel Smith
8524d392bf
Merge pull request #16178 from madhusudancs/kubelet-out-of-disk-no-master
...
Report node out of disk condition in the kubelet.
2015-10-27 14:28:03 -07:00
k8s-merge-robot
0a7a9f3535
Merge pull request #16340 from timstclair/flaky-prober
...
Auto commit by PR queue bot
2015-10-27 12:10:22 -07:00
Jerzy Szczepkowski
5ef087adab
Merge pull request #16266 from wojtek-t/fix_handshake_reflector
...
Reuse TCP connections in Reflector between resync periods.
2015-10-27 10:36:18 +01:00
Tim St. Clair
17b0a964f4
Always resync after resyncInterval
2015-10-26 18:50:57 -07:00
Madhusudan.C.S
9c4424f0bd
Report out of disk as a node condition when node goes out of disk.
...
Define a new out of disk node condition and use it to report when node
goes out of disk.
Make a copy of loop range clause variable in node listers so that it
is available outside the for loop.
Also update/implement unit tests.
2015-10-26 15:01:20 -07:00
Daniel Smith
e42f5af6a1
Merge pull request #16219 from thockin/resolvconf-filter
...
Add a cloud-provider hook to scrub DNS for pods
2015-10-26 12:32:02 -07:00
Wojciech Tyczynski
d47e21f19f
Reuse TCP connections in Reflector between resync periods.
2015-10-26 19:35:25 +01:00
k8s-merge-robot
bffdd242d8
Merge pull request #16191 from yujuhong/fix_logs
...
Auto commit by PR queue bot
2015-10-26 09:31:35 -07:00
k8s-merge-robot
0e1ee14cc8
Merge pull request #15705 from wojtek-t/watch_options_in_client
...
Auto commit by PR queue bot
2015-10-24 17:39:20 -07:00
Abhi Shah
976cc12c8e
Merge pull request #16174 from ArtfulCoder/nilCheck
...
Added Nil Check
2015-10-24 14:16:28 -07:00
k8s-merge-robot
5280540384
Merge pull request #15965 from Random-Liu/use-docker-label
...
Auto commit by PR queue bot
2015-10-24 13:19:40 -07:00
Wojciech Tyczynski
f4d75e0a0a
Support timeout in watch requests
2015-10-24 13:12:49 +02:00
k8s-merge-robot
e1559e9fb5
Merge pull request #15352 from pmorie/fsgroup
...
Auto commit by PR queue bot
2015-10-24 01:55:45 -07:00
Tim Hockin
42c7fec490
Add a cloud-provider hook to scrub DNS for pods
...
GCE needs this hook and it seems general enough to include.
2015-10-23 17:01:49 -07:00
Yu-Ju Hong
e4f739115f
kubelet: fix getting logs from static pods
...
This change adds the necessary UID translation logic to fix the issue.
2015-10-23 14:31:40 -07:00
Lantao Liu
67a7633202
Put restart count into docker label
2015-10-23 13:02:32 -07:00
Abhishek Shah
4a7b4f2ed2
Nil Check
2015-10-23 11:52:59 -07:00
Filip Grzadkowski
165169ab1c
Merge pull request #16052 from ArtfulCoder/mount_etc_hosts
...
kubelet manages /etc/hosts file
2015-10-23 14:07:34 +02:00
Filip Grzadkowski
edd10d8a83
Merge pull request #15914 from vishh/serialize-pull
...
make kubelet image pulls serialized by default.
2015-10-23 14:04:23 +02:00
Vishnu kannan
0df4b46d4c
Adding a kubelet flag to optionally enable parallel image pulls.
2015-10-22 17:19:51 -07:00
Paul Morie
3cd12f5e05
FSGroup implementation
2015-10-22 16:40:59 -04:00
Abhishek Shah
ba6469d478
kubelet manages /etc/hosts file
2015-10-22 13:27:05 -07:00
k8s-merge-robot
6dc3dcf36a
Merge pull request #15414 from thockin/exp-beta-annotations
...
Auto commit by PR queue bot
2015-10-20 17:45:32 -07:00
Tim St. Clair
a263c77b65
Refactor liveness probing
...
This commit builds on previous work and creates an independent
worker for every liveness probe. Liveness probes behave largely the same
as readiness probes, so much of the code is shared by introducing a
probeType paramater to distinguish the type when it matters. The
circular dependency between the runtime and the prober is broken by
exposing a shared liveness ResultsManager, owned by the
kubelet. Finally, an Updates channel is introduced to the ResultsManager
so the kubelet can react to unhealthy containers immediately.
2015-10-19 15:15:59 -07:00
k8s-merge-robot
75c977d200
Merge pull request #15596 from zhengguoyong/alias_util_errors_packagename
...
Auto commit by PR queue bot
2015-10-19 02:35:37 -07:00
k8s-merge-robot
09a3871506
Merge pull request #15755 from zhengguoyong/del_capatical_packagename_for_cadvisorApi2
...
Auto commit by PR queue bot
2015-10-18 04:04:11 -07:00
eulerzgy
f8f9afb874
alias local packagename for pkg/util/errors
2015-10-18 09:37:46 +08:00
k8s-merge-robot
d471318aa8
Merge pull request #15799 from dchen1107/podstatus
...
Auto commit by PR queue bot
2015-10-16 19:32:30 -07:00
Dawn Chen
1b8f851979
Fix PodPhase issue caused by backoff
2015-10-16 15:16:07 -07:00
k8s-merge-robot
535090312f
Merge pull request #13180 from samsabed/backoff_e2e
...
Auto commit by PR queue bot
2015-10-16 13:33:36 -07:00
eulerzgy
31c09bdcb8
Del capatical local packagename for cadvisorApi
2015-10-16 11:03:50 +08:00
Sam Abed
78979c77ce
backoff e2e tests
...
Signed-off-by: Sam Abed <samsabed@gmail.com>
2015-10-16 13:09:29 +11:00
eulerzgy
ea86e66fbe
Del capatical local packagename for kubeletUtil
2015-10-15 09:58:10 +08:00
Tim Hockin
2f4c3035be
Change to alpha/beta for bandwidth annotations
2015-10-14 15:33:19 -07:00
Wojciech Tyczynski
647aa1bc8c
Unify per-resource List for unversioned client
2015-10-14 08:37:57 +02:00
Yu-Ju Hong
2c76c55bb9
kubelet: move PodManager and MirrorClient to a subpackage
...
This change moves pod_manager.go and mirror_client.go to a separate package.
Also made necessary, minor changes to facilitate testing.
2015-10-12 16:34:18 -07:00
Yu-Ju Hong
1c015560be
kubelet logs update source in the sync loop
...
This improve the clarity/debuggability.
2015-10-12 10:18:52 -07:00
Mike Danese
392f33e417
Merge pull request #14054 from mikedanese/register-master
...
register master kubelet with the apiserver
2015-10-09 17:12:37 -07:00
Yu-Ju Hong
a3e60cc32e
Rename imported package local name kubeletTypes to kubetypes
...
According to the naming guidelines, package name should not include mixedCaps.
2015-10-09 10:24:31 -07:00
k8s-merge-robot
45cca144cb
Merge pull request #15167 from yujuhong/sources_seen
...
Auto commit by PR queue bot
2015-10-09 08:35:40 -07:00
k8s-merge-robot
b793c3edf1
Merge pull request #14700 from liggitt/kubelet_authz
...
Auto commit by PR queue bot
2015-10-09 03:01:43 -07:00
k8s-merge-robot
538cf72208
Merge pull request #15051 from feiskyer/kubelet/garbage-collection
...
Auto commit by PR queue bot
2015-10-09 02:11:47 -07:00
Jordan Liggitt
9d6b52881d
Add authentication/authorization interfaces to kubelet, always include /metrics with /stats
2015-10-09 03:10:00 -04:00
Mike Danese
fa60bbe8e6
add flag to kubelet to ignore the cidr passed down by the apiserver on the master
2015-10-08 21:21:19 -07:00
feisky
fb04edea3a
Replace rkt --grace-period and --expire-prepared with gcPolicy.MinAge
2015-10-09 06:57:10 +08:00
feisky
d624c7de51
Pass the ContainerGCPolicy in Runtime.GarbageCollect
2015-10-09 06:57:10 +08:00
feisky
35cf8ab7d4
Use runtime instread of dockerclient in container gc
2015-10-09 06:54:38 +08:00
Yu-Ju Hong
098ab05997
kubelet: move common types to kubelet/types
...
This would faciliate tasks such as moving code in pkg/kubelet to sub packages.
2015-10-08 14:38:01 -07:00
Piotr Szczesniak
95b293c615
Merge pull request #13516 from samsabed/backoff-image-reason
...
backoff image pulling on failure
2015-10-08 13:05:32 +02:00
Tim St. Clair
551eff63b8
Use strong type for container ID
...
Change all references to the container ID in pkg/kubelet/... to the
strong type defined in pkg/kubelet/container: ContainerID
The motivation for this change is to make the format of the ID
unambiguous, specifically whether or not it includes the runtime
prefix (e.g. "docker://").
2015-10-07 10:58:05 -07:00
Derek Carr
87fe1f4af8
Merge pull request #13939 from pmorie/pod-sc-minimal
...
Add PodSecurityContext and backward compatibility tests
2015-10-07 09:56:58 -04:00
Sam Abed
fdf712cd84
back-off image pull on failure
...
Signed-off-by: Sam Abed <samabed@gmail.com>
2015-10-07 21:12:42 +11:00
Yu-Ju Hong
5abdfcdfe6
kubelet: fix all sources ready condition
...
The current implementation considers a source seen when it receives a SET at
kubelet/config/config.go. However, the main kubelet sync loop may not have
received the pod update from the source via the channel. This change ensures
that kubelet would consider all sources are ready only after the sync loop has
seen all the sources.
2015-10-06 10:13:04 -07:00
Paul Morie
227dd82119
Add PodSecurityContext and backward compatibility tests
2015-10-05 21:05:27 -04:00
Yifan Gu
b42d2311c3
kubelet/rkt: add container/image gc for rkt.
2015-10-05 14:22:19 -07:00
Alex Robinson
d8120f5425
Merge pull request #14221 from timstclair/readiness-workers
...
Refactor readiness probing
2015-10-05 13:26:54 -07:00
Tim St. Clair
52ece0c34e
Refactor readiness probing
...
Each container with a readiness has an individual go-routine which
handles periodic probing for that container. The results are cached, and
written to the status.Manager in the pod sync path.
2015-10-02 15:37:10 -07:00
k8s-merge-robot
13382b30c4
Merge pull request #14950 from yujuhong/sync_type
...
Auto commit by PR queue bot
2015-10-02 12:39:00 -07:00
k8s-merge-robot
1d73382b83
Merge pull request #14958 from madhusudancs/fix-kubelet-messages
...
Auto commit by PR queue bot
2015-10-02 11:55:42 -07:00
k8s-merge-robot
6ca515c312
Merge pull request #14820 from gmarek/playground
...
Auto commit by PR queue bot
2015-10-02 07:37:45 -07:00
Madhusudan.C.S
7a709b09c3
Messages should be appended to "messages" slice.
...
Network configuration error message while setting Kubelet status was
being written to "reasons" slice. Write this message to "messages" slice
instead.
Also remove "reasons" slice entirely since it is not used anywhere.
2015-10-01 17:55:45 -07:00
Yu-Ju Hong
889e798ddb
kubelet: pipe SyncPodType to pod workers
...
Now that kubelet has switched to incremental updates, it has complete
information of the pod update type (create, update, sync). This change pipes
this information to pod workers so that they don't have to derive the type
again.
2015-10-01 16:29:46 -07:00
k8s-merge-robot
b19837f4e2
Merge pull request #14767 from nikhiljindal/podConditionTransitionTime
...
Auto commit by PR queue bot
2015-10-01 13:01:45 -07:00
gmarek
fc79ce347e
Allow usining FakeOOMAdjuster in Kubelet
2015-10-01 10:55:08 +02:00
k8s-merge-robot
b661cfd21e
Merge pull request #14643 from liguangbo/change_Oom_to_OOM
...
Auto commit by PR queue bot
2015-09-29 18:54:22 -07:00
nikhiljindal
b99d225d19
Setting PodReadyCondition.LastTransitionTime
2015-09-29 17:23:32 -07:00
liguangbo
12299087da
Change Oom to OOM
2015-09-28 18:18:04 +08:00
feisky
d25ae52d9b
Refactor image manager for client/server implementation of the container runtime
2015-09-26 08:29:08 +08:00
Brian Grant
efd19143f7
Revert "Refactor image manager for client/server implementation of the container runtime"
2015-09-25 15:24:18 -07:00
Brian Grant
bbc90cd9ff
Merge pull request #14035 from feiskyer/kubelet/client/server
...
Refactor image manager for client/server implementation of the container runtime
2015-09-25 13:18:53 -07:00
Vishnu kannan
77be271ed0
Linux container manager initialization will now fail if cpu and memory cgroups are not mounted.
2015-09-24 15:34:42 -07:00
gmarek
66ca7fcc92
Functionally revert #12894
2015-09-23 12:15:38 +02:00
Dawn Chen
a010e91913
Merge pull request #14292 from yujuhong/revert_node
...
Revert node status manager
2015-09-21 23:13:18 -07:00
Clayton Coleman
c2e90cd154
Support extended pod logging options
...
Increase the supported controls on pod logging. Add validaiton to pod
log options. Ensure the Kubelet is using a consistent, structured way to
process pod log arguments.
Add ?sinceSeconds=<durationInSeconds>, &sinceTime=<RFC3339>, ?timestamps=<bool>,
?tailLines=<number>, and ?limitBytes=<number>
2015-09-21 15:39:32 -04:00
Yu-Ju Hong
077158ef86
Rebase to use unversioned api
2015-09-21 11:14:14 -07:00
Yu-Ju Hong
cadc279505
Revert "kubelet: move all node status related methods to a separate file"
...
This reverts commit e7d1e47f31
.
2015-09-21 11:06:38 -07:00
Yu-Ju Hong
d7b9f8905f
Revert "Move node information retreival to nodeManager"
...
This reverts commit 2369cd6401
.
2015-09-21 11:00:04 -07:00
nikhiljindal
6523ec142b
Adding more fields to PodCondition
2015-09-18 05:26:13 -07:00
Daniel Martí
586cb9126a
Move pkg/util.Time to pkg/api/unversioned.Time
...
Along with our time.Duration wrapper, as suggested by @lavalamp.
2015-09-17 17:51:27 -07:00
k8s-merge-robot
c1eb1a1b2f
Merge pull request #13791 from fgrzadkowski/fix_secrets_in_docker
...
Auto commit by PR queue bot
2015-09-17 15:13:29 -07:00
k8s-merge-robot
7cee028497
Merge pull request #13778 from smarterclayton/unready_endpoints
...
Auto commit by PR queue bot
2015-09-17 11:36:17 -07:00
feisky
f1124eb0b1
Refactor image manager to operate on Runtime
2015-09-17 23:02:00 +08:00
Filip Grzadkowski
7fe34f2050
Introduce nsenter writer for volume plugins
2015-09-17 16:40:29 +02:00
Clayton Coleman
bf2decce81
Add NotReadyAddresses to Endpoints
...
In many cases clients may wish to view not ready addresses for endpoints
in order to do set membership prior to a pod being ready. For instance,
a pod that uses the service endpoints to connect to other pods under
the same service, but does not want to signal ready before it has
contacted at least a minimal number of other pods.
This is backwards compatible with old servers and clients. There is
an additional cost in size of endpoints before services ramp up, which
will add minor CPU and memory use for services that have a significant
number of pods which have not become ready.
2015-09-17 09:41:56 -04:00
Yu-Ju Hong
2369cd6401
Move node information retreival to nodeManager
...
nodeManager should handle most node object interaction with apiserver. This
moves exsiting node-watching and GetNodes() methods to nodeManager.
2015-09-16 17:17:42 -07:00
Yu-Ju Hong
e7d1e47f31
kubelet: move all node status related methods to a separate file
...
The methods for registering a node and syncing node status to the apiserver
have grown large enough that it makes sense for them to live in a separate
place. This change adds a nodeManager to handle such interaction with the
apiserver.
2015-09-16 17:17:42 -07:00
k8s-merge-robot
4c46bc3243
Merge pull request #13989 from yujuhong/sync_first
...
Auto commit by PR queue bot
2015-09-16 17:16:23 -07:00
k8s-merge-robot
f6fb0a58b6
Merge pull request #13874 from timstclair/status-manager
...
Auto commit by PR queue bot
2015-09-16 00:46:01 -07:00
Yu-Ju Hong
8f8541b4cd
kubelet: make sure sync loop is run before performing housekeeping
...
Otherwise, kubelet may kill the existing pods before having a chance to update
the desired pods.
2015-09-15 13:11:55 -07:00
gmarek
4b8ddf3d7e
Add information about ports opened by Kubelet to API
2015-09-15 14:24:55 -04:00
Wojciech Tyczynski
5da52558e6
Fix watch with RV=0 in Kubelet.
2015-09-14 16:45:58 +02:00
k8s-merge-robot
6f01200188
Merge pull request #13727 from jiangyaoguo/fix-reason-reporting-in-kubelet
...
Auto commit by PR queue bot
2015-09-11 12:32:20 -07:00
Tim St. Clair
1f91fffb57
Move kubelet.statusManager to status.Manager
...
This refactor is in preparation for moving more state handling to the
status manager. It will become the canonical cache for the latest
information on running containers and probe status, as part of the
prober refactoring.
2015-09-11 12:22:01 -07:00
k8s-merge-robot
bfc60709b1
Merge pull request #13468 from yifan-gu/rkt_doc
...
Auto commit by PR queue bot
2015-09-10 20:32:08 -07:00
jiangyaoguo
62c0c35307
Fix reporting reason in kubelet
...
1. Make reason field of StatusReport objects in kubelet in CamelCase format.
2. Add Message field for ContainerStateWaiting to describe detail about Reason.
3. Make reason field of Events in kubelet in CamelCase format.
4. Update swagger,deep-copy and so on.
2015-09-11 10:01:08 +08:00
Daniel Smith
b225c1d47a
Run gofmt (separate commit for easy rebases)
2015-09-10 17:17:59 -07:00
Daniel Smith
15b30b8b09
Move version agnostic parts of client
...
pkg/client/unversioned/cache -> pkg/client/cache
pkg/client/unversioned/record -> pkg/client/record
2015-09-10 17:17:59 -07:00
k8s-merge-robot
ee7168d868
Merge pull request #13815 from robertabbott/abbott/kubelet_get_instead_of_list
...
Auto commit by PR queue bot
2015-09-10 15:59:01 -07:00
Yifan Gu
e7b9c50ba1
kubelet/rkt: add support for different stage1 image.
...
Also enable grace stop for service files.
2015-09-10 14:58:03 -07:00
tummychow
78ce5da988
Move util.StringSet into its own package
...
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
Bobby Abbott
9a5f43e16d
Kubelet#GetNode now uses GetNodeInfo instead of List
...
Both GetNode and the cache.ListWatch listfunc in the
kubelet package call List unnecessary.
GetNodeInfo is sufficient for GetNode and makes looping
through a list of nodes to check for a matching name
unnecessary.
resolves #13476
2015-09-10 10:50:41 -07:00
Chao Xu
002dcc6343
Merge pull request #13737 from wojtek-t/switch_to_node_in_registry
...
Rename "minion" to "node" in few places.
2015-09-09 17:49:22 -07:00
Wojciech Tyczynski
cd1ac360de
Rename "minion" to "node" in few places.
2015-09-09 16:18:23 +02:00
jiangyaoguo
1460a1fb9e
Rate limit events in kubelet
...
1. Add EvnetRecordQps and EventBurst parameter in kubelet.
2. If EvnetRecordQps and EventBurst was set, rate limit events in kubelet
with a independent ratelimiter as setted.
2015-09-09 16:57:21 +08:00
feihujiang
d713826aa9
Add pod name to error message when getting logs of a container
2015-09-07 17:03:54 +08:00
James DeFelice
de064f4254
fix kubelet syncLoop busy loop upon close of updates chan
2015-09-04 17:56:02 +00:00
Abhi Shah
c9f2d3151b
Merge pull request #13155 from derekwaynecarr/enforce_limits
...
Map cpu limits to cpu-quota in docker run
2015-09-03 16:28:04 -07:00
Abhi Shah
d923e61dda
Merge pull request #13397 from yujuhong/housekeeping
...
kubelet: define the housekeeping period
2015-09-03 15:46:29 -07:00
derekwaynecarr
5dc74e8dbf
Add support for CFS quota in kubelet
2015-09-03 13:44:28 -04:00
Brendan Burns
ac958e5320
Merge pull request #12513 from brendandburns/tc2
...
integrate bandwidth shaping and the kubelet.
2015-09-02 09:44:10 -07:00
Yu-Ju Hong
08ec796995
kubelet: remove orphaned pod directories properly
...
PR #13293 added a safety check to not remove a pod directory if the child
volumes directory is not empty. This logic is faulty because kubelet may have
directory structures podUID/volumes/volumeKind/volumeName. E.g.,
`056db95d-50ee-11e5-a2e4-42010af0ba1d/volumes/kubernetes.io~empty-dir/default-token-al3r2`
This change fixes that by properly listing all volumes under a pod.
2015-09-01 15:39:17 -07:00
k8s-merge-robot
5331a26c5b
Merge pull request #13293 from yujuhong/pod_dir
...
Auto commit by PR queue bot
2015-09-01 04:59:55 -07:00
Yu-Ju Hong
13b268b378
kubelet: define the minimum housekeeping period
...
Before, kubelet performs global cleanup tasks every iteration. After the
PR #13003 , kubelet performs the tasks on every sync internval (10 seconds).
This PR decouples the housekeeping period with the sync internval to ensure
that kubelet cleans up promptly, while not too often (no more than once every
minimum housekeeping period).
2015-08-31 17:28:20 -07:00
Brendan Burns
9f3ef68ebc
integrate bandwidth shaping and the kubelet.
2015-08-30 22:24:09 -07:00
k8s-merge-robot
4a7115d272
Merge pull request #11955 from pedro-r-marques/flag_resolv_conf
...
Auto commit by PR queue bot
2015-08-30 21:03:54 -07:00
Yu-Ju Hong
8774f6efa2
kubelet: don't remove any pod directory with non-empty volumes
...
If the volumes directory is not empty, it implies that volumes may not have
been properly cleaned up yet. Do not attempt to remove the pod directory.
2015-08-27 22:18:51 -07:00
Yu-Ju Hong
697197d383
Kubelet: do not remove pod directory if any container is still running
...
If there are any running container in the pod, we cannot remove the volume.
Therefore, we should not attempt to remove the pod directory.
2015-08-27 18:19:13 -07:00
Pedro Roque Marques
99b1da848d
Add kubelet '--resolv-conf' flag.
...
Allow the user to specify the resolver configuration file that is used
to determine the default DNS parameters. This defaults to the system's
/etc/resolv.conf.
2015-08-26 15:41:36 -07:00
Yu-Ju Hong
c7afae75f5
Merge pull request #13103 from yujuhong/restart_count
...
Kubelet: fix container restart counts
2015-08-26 15:13:10 -07:00
Yu-Ju Hong
b906e34576
kubelet: trigger pod workers independently
...
Currently, whenever there is any update, kubelet would force all pod workers to
sync again, causing resource contention and hence performance degradation.
This commit flips kubelet to use incremental updates (as opposed to snapshots).
This allows us to know what pods have changed and send updates to those pod
workers only. The `SyncPods` function has been replaced with individual
handlers, each handling an operation (ADD, REMOVE, UPDATE). Pod workers are
still triggered periodically, and kubelet performs periodic cleanup as well.
This commit also spawns a new goroutine solely responsible for killing pods.
This is necessary because pod killing could hold up the sync loop for
indefinitely long amount of time now user can define the graceful termination
period in the container spec.
2015-08-25 17:52:01 -07:00
Yu-Ju Hong
9f508e9422
Merge pull request #13076 from invenfantasy/master
...
Cleanup deprecated Forever function
2015-08-25 10:07:10 -07:00
Nikhil Jindal
8846c841a8
Merge pull request #12648 from samsabed/crashloop
...
back off restarts of crashlooping containers
2015-08-24 18:54:13 -07:00
Yu-Ju Hong
1e26cdfb67
kubelet: fix container restart counts
...
This commit ensures that the container restart count increments monotonically
when there is no kubelet restarts.
2015-08-24 12:50:05 -07:00
Nikhil Jindal
a1c5f3f45d
Merge pull request #12876 from yujuhong/pod_status
...
kubelet: switch to using pod UID as the key in status manager
2015-08-24 10:39:02 -07:00
Sam Abed
995cb15bb6
back off restarts of crashlooping containers
...
Signed-off-by: Sam Abed <samabed@gmail.com>
2015-08-24 21:43:17 +10:00
caogaojin
60cb4406e9
Cleanup deprecated Forever function
...
Since util.Forever function has been deprecated, we should cleanup these
pieces of code.
2015-08-24 10:31:59 +08:00
Clayton Coleman
f5c4a3e7a6
Handle graceful termination in the Kubelet
...
Supports pods that are gracefully deleted on the server being
handled in the Kubelet
preStop is limited to the grace period of the pod in execution.
2015-08-21 10:18:21 -04:00
Saad Ali
9b01580946
Merge pull request #12872 from runningwild/master
...
Fix several problems with using rkt on gce
2015-08-20 15:46:16 -07:00
Jonathan Wills
80e799fc0c
Allow configuring the rkt binary in a kubelet with a flag.
...
This is necessary because coreos comes with rkt installed, and if we want to use a different version
we need some way to avoid the default one.
2015-08-19 09:42:13 -04:00
Robert Bailey
08e6a43c1d
Revert "Merge pull request #9165 from smarterclayton/graceful"
...
This reverts commit 4f856b595d
, reversing
changes made to d78525a83b
.
Conflicts:
pkg/kubelet/status_manager.go
2015-08-18 17:34:49 -07:00
Yu-Ju Hong
0c84b837cf
kubelet: switch to using pod UID as the key in status manager
...
We chose to use podFullName (name_namespace) as key in the status manager
because mirror pod and static pod share the same status. This is no longer
needed because we do not store statuses for static pods anymore (we only
store statuses for their mirror pods). Also, reviously, a few fixes were
merged to ensure statuses are cleaned up so that a new pod with the same
name would not resuse an old status.
This change cleans up the code by using UID as key so that the code would
become less brittle.
2015-08-18 14:39:02 -07:00
Robert Bailey
11d5712278
Merge pull request #12736 from deads2k/relax-pull-secret-constraints
...
tolerate missing image pull secrets:
2015-08-18 11:48:01 -07:00
Kris Rousey
ae6c64d9bb
Moving everyone to unversioned client
2015-08-18 10:23:03 -07:00
Clayton Coleman
780accb3ba
Kubelet should garbage collect dead pods
...
The sync loop should check for terminated pods that are no longer
running and clear them. The status loop should never write status
if the pod UID changes. Mirror pods should be deleted immediately
rather than gracefully.
2015-08-18 09:08:44 -04:00
Clayton Coleman
89f1f3b1b8
Alter graceful deletion to not use TTL
...
Avoid TTL by deleting pods immediately when they aren't
scheduled, and letting the Kubelet delete them otherwise.
Ensure the Kubelet uses pod.Spec.TerminationGracePeriodSeconds
when no pod.DeletionGracePeriodSeconds is available.
2015-08-18 09:08:43 -04:00
Clayton Coleman
b842a7dd15
Revert "Revert "Gracefully delete pods from the Kubelet""
...
This reverts commit 98115facfd
.
2015-08-18 08:57:02 -04:00
Clayton Coleman
01f3785426
Add status.podIP as a valid downward API target
...
Getting the public IP a container is supposed to use is O(hard),
and usually involves ugly gyrations in python or with interfaces.
Using the downward API means that the IP Kube is announcing to
other endpoints is also visible inside the container for pods to
identify themselves.
2015-08-14 17:51:55 -04:00
deads2k
c24d176f65
tolerate missing image pull secrets:
2015-08-14 12:51:28 -04:00
Yifan Gu
d70a30c069
kubelet: refactor kubelet.Runtimehooks to container.ImagePuller.
2015-08-12 16:28:25 -07:00
jiangyaoguo
9ab4a46b9d
Keep event reason in kubelet consistent with others
2015-08-12 19:00:09 +08:00
Piotr Szczesniak
1df0267f4a
Merge pull request #12551 from eparis/underscore-to-dash
...
Update code and docs to use - in flag names instead of _
2015-08-12 07:16:31 +02:00
Yu-Ju Hong
56f4605f47
kubelet: refactor SyncPods for better readability
...
Eventually we would like to replace the all-encompassing SyncPods function with
more well-defined, smaller functions. This would not only help with the
readability and profiling of the code, it'd also set in motion for the plans to
trigger pod worker individually based on the content of the pod updates.
This commit serves as the first step of that, while avoiding breaking all unit
tests by preserving the SyncPods function for the time being.
2015-08-11 16:40:26 -07:00
Kris Rousey
565189f5b8
Correcting all go vet errors
2015-08-11 13:55:37 -07:00
Eric Paris
5aa495cdad
Update code to use - in flag names instead of _
2015-08-11 16:31:52 -04:00
Marek Grabowski
5f9cefc1d8
Merge pull request #12441 from vlajos/typofixes-vlajos-20150807
...
typofix - https://github.com/vlajos/misspell_fixer
2015-08-10 16:33:52 +02:00
Marek Grabowski
8580e17ff1
Merge pull request #12374 from wulonghui/wulonghui-patch-1
...
Add NodeInternalIP for Node's Addresses when cloud provider is nil
2015-08-10 15:01:00 +02:00
Marek Grabowski
e034712456
Merge pull request #11788 from HaiyangDING/ImproveClarityResource
...
Improve clarity around PodFitsResource(issue#11453)
2015-08-10 09:56:32 +02:00
Veres Lajos
9f77e49109
typofix - https://github.com/vlajos/misspell_fixer
2015-08-08 22:31:48 +01:00
Ananya Kumar
6ef3de1d5f
Add QoS support on node
2015-08-07 11:18:16 -07:00
dinghaiyang
dab7280ae4
Improve clarity around PodFitsResource by showing pods limits in `kubectl describe node`
2015-08-07 16:58:11 +08:00
wulonghui
b50e736184
Add NodeInternalIP for Node's Addresses when cloud provider is nil
2015-08-07 09:08:56 +08:00
Mike Danese
fe6b15ba2f
rewrite all links to issues to k8s links
2015-08-05 21:11:11 -07:00
Mike Danese
17defc7383
run gofmt on everything we touched
2015-08-05 17:52:56 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07:00
Mike Danese
f18b09963e
Merge pull request #11766 from deads2k/kubelet-prefers-ipv4
...
make kubelet prefer ipv4 address if available
2015-07-29 10:33:23 -07:00
deads2k
2c06f11052
make kubelet prefer ipv4 address if available
2015-07-28 15:45:57 -04:00
Brendan Burns
64be76c14d
Add support for Attach to the kubelet.
...
This is a pre-cursor to supporting 'kubectl attach ...' and 'kubectl run -it ...'
2015-07-27 21:48:55 -07:00
CJ Cullen
da0bc5f690
Remove race in setting/reading kubelet.podCIDR
2015-07-08 14:58:14 -07:00
Justin Santa Barbara
fca7822800
Misc (non-code) spelling fixes
2015-07-04 10:39:37 -04:00
Nikhil Jindal
204b90e697
Merge pull request #10593 from lavalamp/kubeletRegister
...
Fix node not rejoining cluster on reboot
2015-07-02 10:39:17 -07:00
Zach Loafman
700a6441de
Merge pull request #10313 from yujuhong/kubelet_delete
...
Add an e2e test to verify that pods are deleted on nodes
2015-07-01 16:47:30 -07:00
Zach Loafman
9363285b4a
Merge pull request #10320 from yujuhong/kubelet_logging
...
Kubelet: add and modify some logging messsages
2015-07-01 14:16:23 -07:00
Daniel Smith
5911a12b14
Fix node not rejoining cluster on reboot
...
Also improve logging. Fixes #10368 .
GCE's external ID apparently can change after a reboot.
2015-07-01 10:21:24 -07:00
Yu-Ju Hong
de75a42cb2
Add a kubelet /runningpods endpoint
...
/runningpods returns a list of pods currently running on the kubelet. The list
is composed by examining the container runtime, and may be different from the
desired pods to run known by kubelet.
This is useful for tests to verify that pods are indeed deleted on nodes.
2015-06-29 11:29:23 -07:00
Dawn Chen
710fb4e413
add iptables rule for MASQUERADE for egress
2015-06-24 17:19:57 -07:00
Yu-Ju Hong
f7fd7e9687
Kubelet: add and modify some logging messsages
...
This helps debug #6651
2015-06-24 16:29:19 -07:00
Dawn Chen
6ddfa512de
Revert "Revert "Fix the race between configuring cbr0 and restarting static pods""
...
This reverts commit fd0a95dd12
.
2015-06-24 11:10:10 -07:00
Piotr Szczesniak
fd0a95dd12
Revert "Fix the race between configuring cbr0 and restarting static pods"
2015-06-24 09:56:49 +02:00
Jeff Lowdermilk
50d50a3cb8
Merge pull request #10211 from dchen1107/cleanup
...
Fix the race between configuring cbr0 and restarting static pods
2015-06-23 17:09:01 -07:00
Jeff Lowdermilk
d212ea17cd
Merge pull request #10182 from bprashanth/kubelet_status
...
Fix kubelet deadlock
2015-06-23 15:40:49 -07:00
Dawn Chen
23200d303f
Fix several issues on running syncPods until network is configured.
...
Also fixed unittests and compiling.
2015-06-23 12:11:19 -07:00
Brendan Burns
192ffdfb25
Fix the container bridge so that it can create cbr0
...
Fix the kubelet so that it tries to sync status, even if Docker is down
2015-06-22 23:18:01 -07:00
Jeff Lowdermilk
85770295c2
Merge pull request #10004 from ArtfulCoder/kubelet_health
...
Augmented kubelet healthz with syncLoop check.
2015-06-22 10:53:05 -07:00
Prashanth Balasubramanian
5f61392e6f
Add logging to debug container runtime failures
2015-06-22 10:22:35 -07:00
Anastasis Andronidis
101739a6be
Added Reason in PodStatus
2015-06-21 17:05:34 +02:00
Abhishek Shah
3556993179
Augmented kubelet healthz with syncLoop check.
...
Monit uses read-only port for health monitoring.
2015-06-19 18:14:01 -07:00
Satnam Singh
2012238204
Merge pull request #9457 from yujuhong/seen
...
Kubelet: record the initial pod processing latency
2015-06-19 15:24:16 -07:00
Yu-Ju Hong
f96a8d0935
Kubelet: record the initial pod processing latency
...
Add a new latency metric for the time from seeing the pod for the first time
to starting a pod worker for it.
Also, change PodStartLatency to include this initial processing latency.
2015-06-19 12:07:55 -07:00
Yifan Gu
6ddffdd736
kubelet: Move TestPortForwardNoSuchContainer() to dockertools package.
...
Also refactor TestPortForward() to be neutral to container runtime.
2015-06-19 10:28:27 -07:00
Satnam Singh
e584629272
Merge pull request #10048 from rajatchopra/master
...
Assign host's IPAddress to podIP when pod shares the host's network
2015-06-19 08:16:24 -07:00
Satnam Singh
d06a460007
Merge pull request #10066 from dchen1107/clean
...
Make kubelet first acknowledge time of a pod as Pod.Status.StartTime.
2015-06-19 08:05:15 -07:00
Dawn Chen
1145e4b80a
Make kubelet first acknowledge time of a pod as Pod.Status.StartTime.
2015-06-18 15:54:48 -07:00
Satnam Singh
4c13f8957d
Merge pull request #10057 from justinsb/aws_id_as_name_2
...
Fix of reverted #9728
2015-06-18 14:07:21 -07:00
Justin Santa Barbara
df87470ecf
Allow cloud providers to return a node identifier different from the hostname
2015-06-18 12:40:05 -07:00
Justin Santa Barbara
dee8d4b90b
For kubelet, differentiate between the nodeName and the hostname
...
This will allow us to use a nodeName that is not the hostname,
for example on clouds where the hostname is not the natural identifier
for a node.
2015-06-18 12:40:01 -07:00
Rajat Chopra
a6a57de646
Assign host's IPAddress to podIP when pod shares the host's network
2015-06-18 11:30:59 -07:00
Satnam Singh
e4f5529a2d
Revert "Allow nodename to be != hostname, use AWS instance ID on AWS"
2015-06-18 11:27:55 -07:00
Brendan Burns
51fb753e11
Update the kubelet to ignore syncing Pods until the container runtime is up.
2015-06-18 10:27:04 -07:00
Satnam Singh
790ca2344f
Merge pull request #9728 from justinsb/aws_id_as_name
...
Allow nodename to be != hostname, use AWS instance ID on AWS
2015-06-18 10:17:39 -07:00
Dawn Chen
ca95eb75e9
Configured resource-only container /docker-daemon with 70% of node memory
...
capacity. This is a workaround to docker memory leakage issue.
2015-06-17 11:40:30 -07:00
Saad Ali
d5e00d3990
Merge pull request #9523 from bprashanth/kl_stats
...
Scrape /metrics of kubelets from e2e tests
2015-06-17 11:30:28 -07:00
Justin Santa Barbara
efaead81dc
Allow cloud providers to return a node identifier different from the hostname
2015-06-17 00:40:43 -04:00
Justin Santa Barbara
c28cdfbd43
For kubelet, differentiate between the nodeName and the hostname
...
This will allow us to use a nodeName that is not the hostname,
for example on clouds where the hostname is not the natural identifier
for a node.
2015-06-17 00:40:43 -04:00
Saad Ali
cc5756b2fc
Merge pull request #9809 from bprashanth/stats_cache
...
Use runtime cache to serve container /stats requests
2015-06-16 18:51:53 -07:00
Prashanth Balasubramanian
831d7a36d0
Scrape /metrics of kubelets from e2e tests
2015-06-16 09:50:40 -07:00
Prashanth Balasubramanian
d761b1d4d7
Use runtime cache to serve container /stats requests
2015-06-15 12:39:25 -07:00
Mike Danese
64482907ab
cover more codepaths that hit GetNode in standalone, as well as create better error message when we actually do hit GetNode() which is likely a programmer/config error
2015-06-12 17:45:17 -07:00
Abhi Shah
3ce7fe8310
Merge pull request #9722 from mikedanese/host-ip-spam
...
Fix spammy GetHostIP error log in kubelet
2015-06-12 15:26:54 -07:00
Abhi Shah
928971cea4
Merge pull request #9710 from mesosphere/public-get-phase
...
export kubelet.GetPhase
2015-06-12 13:46:35 -07:00
Mike Danese
5896ac9e07
skip GetHostIP call on standalone mode kubelet to fix spammy log statement
2015-06-12 11:37:53 -07:00
Abhi Shah
52db576617
Merge pull request #8882 from mesosphere/upstream_k8sm
...
Upstream Kubernetes-Mesos framework
2015-06-12 06:36:20 -07:00
James DeFelice
3cf7739b42
export kubelet.GetPhase
2015-06-12 11:11:53 +00:00
Prashanth Balasubramanian
b5ed0e9b13
Dont generatePodStatus twice for new pods
2015-06-11 17:18:16 -07:00
James DeFelice
7d66559725
added comments at the top of native k8s files which, if changed, might affect some of the k8sm code
2015-06-10 20:31:22 +00:00
krousey
f62a2a1bb6
Merge pull request #9451 from cjcullen/mig
...
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
2015-06-09 15:52:12 -07:00
James DeFelice
257bc9b1a3
add GetRuntime() to simplify integration with 3rd party kubelet extensions like kubernetes-mesos
2015-06-09 13:27:34 +00:00
CJ Cullen
2d85e4a094
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
...
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).
Include internalIP in gce NodeAddresses.
2015-06-08 16:58:00 -07:00
Yifan Gu
f197a9db4e
kubelet: Minor refactors.
...
Remove some TODOs.
Unexport DockerManager.Puller and DockerManager.PodInfraContainerImage.
Add "docker" for all "go-dockerclient" imports.
2015-06-04 16:08:45 -07:00
Brian Grant
f72fa67924
Revert "Use Node IP Address instead of Node.Name in minion.ResourceLocation."
2015-06-03 18:19:22 -07:00
Daniel Smith
3f454b7599
remove ro refs from more places
2015-06-03 15:41:09 -07:00
Brian Grant
36a4ece87a
Merge pull request #9080 from thockin/dns-new-search-kubelet
...
Insert 'svc' into the DNS search paths
2015-06-02 22:54:07 -07:00
Brian Grant
d4acb1d676
Merge pull request #9155 from cjcullen/mig
...
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
2015-06-02 22:51:20 -07:00
CJ Cullen
4e5d0da839
Use Node IP Address instead of Node.Name in minion.ResourceLocation.
...
Refactor GetNodeHostIP into pkg/util/node (instead of pkg/util to break import cycle).
Include internalIP in gce NodeAddresses. Remove NodeLegacyHostIP
2015-06-02 20:01:49 -07:00
Filip Grzadkowski
98115facfd
Revert "Gracefully delete pods from the Kubelet"
2015-06-02 23:40:05 +02:00
Brian Grant
8a9700b2ba
Merge pull request #8864 from ncdc/pluggable-docker-exec
...
Add support for pluggable Docker exec handlers
2015-06-02 14:13:06 -07:00
Brian Grant
0a28edf6e7
Merge pull request #8698 from vmarmol/with-limits
...
Reserve node resources for node services
2015-06-02 13:05:29 -07:00
Tim Hockin
a826529573
Insert 'svc' into the DNS search paths
...
Fixes #8569 .
This requires the DNS server to be running kube2sky v1.6 or higher (part of
release 0.18). Users with older kube2sky MUST NOT update to this kubelet until
they upgrade DNS. Versions of kube2sky >= 1.6 support both old and new style
names. Old style names are deprectaed and will be removed around the time of
kubernetes v1.0 release.
2015-06-01 17:02:17 -07:00
Clayton Coleman
72ee028cab
Gracefully delete pods from the Kubelet
...
This commit wires together the graceful delete option for pods
on the Kubelet. When a pod is deleted on the API server, a
grace period is calculated that is based on the
Pod.Spec.TerminationGracePeriodInSeconds, the user's provided grace
period, or a default. The grace period can only shrink once set.
The value provided by the user (or the default) is set onto metadata
as DeletionGracePeriod.
When the Kubelet sees a pod with DeletionTimestamp set, it uses the
value of ObjectMeta.GracePeriodSeconds as the grace period
sent to Docker. When updating status, if the pod has DeletionTimestamp
set and all containers are terminated, the Kubelet will update the
status one last time and then invoke Delete(pod, grace: 0) to
clean up the pod immediately.
2015-06-01 19:23:59 -04:00
Andy Goldstein
2a0d7ebb11
Add support for pluggable Docker exec handlers
...
Add support for pluggable Docker exec handlers. The default handler is
now Docker's native exec API call. The previous default, nsenter, can be
selected by passing --docker-exec-handler=nsenter when starting the
kubelet.
2015-06-01 16:59:59 -04:00
Victor Marmol
7283e662b5
Introduce SystemContainer to Kubelet ContainerManager.
...
This generalizes the handling of containers in the
ContainerManager.
Also introduces the ability to determine how much
resources are reserved for those system containers.
2015-05-29 17:32:34 -07:00
Rohit Jnagal
233ce46b83
Merge pull request #8923 from caesarxuchao/TerminationToTerminated
...
Update ContainerState.Termination to ContainerState.Terminated
2015-05-29 14:51:09 -07:00
Rohit Jnagal
50b9d6284a
Merge pull request #8681 from vmarmol/system-container
...
Create a system container
2015-05-29 09:41:06 -07:00
Chao Xu
2f6e5e2e08
Update ContainerState.Termination to ContainerState.Terminated in pkg/api/types.go and pkg/api/v1/types.go
2015-05-28 17:18:24 -07:00
Tim Hockin
bade36c7dd
Merge pull request #8826 from markturansky/b2d_fix
...
Fixed setNodeStatus to allow running on pods on OS X
2015-05-28 16:54:42 -07:00
Tim Hockin
4318ca5a8b
Rename 'portal IP' to 'cluster IP' most everywhere
...
This covers obvious transforms, but not --portal_net, $PORTAL_NET and
similar.
2015-05-28 16:10:44 -07:00
Federico Simoncelli
2a89428d44
api: add the ProviderID attribute to NodeSpec
...
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-28 13:01:58 -04:00
markturansky
8aa3cb22b5
added pod capacity to node.Status when cadvisor unavailable. defaults to kubelet's pod list length
2015-05-28 10:53:08 -04:00
Paul Morie
8b338860aa
Make kubelet expand var refs in cmd, args, env
2015-05-27 00:13:57 -04:00
Victor Marmol
9a2630ac6e
Make system container name configurable.
2015-05-26 20:49:55 -07:00
Victor Marmol
ddec34a000
Have the ContainerManager create a system container.
...
The system container is a resource-only container which contains all
non-kernel processes that are not already part of a container. This will
allow monitoring of their resource usage and limiting it (eventually).
2015-05-26 20:49:55 -07:00
CJ Cullen
197115853e
Report node.Ready == false until cbr0 is configured correctly
2015-05-26 10:48:29 -07:00
Dawn Chen
677a4aa1a7
Merge pull request #8164 from cjcullen/cloudprovider
...
Route creation reconciler loop.
2015-05-22 12:27:50 -07:00
David Oppenheimer
6b428ef1a8
Merge pull request #7170 from simon3z/node-events
...
Node events recording fixes
2015-05-21 12:54:38 -07:00
Dawn Chen
0710976d43
Merge pull request #8490 from thockin/diff-proto
...
Allow same-hostport-different-protocol
2015-05-21 09:16:16 -07:00
Federico Simoncelli
fefc65164a
kubelet: fix node ready condition logic
...
Fixes #8585
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 20:03:57 -04:00
Federico Simoncelli
2f503c57a5
nodecontroller: improve node status event recording
...
This patch substitutes the misleading reason "unknown" for the event
recording. For symmetry with kubelet's message "online" the conditions
Unknown and False are reported as "offline".
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
2015-05-20 18:46:01 -04:00
CJ Cullen
bf646abf8d
Revert "Revert "Modify nodes to register directly with the master.""
...
This reverts commit c53786ab31
.
2015-05-20 14:21:03 -07:00
Quinton Hoole
c53786ab31
Revert "Modify nodes to register directly with the master."
2015-05-20 13:47:51 -07:00
Tim Hockin
9117a757e2
Revert "Introduce an 'svc' segment for DNS search"
2015-05-20 09:04:15 -07:00
Eric Tune
1f4172d23c
Merge pull request #6949 from roberthbailey/node-register
...
Modify nodes to register directly with the master.
2015-05-19 11:29:43 -07:00
Daniel Smith
181124bc9b
Merge pull request #7974 from deads2k/attach-pull-secrets-to-pods
...
Attach pull secrets to pods
2015-05-19 10:26:39 -07:00
Tim Hockin
711fa2f2c6
fix
2015-05-19 10:17:53 -07:00
Tim Hockin
c7bf373d98
Allow same-hostport-different-protocol
2015-05-19 10:00:35 -07:00
Robert Bailey
01467e0bb8
Modify nodes to register directly with the master.
...
- Delete nodes when they are no longer ready and don't exist in the
cloud provider.
- Label each node with it's hostname.
- Add flag to skip node registration.
- Add a test for registering an existing node.
2015-05-19 09:55:07 -07:00
Brian Grant
2c81050e6f
Merge pull request #8457 from davidopp/master
...
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-19 07:43:21 -07:00
David Oppenheimer
44b1e1ca0c
Fix stylistic isues with #5547 . Closes #4910 .
2015-05-18 23:32:06 -07:00
Victor Marmol
c5da035d51
Merge pull request #8421 from yujuhong/active_deadline
...
Kubelet: move active deadline check to per pod worker
2015-05-18 17:42:21 -07:00
Vish Kannan
c5f7ee6f96
Merge pull request #8430 from vmarmol/logging
...
Don't run OOM watcher is cAdvisor is not available.
2015-05-18 14:41:24 -07:00
Yu-Ju Hong
2bf0646c76
Kubelet: do not remove directories of terminated pods
...
We recently changed `SyncPods` to filter out terminated pods at the beginning
for two reasons:
* performance: kubelet no longer keeps goroutines to checks containers for
terminated pods.
* correctness: kubelet relies on inspecting dead containers to generate
pod status. Because dead containers may get garbage collected and
kubelet does not have checkpoints yet, syncing terminated pod could
lead to modifying the status of a terminated pod.
However, even though kubelet should not *sync* the terminated pods, it
should not attempt to remove the directories and volumes for such
pods as long as they have not been deleted. This change fixes aggresive
directory removal by passing all pods (including terminated pods) to the
cleanup functions.
2015-05-18 13:23:49 -07:00
deads2k
0c14e0cbdb
add pull secret references to pods
2015-05-18 16:18:16 -04:00
Victor Marmol
4a1100bb66
Don't run OOM watcher is cAdvisor is not available.
...
Fixes #8424 .
2015-05-18 12:18:12 -07:00
Victor Marmol
45874d5f76
Merge pull request #5547 from gmarek/client3
...
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-18 11:11:43 -07:00
Yu-Ju Hong
050b8ba60b
Kubelet: move active deadline check to per pod worker
...
Per-pod workers have sufficient knowledge to determine whether a pod has
exceeded the active deadline, and they set the status at the end of each sync.
Move the active deadline check to generatePodStatus so that per pod workers
can update the pod status directly. This eliminates the possibility of a race
condition where both SyncPods and the pod worker are updating the status, which
could lead to temporary erratic pod status behavior (pod phase: failed ->
running -> failed).
2015-05-18 10:52:41 -07:00
Yu-Ju Hong
25668ccc11
Kubelet: remove the getPodstatus method
...
Pod statuses are periodically writtien to the status manager, and status
manager sets the start time of the pod. All non-status-modifying code should
perform cache lookup and should not attempt to generate pod status on its own.
2015-05-18 10:52:36 -07:00
Yu-Ju Hong
e1a153e841
Merge pull request #8340 from dchen1107/clean
...
Wait for docker to start cadvisor.
2015-05-15 14:36:10 -07:00
derekwaynecarr
8216332611
Kubelet kills a pod that exceeds ActiveDeadlineSeconds
2015-05-15 16:33:37 -04:00
Dawn Chen
85ca8506bb
Wait for docker to start cadvisor.
2015-05-15 13:24:24 -07:00
Victor Marmol
43e4654333
Merge pull request #8292 from yujuhong/rm_podinfo
...
Remove /podInfo endpoint on kubelet
2015-05-15 08:42:02 -07:00
gmarek
27d660d0ac
Add a resource specifying number of Pods that are allowed to run on Kubelet.
2015-05-15 10:57:46 +02:00
Yu-Ju Hong
4b40db3367
Remove /podInfo endpoint on kubelet
...
Kubelet sends pod status updates to the API server now. This endpoint is no
longer needed.
2015-05-14 17:51:26 -07:00
Yu-Ju Hong
a2d04a84de
kubelet: filter out terminated pods before rejecting pods
...
Currently, kubelet doesn't filter out terminated pods before determining whether
a pod fits. This could lead to duplicated events for rejecting the pods. This
change fixes that.
This change also groups all related pod fitness checking functions into one
function to improve readability.
2015-05-14 13:02:36 -07:00
Rohit Jnagal
532f6fdcef
Merge pull request #7955 from hurf/refactor_scheduler
...
Move pkg/scheduler to plugin/pkg/scheduler
2015-05-14 10:28:52 -07:00
Dawn Chen
309a157665
Merge pull request #7984 from cjcullen/kubelet
...
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-13 17:32:52 -07:00
Victor Marmol
67eab52b9e
Merge pull request #8146 from yifan-gu/runtime_opt
...
kubelet/container: Refactor RunContainerOptions.
2015-05-13 11:09:56 -07:00
Yifan Gu
d164ac0ba0
kubelet/container: Refactor RunContainerOptions.
...
Make Envs, Mounts, PortMappings more generic.
Also add default name for PortMapping if it's not specified.
2015-05-13 10:01:00 -07:00
hurf
6203ce9f85
Move pkg/scheduler to plugin/pkg/scheduler
...
As the TODO in plugin/pkg/scheduler/scheduler.go described:
move everything from pkg/scheduler into this package. Remove
references from registry.
2015-05-13 14:03:25 +08:00
CJ Cullen
31ea7d1295
Put cbr0-modifying stuff behind a flag. Address some other comments.
2015-05-12 23:00:28 -07:00
CJ Cullen
5e3d2b9138
Kubelet configure cbr0 instead of configure-vm.sh
2015-05-12 23:00:12 -07:00
Victor Marmol
40ec627cd4
Merge pull request #8108 from rjnagal/kubelet
...
Handle out of disk situation on kubelet.
2015-05-12 15:49:31 -07:00
Victor Marmol
3481db8aee
Merge pull request #8136 from yifan-gu/runtime_opt
...
kubelet/container: Remove ipcMode and netMode from RunContainerOptions.
2015-05-12 14:41:49 -07:00
Yifan Gu
a2dac158c2
kubelet/container: Remove ipcMode and netMode from RunContainerOptions.
...
Since createPodInfraContainer() is moved into dockertools. There is no
need to pass the ipcMode or netMode via RunContainerOptions.
2015-05-12 14:18:00 -07:00
Rohit Jnagal
2cf0dfb79d
Handle out of disk situation on kubelets.
...
Kubelet will stop accepting new pods if it detects low disk space on root fs or fs holding docker images.
Running pods are not affected. low-diskspace-threshold-mb is used to configure the low diskspace threshold.
2015-05-12 18:23:09 +00:00
Victor Marmol
e1447618f4
Integrating ContainerManager into Kubelet
2015-05-12 10:13:23 -07:00
Tim Hockin
41033af256
Introduce an 'svc' segment for DNS search
2015-05-11 17:20:44 -07:00
Victor Marmol
43029345f9
Merge pull request #7973 from dchen1107/podstatus
...
Add kubectl log --previous support to view last terminated container log
2015-05-11 17:08:45 -07:00
Victor Marmol
1465475401
Merge pull request #8079 from yifan-gu/rm_command_runner
...
kubelet/container: Move prober.ContainerCommandRunner to container.
2015-05-11 16:05:25 -07:00
Yifan Gu
7831b7da72
kubelet/container: Move prober.ContainerCommandRunner to container.
...
Also include the ContainerCommandRunner in Runtime interface, but
still keep the ContainerCommandRunner interface for testability.
2015-05-11 15:32:51 -07:00
Yu-Ju Hong
8b3130b112
Merge pull request #7980 from yifan-gu/fix_kubelet_tests
...
kubelet: Fix racy kubelet tests.
2015-05-11 14:09:44 -07:00
Dawn Chen
86479cc56c
Add support to pull log for last terminated container
2015-05-11 12:54:04 -07:00
Yifan Gu
52af792852
kubelet: Fix racy kubelet tests.
...
Add fakePodWorkders to run syncPod() in serial for testing.
2015-05-11 12:50:33 -07:00
Yu-Ju Hong
a9c9505206
Use VirtualSize of the docker image as the image size
2015-05-11 11:03:47 -07:00
Yu-Ju Hong
3599d81ef1
Remove some docker references
2015-05-11 11:03:47 -07:00
Yifan Gu
7e9ba26103
kubelet: Add container runtime option for rkt.
2015-05-07 23:39:37 -07:00
Victor Marmol
ecf8348609
Revert "kubelet: Add container runtime option for rkt."
2015-05-07 13:01:37 -07:00
Yifan Gu
4f6535ed8a
kubelet: Add container runtime option for rkt.
2015-05-07 10:31:58 -07:00
Victor Marmol
35c644a45f
Merge pull request #7870 from yifan-gu/rkt_volume
...
Add volumeGetter to rkt.
2015-05-07 08:58:00 -07:00
Wojciech Tyczynski
e26da316dc
Set NodeReady=False when docker is dead
2015-05-07 09:30:25 +02:00
Yifan Gu
8715c54bd3
kubelet/container: Move kubelet.volumeMap to container.VolumeMap.
...
This is a quick fix to solve circular dependency problem when
rkt references volume maps.
2015-05-06 16:50:57 -07:00
Zach Loafman
3fcea23185
Revert "Revert "Revert "Kubelet: Add rkt as a runtime option"""
2015-05-05 15:55:12 -07:00
Zach Loafman
92ca92f43a
Revert "Revert "Kubelet: Add rkt as a runtime option""
2015-05-05 15:28:09 -07:00
Zach Loafman
6016408096
Revert "Kubelet: Add rkt as a runtime option"
2015-05-05 15:15:15 -07:00
Yu-Ju Hong
b2c0ea37b4
Merge pull request #7743 from vmarmol/runtime-switch
...
Kubelet: Add rkt as a runtime option
2015-05-05 13:36:46 -07:00
Victor Marmol
9f283f356f
Start ImageManager housekeeping in Run().
...
Fixes #7762
Fixes #5634
2015-05-05 11:15:12 -07:00
Victor Marmol
22297d316a
Add rkt runtime to Kubelet init
2015-05-05 10:55:21 -07:00
Brian Grant
df8521c468
Merge pull request #7592 from pmorie/dapi-example
...
Rename EnvVarSource.FieldPath -> FieldRef and add example
2015-05-04 17:02:17 -07:00
Victor Marmol
a32d31d045
Merge pull request #7729 from yujuhong/runtime_up
...
Kubelet: wait until container runtime is up
2015-05-04 16:02:30 -07:00
Paul Morie
e949a623ff
Change EnvVarSource.FieldPath -> FieldRef and add example
2015-05-04 18:41:09 -04:00
Yu-Ju Hong
d231eb6bef
Kubelet: wait until container runtime is up
...
Instead of waiting for the docker client to be up, we wait for the container
runtime to be up.
2015-05-04 15:16:38 -07:00
Victor Marmol
ba7e940a57
Make rkt implement the container Runtime
2015-05-04 11:16:33 -07:00
Victor Marmol
79fc8bee34
Change GetContainerLogs() signature.
...
This works for both runtimes. We need to eventually unify the ID scheme
for this method.
2015-05-04 11:16:32 -07:00
Victor Marmol
2ad933e124
Merge pull request #7674 from yujuhong/enable_runtime
...
Kubelet: replace DockerManager with the Runtime interface
2015-05-04 11:10:20 -07:00
Yu-Ju Hong
1ad4dd7803
Kubelet: replace DockerManager with the Runtime interface
...
This change instructs kubelet to switch to using the Runtime interface. In order
to do it, the change moves the Prober instantiation to DockerManager.
Note that most of the tests in kubelet_test.go needs to be migrated to
dockertools. For now, we use type assertion to convert the Runtime interface to
DockerManager in most tests.
2015-05-04 10:19:46 -07:00
Paul Morie
b538642464
Inject mounter into volume plugins
2015-05-04 11:28:57 -04:00
Daniel Smith
4a6ab7fd36
Merge pull request #7597 from eparis/copyright
...
Use generic copyright holder name in license boilerplate
2015-05-01 17:01:39 -07:00
Eric Paris
6b3a6e6b98
Make copyright ownership statement generic
...
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Victor Marmol
d9d61c3511
Kubelet: Add container runtime option.
2015-05-01 14:26:54 -07:00
Victor Marmol
3b9eba2c1b
Add SyncPod() to DockerManager and use in Kubelet.
...
This allows us to abstract away the logic of syncing a pod by the
runtime. It will allow other runtimes to perform their own sync as well.
2015-05-01 11:03:08 -07:00
Vish Kannan
cadfde0bd1
Merge pull request #7277 from guenter/cgroup-parent
...
Add --cgroup_parent flag to Kubelet to set the parent cgroup for pods
2015-05-01 10:24:58 -07:00
Victor Marmol
441a4e6f30
Merge pull request #7578 from yujuhong/docker_manager
...
Add image-related methods to DockerManager
2015-04-30 16:16:39 -07:00
Yu-Ju Hong
644ec0dbfb
Remove ErrNoKubeletContainers
...
We no longer use it.
2015-04-30 13:35:21 -07:00
Yu-Ju Hong
83c599e4d4
Add image-related methods to DockerManager
...
This change is part of the efforts to make DockerManager implement the Runtime
interface.
The change also modifies the interface slightly to work with existing
code, and aggregates the type converting functions to convert.go.
2015-04-30 13:27:52 -07:00
Yu-Ju Hong
2f7b951140
Remove more docker references in kubelet
...
This change also renames TrimRuntimePrefixFromImage to TrimRuntimePrefix to
better reflect that the usage is not limited to images (e.g. ID).
2015-04-30 13:16:11 -07:00
Tobi Knaup
b96c4046a8
Add --cgroup_root flag to Kubelet to set the parent cgroup for all pods.
...
Implements #6991 .
2015-04-30 10:32:27 -07:00
Victor Marmol
238b3c6f4e
Move lifecycle handlers to its own sub package.
...
This will allow injecting it into the runtimes.
2015-04-30 08:47:23 -07:00
Victor Marmol
4db5127073
Make HttpGetter a shared Kubelet type.
2015-04-30 08:47:23 -07:00
Yu-Ju Hong
baaea11cd5
Merge pull request #7520 from vmarmol/runtime-pull
...
Add RuntimeHooks to abstract Kubelet logic
2015-04-30 08:33:19 -07:00
Victor Marmol
2a01a2c7e9
Use RuntimeHooks in Kubelet.
...
Used in functionality that will be moved to the runtimes.
2015-04-29 17:06:49 -07:00
Yu-Ju Hong
d81ecc58f8
Adapt pod killing and cleanup for generic container runtime
...
This change removes docker-specifc code in killUnwantedPods. It
also instructs the cleanup code to move away from interacting with
containers directly. They should always deal with the pod-level
abstraction if at all possible.
2015-04-29 16:08:09 -07:00
Yu-Ju Hong
ba1140a54f
Merge pull request #7480 from vmarmol/runtime-syncpod
...
Move ComputePodChanges to the Docker runtime
2015-04-29 16:05:20 -07:00
Victor Marmol
209b4fcbef
Merge pull request #6718 from vishh/sys_oom1
...
Adding system oom events from kubelet
2015-04-29 14:29:38 -07:00
Victor Marmol
fe4600ba17
Move ComputePodChanges to DockerManager.
...
This logic is specific to the Docker runtime. This move is the first
step towards making syncPod() runtime-agnostic.
2015-04-29 14:00:37 -07:00
Vishnu Kannan
020950fd0f
Adding events for system ooms.
...
Kubelet will continuously watch for system OOMs and generate events whenever it
encounters a system OOM.
2015-04-29 11:19:11 -07:00
Victor Marmol
f38c607285
Move Prober to its own subpackage.
...
This will allow it to be reused by the runtimes.
2015-04-29 10:11:28 -07:00
Yu-Ju Hong
33b8f487f6
Merge pull request #7449 from vmarmol/runtime-network-plugins
...
Move network plugin TearDown to DockerManager
2015-04-29 10:09:58 -07:00
Victor Marmol
02231ea75d
Merge pull request #7503 from jsafrane/devel/fix-volume-rm
...
Fixed kubelet deleting data from volumes on stop (#7317 ).
2015-04-29 10:01:16 -07:00
Jan Safranek
9b9e98a22f
Fixed kubelet deleting data from volumes on stop ( #7317 ).
...
We must not clear the pod directory in killUnwantedPods(), volumes are still
mounted there at this time. There already is cleanupOrphanedPodDirs(),
called later in the SyncPods() sequence, which should remove these pod
directories.
2015-04-29 10:41:19 +02:00
Yifan Gu
fb1c55aa11
kubelet/container: Add GetContainerLogs to runtime interface.
2015-04-28 20:26:16 -07:00
Victor Marmol
787d42d50b
Move network plugin teardown to DockerManager.
...
This teardown is Docker-specific and will let us also do the setup in
the manager in future cleanups.
2015-04-28 16:58:54 -07:00
Victor Marmol
de0957ccb1
Create Kubelet types package for common shared types.
2015-04-28 16:57:45 -07:00
Vishnu Kannan
820d0f3e83
Adding a 'PastEventf' method to EventRecorder interface. This will be
...
useful for recording the timestamp of events that happened in the past.
2015-04-28 16:13:29 -07:00
Dawn Chen
af5d017911
Merge pull request #7386 from vmarmol/rkt-pull-image
...
Kubelet: Factor out and remove pullImageAndRunContainer
2015-04-28 09:28:16 -07:00
Dawn Chen
1de4c45115
Merge pull request #7401 from vmarmol/rkt-kill-pod
...
Kubelet: Move killPod() logic to DockerManager's KillPod()
2015-04-28 09:25:12 -07:00
Victor Marmol
6b0db76e85
Move killPod() logic to DockerManager KillPod().
...
This moved Docker specific logic there and allows it to align with the
runtime API. There is still a pod infra container reference in the
function due to network plugins. We can handle this in the Kubelet since
we'll need to be explicit in stating that the network plugin will not
work in a non-Docker runtime.
2015-04-27 17:15:37 -07:00
Victor Marmol
42a2059a5d
Remove DockerPrefix references in Kubelet.
...
Makes this usage generic and usable by other runtimes.
2015-04-27 15:55:13 -07:00
Victor Marmol
3082bb291c
Remove pullImageAndRunContainer().
...
Relevant logic is now in shared helpers.
2015-04-27 15:13:11 -07:00
Victor Marmol
b232eef5f7
Move image PullPolicy logic to pullImage().
...
This will allow us to remove the Docker-specific logic in
pullImageAndRunContainer() and re-use pullImage() in other runtimes.
2015-04-27 15:13:11 -07:00
Dawn Chen
aa487b7cab
Merge pull request #7382 from vmarmol/rkt-deps
...
Move Docker-specific log handling to DockerManager.
2015-04-27 15:10:14 -07:00
Victor Marmol
7404b7019c
Move Docker-specific log handling to DockerManager.
...
Eases the separation of Docker-specific code into the Docker-specific
runtime.
2015-04-27 13:10:10 -07:00
Brian Grant
2648ae86d6
Merge pull request #6739 from pmorie/downward-api
...
Env var sources / downward API
2015-04-27 12:46:00 -07:00
Paul Morie
7d30f09ebf
Add downward API for environment vars
2015-04-27 14:13:11 -04:00
Victor Marmol
0c52f7b6a5
Move CreatePodInfraContainer to DockerManager.
...
This will allow us to start making it an implementation detail of the
Docker runtime.
2015-04-27 11:07:38 -07:00
Yifan Gu
6c98b9daee
kubelet/metrics: Move instrumented_docker.go to dockertools.
...
This can solve the circular import problem when we move the
kubelet.pullImage to kubelet/metrics or kubelet/container package.
2015-04-24 22:03:11 -07:00
Yu-Ju Hong
b0e6926f67
kubelet: filter out terminated pods in SyncPods
...
Once a pod reaches a terminated state (whether failed or succeeded), it should
not transit out ever again. Currently, kubelet relies on examining the dead
containers to verify that the container has already been run. This is fine
in most cases, but if the dead containers were garbage collected, kubelet may
falsely concluded that the pod has never been run. It would then try to restart
all the containers.
This change eliminates most of such possibilities by pre-filtering out the pods
in the final states before sending updates to per-pod workers.
2015-04-24 15:28:03 -07:00
Yifan Gu
b5a1b32aa4
kubelet/dockertools: Move RunContainer into container runtime.
...
Also removed ContainerRunner interface.
2015-04-23 16:40:37 -07:00
Yifan Gu
6ed27d06f7
kubelet: Move KillContainer to container runtime.
...
Rename KillContainerID(string) with KillContainer(string).
Delete the old KillContainer(*kubecontainer.Container).
2015-04-23 15:44:00 -07:00
David Oppenheimer
8667ebddff
Merge pull request #7249 from yifan-gu/generator
...
kubelet/container: Introduce RunContainerOptionsGenerator.
2015-04-23 14:59:23 -07:00
Dawn Chen
6207c518b3
Merge pull request #7254 from yifan-gu/readiness
...
kubelet/dockertools: Add readinessManage/containerRefManager to dockerManager.
2015-04-23 14:34:43 -07:00
Yifan Gu
e8d485a3a1
kubelet/dockertools: Add readinessManage/containerRefManager to dockerManager.
...
This can enable us to move KillContainer() to container runtime.
2015-04-23 14:20:34 -07:00
Yifan Gu
bd7132bc07
kubelet/container: Introduce RunContainerOptionsGenerator.
...
This interface wraps the kubelet to provide the options for
container runtime to run a container.
2015-04-23 13:55:50 -07:00
Dawn Chen
f7831dcd93
Merge pull request #7229 from vmarmol/stats
...
Kubelet: Add /stats/container endpoint for raw containers
2015-04-23 13:43:23 -07:00
Victor Marmol
c29d328c55
Kubelet: Add /stats/container endpoint.
...
This endpoint exposes container stats for all raw containers on the
machine. The addition is backwards compatible.
2015-04-23 10:38:29 -07:00
Yifan Gu
af1e9f737f
kubelet: Introduce volume manager.
...
The volume manager book-keeps the information for the volume mounts
on the kubelet, so we can avoid passing the volumeMap around.
2015-04-23 10:37:02 -07:00
Satnam Singh
2444c1f943
Propagate pod and container name for log files
2015-04-22 15:08:51 -07:00
Victor Marmol
45575d95b3
Merge pull request #7177 from yifan-gu/runner
...
kubelet/dockertools: Remove dockerContainerCommandRunner.
2015-04-22 13:24:50 -07:00
Yifan Gu
f59013410a
kubelet/container: Move Prober/HandlerRunner interface to container/helpers.go
...
This enables us to pass them to container runtime as parameters.
2015-04-22 11:56:15 -07:00
Yifan Gu
c55c879ffe
kubelet/dockertools: Remove dockerContainerCommandRunner.
...
Replace with docker manager.
2015-04-22 11:00:54 -07:00
Victor Marmol
914a6febfb
Merge pull request #7010 from yifan-gu/compute
...
kubelet: Refactor computePodContainerChanges().
2015-04-22 08:05:18 -07:00
Brian Grant
8dbbf3da5c
Merge pull request #7138 from pravisankar/unschedulable-event
...
Record an event on node schedulable changes
2015-04-22 07:11:14 -07:00
Yifan Gu
611fb25926
kubelet: Refactor GetDockerVersion().
...
Remove GetDockerServerVersion() from DockerContainerCommandRunner interface,
replaced with runtime.Version(). Also added Version type in runtime for version
comparision.
2015-04-21 14:52:08 -07:00
Ravi Sankar Penta
f1d88f6d2f
Record an event on node schedulable changes
2015-04-21 14:14:59 -07:00
Yifan Gu
5594981340
kubelet: Refactor computePodContainerChanges().
...
Pull generatePodStatus() and makePodDataDirs() out as they are the
common part for container runtimes.
2015-04-21 13:53:20 -07:00
Victor Marmol
4b9a64bcd8
Merge pull request #7098 from yifan-gu/handler
...
kubelet: Refactor runHandler().
2015-04-21 08:14:42 -07:00
Yifan Gu
c23b83b0ca
kubelet: Refactor runHandler().
...
Use new HandlerRunner type to replace runHandler()
2015-04-20 21:31:11 -07:00
Daniel Smith
462534ca5d
Merge pull request #7068 from krousey/api_pod_pointer
...
Changing a few more instances of api.Pod to *api.Pod
2015-04-20 17:09:28 -07:00
Kris Rousey
594f514843
Changing a few remaining instances of passing pods around by value. I
...
avoided changing api.PodList.Items to []*api.Pod.
2015-04-20 15:26:45 -07:00
Victor Marmol
d44e9b4880
Merge pull request #7048 from yujuhong/para_cleanup
...
Kubelet: parallelize cleaning up containers in unwanted pods
2015-04-20 14:59:07 -07:00
Yu-Ju Hong
275002173e
Kubelet: parallelize cleaning up containers in unwanted pods
...
Kubelet kills unwanted pods in SyncPods, which directly impact the latency of a
sync iteration. This change parallelizes the cleanup to lessen the effect.
Eventually, we should leverage per-pod workers for cleanup, with the exception
of truly orphaned pods.
2015-04-20 14:42:12 -07:00
Brendan Burns
01b891770f
Merge pull request #7054 from ncdc/dockerclient-version
...
Use go-dockerclient's APIVersion
2015-04-20 14:20:57 -07:00
Andy Goldstein
a0a80ea76e
Use go-dockerclient's APIVersion
...
Use go-dockerclient's APIVersion to check the minimum required Docker
version, as it contains methods for parsing the ApiVersion response from
the Docker daemon and for comparing 2 APIVersion objects.
2015-04-20 13:48:18 -04:00
Yu-Ju Hong
cd61aa9484
Merge pull request #7009 from yifan-gu/kube_dep
...
kubelet: Refactor prober.
2015-04-20 10:23:04 -07:00
Clayton Coleman
9e87924983
Tone down kubelet logs for already run containers
2015-04-19 22:55:38 -04:00
Yifan Gu
1d58992df7
kubelet: Refactor prober.
...
Decompose the health check prober from the kubelet.
2015-04-17 15:54:28 -07:00
Yu-Ju Hong
1f3e47f6f7
Merge pull request #7005 from yifan-gu/kube_dep
...
kubelet: Refactor shouldContainerBeRestarted():
2015-04-17 15:05:41 -07:00
Yifan Gu
29a5da231d
kubelet: Refactor shouldContainerBeRestarted():
...
Remove the function's dependency on kubelet.
2015-04-17 14:35:39 -07:00
Kris Rousey
81497f3ed2
Changing the scheduler package to use *api.Pod instead of api.Pod to
...
avoid unnecessary shallow copies. The change rippled through a lot of
code.
2015-04-17 13:34:31 -07:00
Yu-Ju Hong
13b29cd64b
Merge pull request #6595 from guenter/kubelet-update-channel-closed
...
kubelet syncloop should stop if/when updates chan closes
2015-04-17 10:42:05 -07:00
Victor Marmol
abab9ea31f
Merge pull request #6844 from yifan-gu/cleankube
...
kubelet: Clean up computePodContainerChanges.
2015-04-15 13:53:21 -07:00
Yifan Gu
3b28c6262b
kubelet: Clean up computePodContainerChanges.
...
More `continue`, less `else` to make it less indent and more readable.
2015-04-15 10:13:57 -07:00
Victor Marmol
fb3c351fe1
Run Kubelet on "/kubelet" container.
2015-04-14 10:29:05 -07:00
Victor Marmol
ca9e209ccb
Merge pull request #6795 from yifan-gu/cache
...
kubelet/container: Replace DockerCache with RuntimeCache.
2015-04-14 09:37:34 -07:00
Dawn Chen
8420abeea8
Merge pull request #6786 from yifan-gu/cleankube
...
kubelet: Remove unused docker functions.
2015-04-14 09:16:53 -07:00
Victor Marmol
e265f2c58d
Merge pull request #6799 from xiang90/kerr
...
pkg/kubelet: fix error msg in GetHostIP
2015-04-14 08:40:34 -07:00
Xiang Li
4a152290f4
pkg/kubelet: fix error msg in GetHostIP
2015-04-13 22:44:23 -07:00
Yifan Gu
e1feed9a8b
kubelet/container: Replace DockerCache with RuntimeCache.
2015-04-13 18:16:05 -07:00
Yifan Gu
7fedb14c27
kubelet: Remove unused docker functions.
...
Remove kubelet.getPodInfraContainer().
Remove dockertools.RemoveContainerWithID().
Remove dockertools.FindContainersByPod().
Also replace the useless test with a test for GetPods().
2015-04-13 16:32:18 -07:00
Yifan Gu
d14cb8f1dd
kubelet: Introduce PodInfraContainerChanged().
...
This functions computes in ahead whether we need to restart the pod
infra container.
2015-04-13 16:18:52 -07:00
Yifan Gu
dda600e45c
kubelet/dockertools: Add puller interfaces in the containerManager.
2015-04-13 15:34:22 -07:00
Yifan Gu
a3675e08f2
kubelet/dockertool: Move Getpods() to DockerManager.
2015-04-13 14:05:22 -07:00
Xiang Li
cef744ecaa
pkg/kubelet: move the capabilities related code to util.go
2015-04-11 12:09:11 -07:00
Tobi Knaup
3932dfd8bb
Log an error when update channel is closed.
2015-04-10 17:30:04 -07:00