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

Document kernel requirements #7528

Closed
benmccann opened this issue Apr 29, 2015 · 19 comments
Closed

Document kernel requirements #7528

benmccann opened this issue Apr 29, 2015 · 19 comments
Assignees
Labels
kind/documentation Categorizes issue or PR as related to documentation. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. priority/awaiting-more-evidence Lowest priority. Possibly useful, but not yet enough support to actually get it done. sig/node Categorizes an issue or PR as relevant to SIG Node.

Comments

@benmccann
Copy link

From @thockin:

@benmccann We don't have a stated policy on kernel compat. for now it's pretty much "whatever docker supports". We should solidify that.

Here's what I found in the Docker docs:

Additionally, your kernel must be 3.10 at minimum. The latest 3.10 minor version or a newer maintained version are also acceptable. Kernels older than 3.10 lack some of the features required to run Docker containers. These older versions are known to have bugs which cause data loss and frequently panic under certain conditions.

Some of the networking stuff is substantially cleaner if we can assume kernel 3.6, which I would like.

CC @dchen1107 @rjnagal @ghodss @justinsb

@ghost
Copy link

ghost commented Apr 29, 2015

Surely, pragmatically speaking, the answer is currently bounded by the kernel versions supported by Docker, i.e. >= 3.10. We can't support Kubernetes on top of kernel version which are known to be unstable and unsupported w.r.t. Docker. That also simplifies our networking, which ideally requires >=3.6. Is there anything more to discuss here?

Of course we could theoretically consider supporting kernel versions earlier than 3.10 on containers other than Docker (e.g. Rocket), but unless there's pretty solid requirement for that, I'd say no.

@cjcullen cjcullen added priority/awaiting-more-evidence Lowest priority. Possibly useful, but not yet enough support to actually get it done. sig/node Categorizes an issue or PR as relevant to SIG Node. team/cluster labels Apr 29, 2015
@a-robinson
Copy link
Contributor

+1 to @quinton-hoole

@sidharta-s
Copy link
Contributor

Docker kernel requirements seem to vary by distro. For example, see : http://docs.docker.com/installation/centos/ . CentOS/RHEL 6 are still popular/widely deployed.

@justinsb
Copy link
Member

Also, it might be that the sysctl that is only available on >=3.6 doesn't in fact solve all the problems I thought it would. So we probably shouldn't let that influence the decision. @thockin's understanding is much better here.

From @sidharta-s link, It looks like CentOS backported the kernel fixes that Docker needs to the 2.6 kernel that is part of CentOS 6.5.

@ghost
Copy link

ghost commented Apr 30, 2015

Aah, my oversight in not reading the docker support docs properly. The restriction to kernel >=3.10 only applies to Ubuntu. For Centos RHEL the restriction is >= 2.6.32-431 . I wonder how much of the stock kernel 3.6 and beyond has been back-ported to Centos/RHEL kernel 2.6.32-431? Last I looked (which was quite a few years ago, admittedly), many of the Centos/RHEL 2.6.x kernels were that version in name only, but included large back-ported chunks of later stock kernels. e.g. can anyone confirm whether or not the sysctl changes that justinsb@ mentions above and that are in the >=3.6 stock kernel have been back-ported to RHEL 2.6.32-431?

@ghost
Copy link

ghost commented May 4, 2015

Sadly, kernel support in this regard is not easily detected - how can we
detect a back port? And worse, we would like to be able to assume modern
tools (up tables binary, for example) but can't.

CentOS 6 FTW!
On Apr 29, 2015 5:09 PM, "Quinton Hoole" notifications@github.com wrote:

Aah, my oversight in not reading the docker support docs properly. The
restriction to kernel >=3.10 only applies to Ubuntu. For Centos RHEL the
restriction is >= 2.6.32-431 . I wonder how much of the stock kernel 3.6
and beyond has been back-ported to Centos/RHEL kernel 2.6.32-431? Last I
looked (which was quite a few years ago, admittedly), many of the
Centos/RHEL 2.6.x kernels were that version in name only, but included
large back-ported chunks of later stock kernels. e.g. can anyone confirm
whether or not the sysctl changes that justinsb@ mentions above and that
are in the >=3.6 stock kernel have been back-ported to RHEL 2.6.32-431?


Reply to this email directly or view it on GitHub
#7528 (comment)
.

@ghost
Copy link

ghost commented May 14, 2015

For detecting backports, I have in the past used runtime detection of kernel compile flags:

http://stackoverflow.com/questions/14376540/view-linux-kernel-config-options

In that case it worked pretty well, but we'd have to check how well we can detect what we're looking for in this case.

@BenTheElder
Copy link
Member

We probably also need requirements for some packages/utilities like iptables? (3760).

In general there doesn't seem to be much documentation about requirements for running kubernetes, though the code seems to try to stay back-compatible when possible.

@jdef
Copy link
Contributor

jdef commented May 14, 2015

xref mesosphere/kubernetes-mesos#277

@bgrant0607 bgrant0607 added the kind/documentation Categorizes issue or PR as related to documentation. label May 18, 2016
@fejta-bot
Copy link

Issues go stale after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 15, 2017
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle rotten
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 14, 2018
@dankohn
Copy link
Contributor

dankohn commented Jan 22, 2018

Could anyone please definitively state the minimum Linux kernel version that will definitely work with Kubernetes 1.9?

@idvoretskyi
Copy link
Member

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Jan 22, 2018
@idvoretskyi
Copy link
Member

/assign

@timothysc
Copy link
Member

EL7.4 - kernel(s) are the lower bound.

@dankohn
Copy link
Contributor

dankohn commented Jan 25, 2018

@timothysc RHEL 7.4 uses the 3.10 kernel.

https://access.redhat.com/articles/3078#RHEL7

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 14, 2018
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 14, 2018
@fejta-bot
Copy link

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/documentation Categorizes issue or PR as related to documentation. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. priority/awaiting-more-evidence Lowest priority. Possibly useful, but not yet enough support to actually get it done. sig/node Categorizes an issue or PR as relevant to SIG Node.
Projects
None yet
Development

No branches or pull requests