I have a single node (1GB/1vCPU) cluster that I run some very low-traffic stuff on.
I loved DO because for I could keep my hosting costs (on k8s) to about $25 ($12 for ingress/$12 for the node, and whatever for storage) – amazing.
Recently I had to upgrade to 1.23.10-do.0 – the upgrade was forced, but no big deal. However, when the upgrade finished the CPU requests exceeded the available CPU.
kubectl describe nodes, I get (this text is edited for simplicity):
... Allocatable: cpu: 900m ... Name CPU ---- ---- ingress-nginx-controller-7868b8f99b-7g8lp 100m cilium-ng6ww 310m cilium-operator-c9bf9575f-dtmfc 100m coredns-d4c49d69-dwvx9 100m coredns-d4c49d69-zlj79 100m cpc-bridge-proxy-d22g9 100m do-node-agent-z6p2v 102m
So, in the base deployment alone we have 912 CPU requested of an available 900. In its infinite wisdom, kubernetes decided the ingress controller was the best pod to keep down, so everything was effectively down.
To fix it, i manually lowered the CPU request for ingress to 50, but I am no concerned the base offering will not work after upgrade going forward. I expect I’ll have to make a manual correction after every future upgrade.
Is there a “hands off” approach to fixing this? Without doubling my hosting costs I can’t get a system that offers enough CPU to meet the reservation requests on the base offering.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.