{"id":4563,"date":"2018-02-06T14:17:18","date_gmt":"2018-02-06T22:17:18","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4563"},"modified":"2025-06-13T19:28:26","modified_gmt":"2025-06-14T02:28:26","slug":"introducing-couchbase-operator","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/","title":{"rendered":"Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform &#8211; Beta Announcement!!"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4564\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/02\/Screen-Shot-2018-02-06-at-11.14.44-AM.png\" alt=\"\" width=\"968\" height=\"110\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-11.14.44-AM.png 968w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-11.14.44-AM-300x34.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-11.14.44-AM-768x87.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-11.14.44-AM-20x2.png 20w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Couchbase Operator enables you to run Couchbase deployments natively on <\/span><a href=\"https:\/\/kubernetes.io\/\"><span style=\"font-weight: 400\">Open Source Kubernetes<\/span><\/a><span style=\"font-weight: 400\"> or <\/span><a href=\"https:\/\/www.openshift.com\/container-platform\/index.html\"><span style=\"font-weight: 400\">Enterprise Red Hat OpenShift Container Platform<\/span><\/a><span style=\"font-weight: 400\">. <\/span><\/p>\n<p><span style=\"font-weight: 400\">The goal of the Couchbase Operator is to fully manage one or more Couchbase deployments by removing operational complexities of running Couchbase by automating the management of common Couchbase tasks such as the configuration, creation, upgrade and scaling of Couchbase clusters. <\/span><\/p>\n<p><span style=\"font-weight: 400\">By reducing the complexity of running a Couchbase cluster, it lets you focus on the desired configuration and not worry about the details of manual deployment and lifecycle management.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4565\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM-1024x456.png\" alt=\"\" width=\"900\" height=\"401\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM-1024x456.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM-300x133.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM-768x342.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM-1536x683.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM-1320x587.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-9.57.13-AM.png 1708w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<h2><span style=\"font-weight: 400\">What is Kubernetes Operator?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">An Operator is an application-specific controller that extends the Kubernetes API to create, configure and manage instances of complex stateful applications on behalf of a Kubernetes user. It builds upon the basic <\/span><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/extend-kubernetes\/api-extension\/custom-resources\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Kubernetes resource<\/span><\/a><span style=\"font-weight: 400\"> and controller concepts, but also includes domain or application-specific knowledge to automate common tasks better managed by computers. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Kubernetes Operators was introduced by the team at CoreOS and in their <\/span><a href=\"https:\/\/techcrunch.com\/2016\/11\/03\/coreos-introduces-operators-to-streamline-kubernetes-container-management\/\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">announcement<\/span><\/a><span style=\"font-weight: 400\">, CoreOS suggested Operators as a means to more efficiently manage database infrastructure. <\/span><\/p>\n<h2><span style=\"font-weight: 400\">How Does it Work?<\/span><\/h2>\n<p><span style=\"font-weight: 400\">The Couchbase Operator extends the Kubernetes API by creating a Custom Resource Definition(CRD) and registering a Couchbase specific controller (the Operator) to manage Couchbase clusters. <\/span><\/p>\n<p><span style=\"font-weight: 400\">The CRD allows you to define a configuration describing what a Couchbase cluster should look like. For example, a configuration might define a cluster with three nodes, one bucket, and 8GB of memory for the data service. Once the configuration is loaded into Kubernetes, the configuration is passed to the custom Couchbase controller which takes actions to ensure a Couchbase cluster with the specified configuration is provisioned. <\/span><\/p>\n<p><span style=\"font-weight: 400\">The controller can also detect updates to the configuration and reacts to changes that occur in the cluster itself. Like all Kubernetes standard built-in resources, the Couchbase Operator doesn\u2019t just manage a single Couchbase cluster but multiple Couchbase clusters across an entire Kubernetes deployment.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here is a sample configuration file for the <\/span><b>Couchbase Operator<\/b><span style=\"font-weight: 400\">:<\/span><\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: extensions\/v1beta1\r\nkind: Deployment\r\nmetadata:\r\n  name: couchbase-operator\r\n  namespace: default\r\nspec:\r\n  replicas: 1\r\n  template:\r\n    metadata:\r\n      labels:\r\n        name: couchbase-operator\r\n    spec:\r\n      containers:\r\n      - name: couchbase-operator\r\n        image: couchbase\/couchbase-operator:v1\r\n        env:\r\n        - name: MY_POD_NAMESPACE\r\n          valueFrom:\r\n            fieldRef:\r\n              fieldPath: metadata.namespace\r\n        - name: MY_POD_NAME\r\n          valueFrom:\r\n            fieldRef:\r\n              fieldPath: metadata.name\r\n        ports:\r\n          - name: readiness-port\r\n            containerPort: 8080\r\n        readinessProbe:\r\n          httpGet:\r\n            path: \/readyz\r\n            port: readiness-port\r\n          initialDelaySeconds: 3\r\n          periodSeconds: 3\r\n          failureThreshold: 19<\/pre>\n<p><span style=\"font-weight: 400\">And here is a sample configuration file for a <\/span><b>Couchbase cluster.<\/b><\/p>\n<pre class=\"lang:yaml decode:true\">apiVersion: couchbase.database.couchbase.com\/v1beta1\r\nkind: CouchbaseCluster\r\nmetadata:\r\n  name: cb-example\r\nspec:\r\n  baseImage: couchbase\/server\r\n  version: enterprise-5.0.1\r\n  authSecret: cb-example-auth\r\n  exposeAdminConsole: true\r\n  cluster:\r\n    dataServiceMemoryQuota: 256\r\n    indexServiceMemoryQuota: 256\r\n    searchServiceMemoryQuota: 256\r\n    indexStorageSetting: memory_optimized\r\n    autoFailoverTimeout: 30\r\n  buckets:\r\n    - name: default\r\n      type: couchbase\r\n      memoryQuota: 128\r\n      replicas: 1\r\n      ioPriority: high\r\n      evictionPolicy: fullEviction\r\n      conflictResolution: seqno\r\n      enableFlush: true\r\n      enableIndexReplica: false\r\n  servers:\r\n    - size: 3\r\n      name: all_services\r\n      services:\r\n        - data\r\n        - index\r\n        - query\r\n        - search\r\n      dataPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n      indexPath: \/opt\/couchbase\/var\/lib\/couchbase\/data<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\"><span style=\"color: #343e47;font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 60px\">What\u2019s available in Beta?<\/span><br \/>\n<span style=\"font-weight: 400\">To meet the goal of fully managing one or more Couchbase deployments on Kubernetes or OpenShift, this beta release comes with some of key capabilities:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Automated Cluster Provisioning<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Elastic Scalability<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Auto Recovery<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Logging<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Access to Couchbase Web Console<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Let\u2019s dive right in!<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Automated Cluster Provisioning<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Once the Couchbase cluster configuration \u201ccouchbase-cluster.yaml\u201d is defined, it can be pushed into your Kubernetes or OpenShift cluster with the command:. <\/span><\/p>\n<pre class=\"lang:default decode:true\">$ kubectl create -f\u00a0https:\/\/s3.amazonaws.com\/packages.couchbase.com\/kubernetes\/beta\/couchbase-cluster.yaml\r\ncouchbasecluster \"cb-example\" created<\/pre>\n<p><span style=\"font-weight: 400\">Or<\/span><\/p>\n<pre class=\"lang:default decode:true \">$ oc create -f https:\/\/s3.amazonaws.com\/packages.couchbase.com\/kubernetes\/beta\/couchbase-cluster.yaml\r\ncouchbasecluster \"cb-example\" created<\/pre>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\"><span style=\"color: #343e47;font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif;font-size: 50px\">Elastic Scalability<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400\">Based on the configuration, Couchbase cluster will be fully provisioned on Kubernetes cluster. <\/span><\/p>\n<p><span style=\"font-weight: 400\">You can elastically scale your cluster up or down by updating cluster configuration and pushing the changes to Kubernetes cluster with the command below.<\/span><\/p>\n<pre class=\"lang:default decode:true \">servers:\r\n\u00a0- size: 5\r\n\u00a0\u00a0\u00a0name: all_services\r\n\u00a0\u00a0\u00a0services:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0- data\r\n\u00a0\u00a0\u00a0\u00a0\u00a0- index\r\n\u00a0\u00a0\u00a0\u00a0\u00a0- query\r\n\u00a0\u00a0\u00a0\u00a0\u00a0- search<\/pre>\n<pre class=\"lang:default decode:true \">kubectl replace -f &lt;path to config&gt;\/couchbase-cluster.yaml<\/pre>\n<p><span style=\"font-weight: 400\">Or<\/span><\/p>\n<pre class=\"lang:default decode:true \">oc replace -f &lt;path to config&gt;\/couchbase-cluster.yaml<\/pre>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400\">Auto Recovery<\/span><\/h2>\n<p><span style=\"font-weight: 400\">The Couchbase Operator can detect node failures, rebalance out bad nodes, and bring the cluster back up to the desired capacity. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Auto recovery is completely automated including detection of failed node, auto-failover, removal of faulty node, replacing with new node and rebalancing new node to the cluster.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4568\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM-1024x270.png\" alt=\"\" width=\"900\" height=\"237\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM-1024x270.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM-300x79.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM-768x203.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM-1536x405.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM-1320x348.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.02-PM.png 1919w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4567\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM-1024x284.png\" alt=\"\" width=\"900\" height=\"250\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM-1024x284.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM-300x83.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM-768x213.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM-1536x426.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM-20x6.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM-1320x366.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.23-PM.png 1920w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-4566\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM-1024x276.png\" alt=\"\" width=\"900\" height=\"243\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM-1024x276.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM-300x81.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM-768x207.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM-1536x414.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM-1320x355.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-12.05.43-PM.png 1920w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<h2><span style=\"font-weight: 400\">Logging<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Supportability is one important aspect of this native integration ability to diagnose and troubleshoot problems with Couchbase cluster running Kubernetes or OpenShift platforms. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Read more about how to capture full deployment logs, Couchbase Operator logs and Couchbase Server logs <\/span><a href=\"https:\/\/docs.couchbase.com\/operator\/current\/concept-couchbase-logging.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">here<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Access to Couchbase Web Console or CLI<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Each platforms provides you with Deployment Dashboard &#8211; <\/span><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/access-application-cluster\/web-ui-dashboard\/\"><span style=\"font-weight: 400\">Kubernetes Web UI<\/span><\/a><span style=\"font-weight: 400\"> or <\/span>OpenShift Origin Web Console<span style=\"font-weight: 400\"> but for database administrator or database developer they need access to Couchbase Web Console or CLI. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Read more how to get access to Couchbase Web Console and CLI <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/manage\/manage-ui\/manage-ui.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">here<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Ready to check out the Beta?<\/span><\/h2>\n<ul>\n<li><span style=\"font-weight: 400\">It is easy to get your hands on the beta by following steps under <\/span><a href=\"https:\/\/docs.couchbase.com\/operator\/current\/install-kubernetes.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">Prerequisites and Setup<\/span><\/a><span style=\"font-weight: 400\"> to deploy Couchbase Operator on Kubernetes or OpenShift platform.\u00a0<\/span><\/li>\n<li>Link\u00a0 to Dockerfile\n<ul>\n<li>Couchbase Server &#8211;\u00a0<a href=\"https:\/\/hub.docker.com\/_\/couchbase\/\">https:\/\/hub.docker.com\/_\/couchbase\/\u00a0<\/a><\/li>\n<li>Couchbase Operator &#8211;\u00a0<a href=\"https:\/\/hub.docker.com\/r\/couchbase\/k8s-operator\/\">https:\/\/hub.docker.com\/r\/couchbase\/k8s-operator\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">If you have any questions, comments, or additional feedback, leave a comment below or post on <\/span><a href=\"https:\/\/www.couchbase.com\/forums\/\"><span style=\"font-weight: 400\">https:\/\/www.couchbase.com\/forums\/<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Couchbase Operator enables you to run Couchbase deployments natively on Open Source Kubernetes or Enterprise Red Hat OpenShift Container Platform. The goal of the Couchbase Operator is to fully manage one or more Couchbase deployments by removing operational complexities of [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1810,1816,1820],"tags":[1519,1545,2138,2022],"ppma_author":[8952],"class_list":["post-4563","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-mobile","category-couchbase-server","category-golang","tag-docker","tag-kubernetes","tag-kubernetes-operator","tag-openshift"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introducing Couchbase Operator - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"See what is Kubernetes Operator and how does it work. Learn more about the features that are included in the Couchbase Kubernetes Operater Beta version.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform - Beta Announcement!!\" \/>\n<meta property=\"og:description\" content=\"See what is Kubernetes Operator and how does it work. Learn more about the features that are included in the Couchbase Kubernetes Operater Beta version.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-02-06T22:17:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:28:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-11.14.44-AM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"968\" \/>\n\t<meta property=\"og:image:height\" content=\"110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@anilkumar1129\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/\"},\"author\":{\"name\":\"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/ed8c1d98490712a9c8fd5a9e066c61db\"},\"headline\":\"Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform &#8211; Beta Announcement!!\",\"datePublished\":\"2018-02-06T22:17:18+00:00\",\"dateModified\":\"2025-06-14T02:28:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/\"},\"wordCount\":682,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"docker\",\"kubernetes\",\"kubernetes operator\",\"openshift\"],\"articleSection\":[\"Couchbase Mobile\",\"Couchbase Server\",\"GoLang\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/\",\"name\":\"Introducing Couchbase Operator - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-02-06T22:17:18+00:00\",\"dateModified\":\"2025-06-14T02:28:26+00:00\",\"description\":\"See what is Kubernetes Operator and how does it work. Learn more about the features that are included in the Couchbase Kubernetes Operater Beta version.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform &#8211; Beta Announcement!!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/ed8c1d98490712a9c8fd5a9e066c61db\",\"name\":\"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/86e4570d5755b073087333983950b3a0\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7a4ec23feb4ba1eed5342b1010841d36c47c1f330c26d85b3b8340b8f89ea3d7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7a4ec23feb4ba1eed5342b1010841d36c47c1f330c26d85b3b8340b8f89ea3d7?s=96&d=mm&r=g\",\"caption\":\"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database\"},\"description\":\"Anil Kumar is the Director of Product Management at Couchbase. Anil\u2019s career spans more than 19+ years of building software products across various domains, including enterprise software and cloud services. He is a hands-on product leader responsible for Couchbase Server, Couchbase Cloud, and Kubernetes product lines, including evangelizing the product strategy and vision with customers, partners, developers, and analysts. Before joining Couchbase, Anil spent several years working at Microsoft Redmond. Anil holds a master\u2019s degree in computer science from the University of Toronto (Canada) and a bachelor\u2019s in information technology from Visvesvaraya Technological University (India).\",\"sameAs\":[\"https:\/\/x.com\/@anilkumar1129\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/anil-kumar\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing Couchbase Operator - The Couchbase Blog","description":"See what is Kubernetes Operator and how does it work. Learn more about the features that are included in the Couchbase Kubernetes Operater Beta version.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/","og_locale":"en_US","og_type":"article","og_title":"Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform - Beta Announcement!!","og_description":"See what is Kubernetes Operator and how does it work. Learn more about the features that are included in the Couchbase Kubernetes Operater Beta version.","og_url":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-02-06T22:17:18+00:00","article_modified_time":"2025-06-14T02:28:26+00:00","og_image":[{"width":968,"height":110,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/02\/Screen-Shot-2018-02-06-at-11.14.44-AM.png","type":"image\/png"}],"author":"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database","twitter_card":"summary_large_image","twitter_creator":"@anilkumar1129","twitter_misc":{"Written by":"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/"},"author":{"name":"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/ed8c1d98490712a9c8fd5a9e066c61db"},"headline":"Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform &#8211; Beta Announcement!!","datePublished":"2018-02-06T22:17:18+00:00","dateModified":"2025-06-14T02:28:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/"},"wordCount":682,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["docker","kubernetes","kubernetes operator","openshift"],"articleSection":["Couchbase Mobile","Couchbase Server","GoLang"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/","url":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/","name":"Introducing Couchbase Operator - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-02-06T22:17:18+00:00","dateModified":"2025-06-14T02:28:26+00:00","description":"See what is Kubernetes Operator and how does it work. Learn more about the features that are included in the Couchbase Kubernetes Operater Beta version.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/introducing-couchbase-operator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Couchbase Operator: Running Couchbase Natively on Kubernetes and OpenShift Platform &#8211; Beta Announcement!!"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/ed8c1d98490712a9c8fd5a9e066c61db","name":"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/86e4570d5755b073087333983950b3a0","url":"https:\/\/secure.gravatar.com\/avatar\/7a4ec23feb4ba1eed5342b1010841d36c47c1f330c26d85b3b8340b8f89ea3d7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7a4ec23feb4ba1eed5342b1010841d36c47c1f330c26d85b3b8340b8f89ea3d7?s=96&d=mm&r=g","caption":"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database"},"description":"Anil Kumar is the Director of Product Management at Couchbase. Anil\u2019s career spans more than 19+ years of building software products across various domains, including enterprise software and cloud services. He is a hands-on product leader responsible for Couchbase Server, Couchbase Cloud, and Kubernetes product lines, including evangelizing the product strategy and vision with customers, partners, developers, and analysts. Before joining Couchbase, Anil spent several years working at Microsoft Redmond. Anil holds a master\u2019s degree in computer science from the University of Toronto (Canada) and a bachelor\u2019s in information technology from Visvesvaraya Technological University (India).","sameAs":["https:\/\/x.com\/@anilkumar1129"],"url":"https:\/\/www.couchbase.com\/blog\/author\/anil-kumar\/"}]}},"authors":[{"term_id":8952,"user_id":8,"is_guest":0,"slug":"anil-kumar","display_name":"Anil Kumar, Director Product Management, Couchbase Cloud-Native Database","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/7a4ec23feb4ba1eed5342b1010841d36c47c1f330c26d85b3b8340b8f89ea3d7?s=96&d=mm&r=g","author_category":"","last_name":"Kumar, Director Product Management, Couchbase Cloud-Native Database","first_name":"Anil","job_title":"","user_url":"","description":"Anil Kumar is the Director of Product Management at Couchbase. Anil\u2019s career spans more than 19+ years of building software products across various domains, including enterprise software and cloud services. He is a hands-on product leader responsible for Couchbase Server, Couchbase Cloud, and Kubernetes product lines, including evangelizing the product strategy and vision with customers, partners, developers, and analysts. Before joining Couchbase, Anil spent several years working at Microsoft Redmond. Anil holds a master\u2019s degree in computer science from the University of Toronto (Canada) and a bachelor\u2019s in information technology from Visvesvaraya Technological University (India)."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=4563"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4563\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=4563"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=4563"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=4563"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=4563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}