A huge benefit of using containers is that they take care of most of your configuration management needs. However, managing the sprawl of your containers across hosts in your cloud environment or data center can be challenging. Orchestration technologies such as Kubernetes have been adopted to solve these problems.
But Kubernetes itself can be difficult to configure, manage and maintain in production. Cloud providers have recognized this and a whole host of managed Kubernetes services have cropped up to address this challenge. Oracle released Oracle Container Engine for Kubernetes (OKE) last May. However, while the control plane is managed by Oracle, resources still need to be configured on the data plane manually to support instantiation. A great way to do this in an automated manner is by taking advantage of an infrastructure provisioning tool.
At Oracle Cloud Infrastructure (OCI), our infrastructure provisioning tool of choice is Terraform. Terraform allows the user to manage, version and save “infrastructure as code”. The code is stored as modules and is converted by resource specific providers into API instructions (commands).
We are proud to announce that we are open sourcing a module for the creation of all the necessary resources to deploy Oracle Container Engine for Kubernetes (OKE) on Oracle Cloud Infrastructure. In addition to required resources, this module includes: an optional installation of Calico for network policy, choice of node pool topology, optional NAT gateway, and more.
Special thanks to Ali Mukadam for designing and developing this module. Please take the new module for a spin and let us know what you think on GitHub!