![]() ![]() If the Requests (of either CPU or Memory) would exceed 100%, then the Pod cant be scheduled and goes into a Pending State. (Total limits may be over 100 percent, i.e., overcommitted.) You can check current status of nodes yourself by running the following command. When the Kubernetes Scheduler looks for a fitting Node to place a new Pod on it, it checks for the currently requested CPU and Memory of the Nodes. The main purpose of requests is to influence scheduling behavior. You can check by connecting to your Server and running htop or kubectl top like you did, and you see that even though you defined requests: memory: 64Gi only 244Mi are used. It is important to understand that request have no actual effect on the resource usage of containers. This is a great question and it also took me some time earlier this year to find out by experience. Obviously, I read the documentation and searched for different examples, but when I put things in practice I see test results different from the theory. I expected to reserve 40 vCPU to my container but during the deployment, I see insufficient CPU on the node when I run kubectl describe pod -n. I expect to enter something like this: resources: Show that the Pod runs with a Guarantee QoS and 64Gi of RAM for requested and limit.Īnother thing I don't understand is the CPU limit and requested. The same appears from K8s dashboard even if the result of: kubectl describe pod -n I got the following: NAME CPU(cores) MEMORY(bytes) Postgresql-deployment-5c98f5c949-q758d 2m 243MiĮven if I allocated the following to the PostgreSQL container: resources: However, once PostgreSQL was deployed I still see: NAME CPU(cores) MEMORY(bytes) K8s runs on Worker nodes with 48 vCPU and 192 Gb. Now I am trying to fine-tune CPU and memory. Then I compared VSI vs Kubernetes to understand the overhead added by K8s. First I compared Baremetal vs Virtual Machine and I got very small degradation. We need to migrate this infrastructure to Kubernetes (for several reasons) and I am doing some performance tests executed with PgBench. The cluster manages a very high workload and for this reason, it runs in production on bare metal machines. ![]() I have a PostgreSQL cluster with three nodes with Patroni. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |