Size an OKE node pool against pod CPU, memory and the 110-pods-per-node ceiling, then price basic against enhanced clusters.
Node count is decided by whichever of three limits bites first: aggregate CPU requests, aggregate memory requests, or the hard ceiling of 110 pods per node. The system reservation matters because kubelet, the CNI and daemon sets consume capacity on every node before a single workload pod is scheduled. Clusters full of tiny pods hit the 110-pod ceiling long before they run out of CPU, which means you pay for idle cores unless you use smaller nodes — and knowing which constraint binds tells you whether to change node shape or pod requests. The basic cluster control plane is free, so the enhanced tier only makes sense when you need its extra features. Confirm the cluster and compute rates in the Oracle Cloud cost estimator for your region.
OCI Kubernetes Engine (OKE)
nodes = max(ceil(total pod OCPU ÷ usable OCPU per node), ceil(total pod memory ÷ usable memory per node), ceil(pods ÷ 110)), where usable capacity is the node size less the system reservation.
nodes = max(ceil(total pod OCPU ÷ usable OCPU per node), ceil(total pod memory ÷ usable memory per node), ceil(pods ÷ 110)), where usable capacity is the node size less the system reservation. Node count is decided by whichever of three limits bites first: aggregate CPU requests, aggregate memory requests, or the hard ceiling of 110 pods per node. The system reservation matters because kubelet, the CNI and daemon sets consume capacity on every node before a single workload pod is scheduled.
Clusters full of tiny pods hit the 110-pod ceiling long before they run out of CPU, which means you pay for idle cores unless you use smaller nodes — and knowing which constraint binds tells you whether to change node shape or pod requests. The basic cluster control plane is free, so the enhanced tier only makes sense when you need its extra features. Confirm the cluster and compute rates in the Oracle Cloud cost estimator for your region.
This calculator takes 12 inputs: Pods to run, OCPU request per pod, Memory request per pod, OCPUs per worker node, Memory per worker node, Pod ceiling per node, Capacity reserved for system components, Cluster type, Enhanced cluster price per hour, Price per OCPU-hour, Price per GB-hour of memory, Billed hours per month. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.