Announcing release of Terraform OKE (Kubernetes) module 5.0 — Part 1

Ali Mukadam
Oracle Developers
Published in
3 min readNov 26, 2023
Photo by AbsolutVision on Unsplash

In the past 12 months, OKE (the managed Kubernetes service in Oracle Cloud) has added an amazing number of features. At the same time, OKE customers’ use cases have grown both in ambition, scale and complexity. In order to support both of these developments, we have re-engineered the Terraform OKE module based on the following themes:

  1. Flexibility
  2. Reusability
  3. Robustness

And we are pleased to have released Terraform OKE module v5. I’ll expand on the themes in this post before going into some of the salient new features that we have introduced in subsequent posts.

Flexibility

A distributed system such as Kubernetes has many configuration parameters and while a managed service like OKE handles the overwhelming amount of these, the number of use cases and workload variations our customers bring to our attention keeps increasing. As such, it is important we are able to support them on their journey towards cloud native and OCI. Read more about how we made the Terraform OKE module more flexible for your workloads.

Reusability

Our users deploy OKE clusters in a number of ways and it is important to help them get there as quickly and as reliably as possible. Those users would like to reuse the Terraform OKE module. However, they exist on a spectrum of reusability.

Some deploy small, isolated clusters within their own VCNs and thus need the entire infrastructure created for them. Others deploy large clusters in existing VCNs and subnets and only need part of the infrastructure.

Similarly, just as some like to provision the plain Kubernetes cluster only while building their own solutions on top, others like the extensions we added to make your daily grind as a Kubernetes admin slightly more enjoyable.

As such, it is important we support them. Thankfully for us, Terraform has greatly improved its module features recently, including allowing modules to be made conditional. Unlike in the past when we were limited by what Terraform could do, some of these limitations have now been addressed and we are now taking full advantage of this.

Read more about how we made the Terraform OKE module more reusable for your workloads.

Robustness

The very first commit had a small number of parameters. As the use cases and the resulting variations keep increasing, we have also had to add an increasing number of control parameters and we needed to have some sane defaults. At various points during the life of this module, we relied on convention, based on what we saw in the community and others we created for our own needs. However, there was also a need for to standardize and apply constraints and validations and Terraform was also improving in this aspect. Thus, similar to the previous other themes, we sought to use these enhancements and improve the robustness of the OKE module.

Read more about how we made the Terraform OKE module more robust for your workloads.

In the coming posts, I’ll elaborate on more of these and how we have improved the Terraform OKE module to meet your cloud native and Kubernetes use cases.

--

--