Oracle Cloud Enhanced OKE Clusters vs Basic OKE Clusters
Are the Extra Features Worth the Investment?
Recently I was browsing through my personal Oracle account and noticed that something on my OKE page had changed. A button saying “Upgrade to Enhanced Cluster” was now showing. I don’t remember ever seeing that before.
So naturally, I upgraded my cluster to an “enhanced” cluster. I really did not give it a second thought, nor did I do any sort of due diligence. I just clicked that button and thought to myself, let me test this out before deploying this at my day job.
This morning I logged into my Oracle account and saw that my bill was now over $6.00!
Now look, I take advantage of a very lucrative offer that I talked about in an earlier post. I have been able to keep my cloud bill under $1.00 for the last few months because I only use the VM.Standard.A1.Flex shape for my compute instances. Since I am using less than the free 4 OCPUs and 24 GB of memory, I am only paying for two load balancers. One load balancer is my Traefik service, and the other is my Argo CD service.
I was therefore surprised that my cloud bill had ballooned so much in one day. I realized that apparently upgrading your OKE cluster to an “enhanced” cluster, brings some extra costs. So I decided to break those new costs down and dive deeper into this new offering from Oracle.
Let’s first go over what you are missing when using a OKE Basic cluster:
Basic clusters do not support some of the features supported by enhanced clusters:
Virtual node pools
Fine-grained cluster add-on deployment and configuration
Workload identity
Increased numbers of worker nodes
Financially-backed service level agreement (SLA)
~ docs.oracle.com
So, what is a virtual node pool?
Virtual nodes provide a serverless Kubernetes experience, enabling you to run containerized applications at scale without the operational overhead of managing, scaling, upgrading, and troubleshooting the node infrastructure. Virtual nodes provide granular pod-level elasticity and pay-per-use pricing. As a result, you can scale deployments without taking into consideration the cluster's capacity, simplifying the execution of scalable workloads such as high-traffic web applications and data-processing jobs. You create virtual nodes by creating virtual node pools in enhanced clusters.
~ docs.oracle.com
Ah! I think this would be outstanding for a large corporation who doesn’t want to worry about maintaining servers and who only needs to get containers running somewhere. This is actually a really cool feature and I think it is the next natural step when it comes to advancing Kubernetes.
However, for my use case, I do not need to worry about capacity. I run two simple html websites in my cluster. I can do just fine with a small node (that runs on the VM.Standard.A1.Flex shape so it’s free).
I decided to do some cost analysis to see why the enhanced cluster cost more.
If there is one thing that all cloud providers do well, it is hiding costs from customers. It is very hard to zero in on exactly what you will be paying (Oracle has a pretty good tool by industry standards).
Let’s first look at how much it would cost to spin up a basic cluster with 3 nodes (my current setup):
Three A1 nodes = 3x(OCPU) + 3x(6GB RAM) + 3x(50GB BV) = $6.00
Oracle fails to mention that the first 200 GB of BV is free so this is essentially a free cluster.
Let’s now look at the same setup except the cluster is now enhanced:
Three A1 nodes = 3x(OCPU) + 3x(6GB RAM) + 3x(50GB BV) = $74.40
Wow, the enhanced cluster feature adds about $25 per month per node to my bill.
Let’s finally look at the enhanced virtual node pool cluster (as a note, the do not allow the A1 shape to be used):
Significantly more money than the basic cluster.
To make a long story short, it seems that Oracle is charging around $25 a month per node when you switch to their enhanced cluster type. I can’t justify that cost, but I am sure that some larger companies can especially those interested in having a financially-backed service level agreement (SLA).
TLDR; Do your due diligence before clicking random buttons.
Cheers,
Joe









is it possible to create loadbancers from basic cluster? using kubernetes manifests?
Glad I found your post before I hit the 'Upgrade' button. Thanks for the information.