Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate docker with kubelet via CRI #31459

Closed
16 of 17 tasks
yujuhong opened this issue Aug 25, 2016 · 12 comments
Closed
16 of 17 tasks

Integrate docker with kubelet via CRI #31459

yujuhong opened this issue Aug 25, 2016 · 12 comments
Assignees
Labels
area/kubelet-api sig/node Categorizes an issue or PR as relevant to SIG Node.
Milestone

Comments

@yujuhong
Copy link
Contributor

yujuhong commented Aug 25, 2016

Meta issue: #28789

This issue tracks the progress of docker integration via CRI.

The initial CRI server-side implementation for docker is in the pkg/kubelet/dockershim package. We chose to let the code remain in the kubelet codebase to help with the migration. It will also not go through grpc/protobuf until the features are completed.

For 1.5, we aim to have a functional docker integration.


Implementation TODOs: #29478
Current integration CI Node E2E builder (#33189): https://k8s-testgrid.appspot.com/google-node#kubelet-cri-gce-e2e
Current integration CI E2E builder (kubernetes/test-infra#712): https://k8s-testgrid.appspot.com/google-gce#gci-gce-cri
Current presubmit builder:

  • @k8s-bot cri node e2e test this to trigger node e2e test.
  • @k8s-bot cri e2e test this to trigger e2e test.
  • @k8s-bot cri test this to trigger both.

Relevant PRs so far: #29700, #29553, #29580
Relevant issues: #29252

@yujuhong yujuhong added area/kubelet-api sig/node Categorizes an issue or PR as relevant to SIG Node. labels Aug 25, 2016
@yujuhong yujuhong added this to the v1.5 milestone Aug 25, 2016
@yujuhong yujuhong self-assigned this Aug 25, 2016
k8s-github-robot pushed a commit that referenced this issue Sep 12, 2016
Automatic merge from submit-queue

dockershim: use the new Metadata types and add more unit tests

Part of #31459
k8s-github-robot pushed a commit that referenced this issue Sep 12, 2016
Automatic merge from submit-queue

dockershim: add unit tests for sandbox/container status

Part of #31459
k8s-github-robot pushed a commit that referenced this issue Sep 23, 2016
Automatic merge from submit-queue

Fake container exec/logs support for in-process docker CRI integration

This is necessary to unblock other work on docker integration, while we are addressing
`logs` and `exec` in the meantime.

This is part of #31459 and #33189

/cc @kubernetes/sig-node
@Random-Liu
Copy link
Member

Random-Liu commented Sep 30, 2016

Got the first e2e result: 202 Passed | 12 Failed | 0 Pending | 194 Skipped
https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/kubernetes-e2e-gci-gce-cri/1

@feiskyer
Copy link
Member

Got the first e2e result: 202 Passed | 12 Failed | 0 Pending | 194 Skipped
https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/kubernetes-e2e-gci-gce-cri/1

Hmm, initcontainers are already addressed in #33363, port-forwarding is not implemented yet, we could deal it same with exec for docker.

@feiskyer
Copy link
Member

feiskyer commented Sep 30, 2016

Claims port-forward for docker.

Update: refer #33810.

@Random-Liu
Copy link
Member

Random-Liu commented Sep 30, 2016

Claims attach for docker. Attach is also not implemented in kuberuntime yet. I'll verify with my local cluster even though the change is very small. :) Will send a PR soon after I verify it.

PR #33815.

k8s-github-robot pushed a commit that referenced this issue Sep 30, 2016
Automatic merge from submit-queue

Fake docker portfoward for in-process docker CRI integration

This is necessary to pass e2e tests for in-process docker CRI integration.

This is part of #31459.

cc/ @Random-Liu @kubernetes/sig-node
k8s-github-robot pushed a commit that referenced this issue Sep 30, 2016
Automatic merge from submit-queue

CRI: Add fake attach support in CRI.

For #31459.

I've tested in my cluster, it works.

@feiskyer @yujuhong
k8s-github-robot pushed a commit that referenced this issue Oct 1, 2016
Automatic merge from submit-queue

Apply default image tags for all runtimes

Move the docker-specific logic up to the ImageManager to allow code sharing
among different implementations.

Part of #31459

/cc @kubernetes/sig-node
k8s-github-robot pushed a commit that referenced this issue Oct 5, 2016
Automatic merge from submit-queue

CRI: Add presubmit CRI validation test.

For #31459.

This PR adds a new suite for CRI presubmit validation which runs non-flaky, non-serial, non-slow test per-pr.

Except this PR, I'll also change the test-infra side. Ideally, after this is done, we should be be able to trigger CRI validation test per-pr with something like `@k8s-bot cri node e2e test this` and `@k8s-bot cri e2e test this`.

@yujuhong @feiskyer @yifan-gu @freehan 
/cc @kubernetes/sig-node
k8s-github-robot pushed a commit that referenced this issue Oct 6, 2016
…chmark

Automatic merge from submit-queue

CRI: Add serial and benchmark test suite.

For #31459.

The serial test result will be shown on test-grid.
The benchmark test result will be shown [node-perf-dash](http://node-perf-dash.k8s.io/#/builds)

This PR also changes the cri validation test to use the same gci image with node e2e instead of the canary image. The docker version is still 1.11.2.

@yujuhong @feiskyer @yifan-gu 
/cc @kubernetes/sig-node
k8s-github-robot pushed a commit to kubernetes-retired/contrib that referenced this issue Oct 6, 2016
…rf-dash

Automatic merge from submit-queue

CRI: Add cri benchmark test in node perf dash.

For kubernetes/kubernetes#31459.

This depends on kubernetes/test-infra#761 and kubernetes/kubernetes#34141.

After this gets merged, I'll restart node perf dash. Then we should be able to monitor benchmark result with cri enabled.

@yujuhong @feiskyer 
/cc @kubernetes/sig-node
@Random-Liu
Copy link
Member

Random-Liu commented Oct 28, 2016

I run density test to compare operation latency with grpc/non-grpc integration.
Here is the result: https://docs.google.com/spreadsheets/d/1CK-lq2rERkx50-DXl3QUYLtaTNCIZyaQAezEMTnYJc0/edit?usp=sharing

It turns out that the latency increment is acceptable, for example list_container latency is increased by 30%.

However, the memory usage is increased a lot by about 80%:
screenshot from 2016-10-27 16 37 23

I'll run some test to analyze the memory usage increment.

@yujuhong @feiskyer
/cc @kubernetes/sig-node

@dims
Copy link
Member

dims commented Nov 16, 2016

@yujuhong @Random-Liu This needs to be triaged as a release-blocker or not for 1.5

@yujuhong yujuhong modified the milestones: v1.6, v1.5 Nov 17, 2016
@yujuhong
Copy link
Contributor Author

We completed all the p0/p1 items. Moving the issue to 1.6 to finish the rest.

@redbaron
Copy link
Contributor

is it still planned for 1.6?

@yujuhong
Copy link
Contributor Author

Yes, we just enabled the CRI implementation by default in kubelet last night.

@redbaron
Copy link
Contributor

great! does it mean that hostPort feature will work for CNI enabled setups?

@yujuhong
Copy link
Contributor Author

@redbaron unfortunately no. It works for kubenet, but not for CNI. The effort of pushing host port logic down to CNI is tracked in #31307

@yujuhong
Copy link
Contributor Author

Closing this issue since the only thing left is the CRI validation test, which is tracked separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kubelet-api sig/node Categorizes an issue or PR as relevant to SIG Node.
Projects
None yet
Development

No branches or pull requests

5 participants