-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Kernel throttling bug patch in kops node images #8954
Comments
Issue is there in kops image
This was used to do the analysis. Note: all are with 1000 iterations
We should not have got throttled with which sleeps between iterations, container will un-necessarily getting throttled. |
@alok87 Is there a fix for this in the Debian Stretch official repo or images? |
not sure. how to find out? |
You should be able to find out by doing all the updates, including kernel and rebooting before the testing. BTW, distros with older kernels have other bugs also, quite many I would say. Another example is this one: awslabs/amazon-eks-ami#357. I proposed using Debian Buster or Ubuntu 20.04 in the near future instead of Debian Stretch. Not sure what the policy is for upgrading default images for active releases though. |
Does the Debian buster or Ubuntu 20.04 has the bug fixed? Should we move to these images? Does the node images needs to be custom build for Kubernetes? |
Ubuntu 20.04 should have these all fixed. I am not sure how many made it to Debian Buster. You can get an idea about how the default images are created and what they contain here: |
thanks @hakman let me explore these options and hope to see the kops one upgrade to these since they have many issues fixed. |
You're welcome. Ubuntu 20.04 support will come with the next releases hopefully this week. |
You mean Ubuntu 20.04 support in kops for ubuntu 20.04 release? |
Upgraded kernel to 4.19, throttling is not reproducible. It has the patch i guess 🥳
docker run --rm -it --cpu-quota 20000 --cpu-period 100000 -v
|
One thing you forgot to mention is that this is from backports, not regular updates.
|
May be then we should move to Debian Buster or Ubuntu 20.04 as you proposed.
|
@hakman do you have the yamls like these for debian buster or ubuntu 20.04 ? |
no, but should be very similar to the stretch one or buster one from here kubernetes-sigs/image-builder#205. |
I have been trying to track the distribution of this patch as best I can, but have not been completely successful. So far, my best information is that
Since buster is the current stable release, I would recommend updating the AMI to the current Debian buster, which is 10.3. |
@Nuru you can try this out: I have built the Debian Buster(10.3) AMI using ImageBuilder
|
if you are fine with some minimal nftable mixed with legacy iptables and all your pods supports nftables, Buster will work. |
One good news is that Ubuntu 20.04 support will be available in Kops 1.16.2: 1938652. |
We reverted from Debian Buster/kernel 4.19 to the kops 4.9 debian stretch. As we were facing a lot of issues in the nodes after upgrading. Here is the slack discussion about it. Process @hakman Will the Ubuntu20.04 support come for k8s 1.15?
|
@alok87 there is no check for minimum k8s version for Ubuntu 20.04. |
@alok87 If the 4.19 kernel has issues, can you use the 4.14 kernel? It has the appropriate kernel patches as of kernel version v4.14.154. I thought it was shipping in Debian Stretch-Backports at some point. |
Thanks @Nuru |
Hi, |
Not yet. But kops supports running Ubuntu 20.04, and support for Debian Buster is underway. |
Please use |
I will wait until official kops image - for now i'll remove CPU limits as i use Brustable QoS anyway. Any idea how to protect some system/k8s resources so those always have an access to CPU? I'm wondering what will be impact if all the CPU on the node is being used. |
@jdomag without limits, I think your best best is to set requests for your system processes at the level where it should be always or almost always enough. |
There are no immediate plans to build an official Kops image with Ubuntu 20.04. |
@hakman Is it possible to use Ubuntu 20.04 image for older k8s version clusters? I am using Kops 1.17 with k8s version: 1.14.10. |
@prashantkalkar you can use Ubuntu 20.04 by manually setting the image for each instance group: Line 47 in e323f18
|
Thanks will use. |
@hakman Unfortunately ubuntu image did not work for me when I tried. The kop-configuration service and the kubelet service both were failing due to the absence of docker. kops-configuration service was failing with the message:
and docker-healthcheck.service was also failing with message:
Let me know if I need to submit a separate issue. |
Please do. Thanks. |
A new issue is submitted here: #9574 |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
kOps started using unmodified Ubuntu 20.04 images as default as of 1.18. |
@hakman: Closing this issue. In response to this:
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. |
What?
Linux Kernel has a bug in which un-necessary CPU throttling happens due to the bug in Kernel.
KernelBug: https://bugzilla.kernel.org/show_bug.cgi?id=198197
KubernetesIssue: kubernetes/kubernetes#67577
Many of us use kops default node images and have been experiencing problems due to un-necessary CPU throttling in our pods.
Please suggest if the latest kops node images has the kernel patch which has the fix for CPUThrottling. If not then can we bring this patch to these node images please.
Node Images
cc @Nuru @justinsb
The text was updated successfully, but these errors were encountered: