One Chart to Rule Them All

With the release of Couchbase Autonomous Operator 2.0, the Couchbase Operator and Cluster charts have been consolidated into a single chart.  This streamlined approach means it’s now possible to install Autonomous Operator, Admission Controller, Couchbase Cluster, and Sync Gateway with a single command.

Improved CustomResource Installation

The new Couchbase Chart now installs all of the CustomResourceDefinitions (CRDs) that are managed by the Autonomous operator. This is an improvement to the previous release which required users to install the CRD’s as a separate step prior to installing the Couchbase Chart.

 

Getting Started

To quickly deploy the admission controller and Operator, as well as a Couchbase Server cluster:

    Add the couchbase chart repository to helm:

    Install the Chart:

See Couchbase Helm Documentation for more information about customizing and managing your charts.

Prerequisites

Throughout this blog, we’ll use example charts from the Couchbase Partners github repository.  Before proceeding, let’s clone the repo:

Also, Helm 3.1+ is required when installing the official Couchbase Helm Chart.

Follow Helm’s official steps for installing on your particular operating system.

Monitoring with Prometheus

Couchbase server metrics can be exported to Prometheus and organized into various dashboards within Grafana.  Helm makes it very easy to get started with a Couchbase-Prometheus stack since it’s possible to bundle several components into a single chart.

The monitoring chart has dependencies for Prometheus and Grafana, and since we’re installing directly from a github repository, the first step is to build the chart:

Now the chart is ready to be installed.  The following command creates a Couchbase Cluster with each node exporting metrics to Prometheus:

The install returns some information about managing the chart along with commands to run for viewing the grafana dashboard. You should see:

Run the port-forward command for Grafana to view the Couchbase Metrics:

Now open http://localhost:3000  and log in as admin:admin.  Click on the Couchbase link in the dashboards sections:

helm dashboard

couchbase in grafana

Change the time range from 6 hours to 5 minutes.  This helps to visualize updates that occur within the first few minutes of monitoring:

grafana-5min-range

 Now populate the cluster with the sample travel data:

You should see set operations along with the number of items increasing in the Dashboard. Refer to the Couchbase Exporter repository to discover additional statistics that can be added for further customizing the dashboard.

What Next

Additional tutorials and blogs exists have been written by Daniel Ma.

Also, check out the documentation for the Couchbase Helm Chart to see additional ways Couchbase can be customized for your deployment.

 

Acknowledgments

Thanks to Daniel Ma & Matt Ingenthron for contributing to this post.

Author

Posted by Tommie McAfee

Sr. Software Engineer for the Couchbase Cloude Native Team.

2 Comments

  1. Hi Tommie, Thanks for sharing this

    In your view, what would be the key metrics to monitor for auto/manual scaling of couchbase cluster, especially in a cloud env.

    Regards

  2. Tommie McAfee July 22, 2020 at 1:10 pm

    Thanks Purav,

    The answer really varies on what your application objectives are, but in general it’s always good to check bucket quota % used. When that value approaches 80% or the high-water marks the cluster will begin ejecting items to disk which will lead to fetches that can cause latency.
    For query workloads, you could collect stats and calculate the 99th percentile value of long-running queries as an indication of performance issues.

Leave a reply