Clever Operator: The best of Kubernetes and Clever Cloud

kubernetes_clever_operator
You use Kubernetes in your usual workflow and you wish to keep it this way all while using Clever Cloud? We designed the Kubernetes Clever Operator for this exact purpose!

You use Kubernetes in your usual workflow and you wish to keep it this way all while using Clever Cloud?
We designed the Kubernetes Clever Operator for this exact purpose! You get to keep on using the tools you’re familiar with, while enjoying the performant features Clever Cloud provides, such as automatic scalability or monitoring tools.

Why a Clever Operator?

We began to work on the Clever Operator following feedbacks from some of our clients using k8s or Openshift who weren’t really satisfied about the database management solutions provided by these platforms. Then, we released this operator to answer these needs and now we are proud to announce you can even find it on Operator Hub! The Clever Operator is the best way for our customers to migrate from Kubernetes or Openshift to Clever Cloud managed solutions.

How does it work?

At Clever Cloud, we provide an HTTP API to interact with the managed services we expose. This API is located at api.clever-cloud.com. The Clever Operator works as an interface between the Kubernetes Apiserver and the Clever Cloud API. It exposes Clever Cloud’s add-ons through custom resource definition. For now, it can expose the following add-ons: PostgreSQL, Redis, MySQL, MongoDB and Pulsar.

The Clever Operator is compatible with k8s v1.21.0 or above, make sure to use one of these.

How to install it? Three steps to go:

  1. First, install the Clever Operator. Either build it from the source code on Github or use our docker image on Docker Hub.
image_docker_clever_operator
Clever Operator docker image on Docker Hub
  1. Then, configure it. It boils down to setting up CLEVER_OPERATOR_* environment variables. For example, you need to create a token to connect to the API.
clever_operator_environment_variables
Clever Operator environment variables
  1. Finally, create your custom resource definition. Here is a YAML example of what it looks like, for a PostgreSQL database:

apiVersion: api.clever-cloud.com/v1
kind: PostgreSql
metadata:
  namespace: default
  name: postgresql
spec:
  organisation: orga_xxxx
  options:
    version: 13
    encryption: false
  instance:
    region: par
    plan: s_sml

Once, the resource is created you could use the Secret created by the operator as a file directly mounted in your Pod or through environment variables. You have examples of how to do it through the examples folder or following those documentations “Using Secrets as Environment Variables” or “Using Secrets as Files from a Pod“.

Now you know how the Clever Operator works! We would be happy to have your feedback about this tool. Please feel free to create an issue here, for any suggestion of enhancement you might have.

Blog

À lire également

Deploy Brinjel on Clever Cloud

Brinjel is an open-source field management software designed for market gardeners, helping them plan seasons, track harvests, and optimize agricultural production. Created by and for market gardeners, it emphasizes an intuitive interface and features tailored to real-world needs.
Company

Simplify the management of Clever Cloud services via Kubernetes with our new operator

For the past two years, we've been enabling our customers to combine the ease of deployment of Clever Cloud with an existing Kubernetes infrastructure through an operator.
Engineering

Keycloak as a Service: identity management without the complexity

Ensuring identification and access management (IAM) in an application is a challenge that is as strategic as it is complex. But beyond the initial configuration, it is the maintenance, updates and supervision of the solution that most mobilise your teams. What if you could concentrate on your applications... while a managed solution took care of the rest?
Company