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

Move "docker-healthcheck" to DockerBuilder #8221

Merged
merged 8 commits into from
Mar 15, 2020

Conversation

hakman
Copy link
Member

@hakman hakman commented Dec 29, 2019

The Docker health check should be running only when the container runtime is Docker. At the moment it is also triggered for containerd.

This change moves the docker-healthcheck script, service and timer to DockerBuilder.

Based on Office Hours discussion, the health check will be enabled through a new config option:

spec:
  docker:
    healthCheck: true

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 29, 2019
@k8s-ci-robot
Copy link
Contributor

Hi @hakman. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Dec 29, 2019
@rifelpet
Copy link
Member

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 29, 2019
@hakman
Copy link
Member Author

hakman commented Dec 29, 2019

/assign @justinsb

@johngmyers
Copy link
Member

/test pull-kops-e2e-kubernetes-aws

@k8s-ci-robot k8s-ci-robot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jan 4, 2020
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jan 4, 2020
@hakman
Copy link
Member Author

hakman commented Jan 19, 2020

@justinsb did you get a chance ask around if this is still needed or if there is a better place for it in the Kops code?

@justinsb
Copy link
Member

The guidance I got was that much of the functionality has moved to Node Problem Detector and we likely don't need the healthcheck itself any more. So I propose we get this in so we stop using it at least for containerd, , and maybe also add NPD support.

Given release timings I'm not sure if / how far we want to backport this. Probably not 1.16, maybe 1.17 (but maybe not).

We then have a choice: we can either actively stop using the healthcheck with docker, or we can nudge people towards containerd, effectively stopping the healthcheck in that way.

@hakman
Copy link
Member Author

hakman commented Jan 30, 2020

@justinsb I added some release notes for this. Seems something people should read about before upgrading. I don't have any plans to backport this to any release branch, unless you think it would be good to have it in 1.17 also.

Support for Node Problem Detector seems interesting and something we should support. Will look into it.

Not sure if I understand the last part of your last comment. Do you think I should change the default for the health check to be enabled for Docker?

@hakman hakman force-pushed the docker-healthcheck branch 3 times, most recently from f130aa5 to c837652 Compare February 7, 2020 15:56
@hakman
Copy link
Member Author

hakman commented Feb 7, 2020

@justinsb the last commit keeps the Docker "health-check" enabled for older versions of Kubernetes running on Debian distros (like the original behaviour). I think this should address the remaining concerns.
https://github.com/kubernetes/kops/pull/8221/files#diff-881677b9520c8452a2d4ce32dc41fdaaR1090

@hakman
Copy link
Member Author

hakman commented Feb 7, 2020

/retest

docs/releases/1.18-NOTES.md Outdated Show resolved Hide resolved
@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 15, 2020
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 21, 2020
Copy link
Member

@johngmyers johngmyers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@@ -34,6 +34,8 @@ type DockerConfig struct {
ExecRoot *string `json:"execRoot,omitempty" flag:"exec-root"`
// Experimental features permits enabling new features such as dockerd metrics
Experimental *bool `json:"experimental,omitempty" flag:"experimental"`
// HealthCheck enables the periodic health-check service
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit:

Suggested change
// HealthCheck enables the periodic health-check service
// HealthCheck enables the periodic health-check service.

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 8, 2020
@justinsb
Copy link
Member

Thanks @hakman for this, and sorry it took so long to approve

/approve
/lgtm

Looks like we might need a test-output regeneration though, I'm afraid.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 15, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hakman, justinsb

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 15, 2020
@hakman
Copy link
Member Author

hakman commented Mar 15, 2020

Thank you @justinsb. With this, the support for containerd should be pretty much done.

@k8s-ci-robot k8s-ci-robot added area/api area/documentation area/nodeup and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Mar 15, 2020
@rifelpet
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 15, 2020
@k8s-ci-robot k8s-ci-robot merged commit ba1d87e into kubernetes:master Mar 15, 2020
@k8s-ci-robot k8s-ci-robot added this to the v1.18 milestone Mar 15, 2020
@hakman hakman deleted the docker-healthcheck branch March 15, 2020 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/api area/documentation area/nodeup cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants