Prerequisites and System Requirements

    +
    The Autonomous Operator supports several popular Kubernetes environments and cloud-native utilities.

    To install the Couchbase Autonomous Operator, all you need is a Kubernetes or OpenShift cluster running one of the compatible versions listed below.

    For all supported software versions listed on this page, maintenance/patch releases (x.x.X) inherit the same support level, unless noted otherwise.

    Couchbase Compatibility

    This release supports the deployment of the following Couchbase software:

    Software Version

    Couchbase Server Enterprise Edition

    6.5.1+, 6.6

    The following diagram depicts Couchbase Server compatibility with the Operator for this, and previous releases, and can be used to calculate upgrade paths:

    Couchbase Server Compatibility

    compatibility server

    Couchbase Backup and Restore Compatibility

    This release supports the following container images for managed backup and restore of Couchbase clusters:

    Container Image Backup Utility Backup From and Restore To

    Couchbase Server 6.6—​5.5

    The following diagram depicts Operator Backup image compatibility with all supported Couchbase Server versions, you should consider this when upgrading Couchbase Server:

    Operator Backup Compatibility

    compatibility backup

    Couchbase Fluent Bit Compatibility

    This release supports the following versions of the Couchbase Fluent Bit image for log forwarding:

    Couchbase Operator Version Supported Couchbase Fluent Bit Versions

    2.2.0

    1.0.0 - 1.0.4

    2.2.1

    1.0.0 - 1.0.4, 1.1.0

    Operator Fluent Bit Compatibility

    compatibility fluentbit

    Kubernetes Compatibility

    This release supports the following Kubernetes platforms:

    Platform Version

    Open Source Kubernetes

    1.17, 1.18, 1.19, 1.20, 1.21

    Red Hat OpenShift Container Platform

    4.4, 4.5, 4.6, 4.7

    The following diagrams depict Couchbase Operator compatibility with Kubernetes and OpenShift platforms, and can be used to calculate upgrade paths:

    Kubernetes Compatibility

    compatibility kubernetes

    Red Hat OpenShift Compatibility

    compatibility openshift

    Managed Kubernetes Compatibility

    This release supports the following managed Kubernetes services and utilities:

    • Amazon EKS

    • Google GKE

    • Microsoft AKS

    • Rancher

    Persistent Volume Compatibility

    Persistent volumes are mandatory for production deployments. Review the Autonomous Operator best practices for more information about cluster supportability requirements.

    This release supports the following persistent volume provisioners:

    CPU and Memory Requirements

    It is highly recommended that your Couchbase clusters are deployed with some form of memory resource request in order to ensure fair scheduling of workloads and to ensure resources are available to meet basic service levels.

    You can set all resource allocations yourself explicitly, however for new users to the platform we recommend using auto resource allocation. Using this feature will require:

    • 2 CPUs per Couchbase pod by default.

    • 512MiB of memory per pod for each of the Data, Index, Search, and Eventing Services that are enabled. 1GiB of memory per pod if the the Analytics Service is enabled. An additional 25% memory overhead on top of the memory requirements for each service. For a typical development cluster where all services are enabled, this would equal 3.75GiB.

    You can read more about pod scheduling in the best practices documentation.

    RBAC and Networking Requirements

    Preparing the Kubernetes cluster to run the Operator may require setting up proper RBAC and network settings in your Kubernetes cluster. Before moving forward, review the following documentation:

    Next Steps

    As you’re setting up your Kubernetes environment, make sure that you’re following the recommended best practices.

    Once your Kubernetes environment is set up, you can move on to installing the admission controller and the Operator.