Adding OCI Service Operator for Kubernetes to Clusters

The OCI Service Operator for Kubernetes (OSOK) is an open source Kubernetes add-on that enables you to create, manage, and connect to Oracle Cloud Infrastructure resources (such as the Autonomous Database service and the MySQL Database service) using the Kubernetes API and Kubernetes tooling. Having installed the OCI Service Operator for Kubernetes, you can perform actions on Oracle Cloud Infrastructure resources using the Kubernetes API, without having to use the Oracle Cloud Infrastructure Console, CLI, or other developer tools. As a result, you can manage Oracle Cloud Infrastructure resources the same way you manage Kubernetes applications, reducing complexity and management overhead.

OCI Service Operator for Kubernetes is built using the open source Operator Framework toolkit. The Operator Framework manages 'Kubernetes native applications' called Operators, in an effective, automated, and scalable way. An Operator implements and automates common activities in a piece of software running inside a Kubernetes cluster, by integrating natively with Kubernetes concepts and APIs. Operator Framework components include:

OCI Service Operator for Kubernetes enables you to provision and integrate with the following Oracle Cloud Infrastructure services:

  • Autonomous Database (specifically Autonomous Transaction Processing, Autonomous Data Warehouse), which provides automated patching, upgrades, and tuning. Autonomous Database can perform all routine database maintenance tasks while the system is running, without human intervention.
  • MySQL Database, which provides a fully managed database service for developing and deploying secure cloud native applications using the popular MySQL open source database.
  • Streaming, which provides a fully managed, scalable, and durable solution for ingesting and consuming high-volume data streams in real-time.

You can add OCI Service Operator for Kubernetes to clusters you've created with Oracle Cloud Infrastructure Container Engine for Kubernetes to interact with the Oracle Cloud Infrastructure services listed above. Having added OCI Service Operator for Kubernetes to a cluster, you don't have to manually provision and de-provision the services each time you deploy or un-deploy an application on the cluster. Instead, you interact with the services by using kubectl to call the Operator Framework APIs implemented by OCI Service Operator for Kubernetes.

OCI Service Operator for Kubernetes is packaged as an Operator Lifecycle Manager (OLM) bundle to make it easy to install on Kubernetes clusters. The bundle contains all the required objects and definitions to install OCI Service Operator for Kubernetes on a cluster (such as CRDs, RBACs, configmaps, and deployments).

For more information about OCI Service Operator for Kubernetes, see the OCI Service Operator for Kubernetes documentation in the Github repository.

Adding OCI Service Operator for Kubernetes to a Cluster

To add OCI Service Operator for Kubernetes to a cluster, follow the detailed instructions in the OCI Service Operator for Kubernetes documentation in the Github repository.

For convenience, here's a high-level summary of the steps involved:

  1. Install OCI Service Operator for Kubernetes. During this step, you will typically:

    For more information, see the OCI Service Operator for Kubernetes documentation in the Github repository.

  2. Secure OCI Service Operator for Kubernetes. During this step, you will typically:
    • Set up an Oracle Cloud Infrastructure user for use by OCI Service Operator for Kubernetes.
    • Set up appropriate policies to control access to resources (according to the Oracle Cloud Infrastructure services to be used).
    • Protect sensitive values by creating secrets.

    The security configuration to choose will depend on your particular requirements. For more information, see the OCI Service Operator for Kubernetes documentation in the Github repository.

  3. Provision and bind to the required Oracle Cloud Infrastructure services. During this step, you will typically:
    • Provide service provision request parameters.
    • Provide service binding request parameters.
    • Provide service binding response credentials.

    The security configuration to choose will depend on your particular requirements. For more information, see the OCI Service Operator for Kubernetes documentation in the Github repository.