{"id":2472,"date":"2017-01-03T08:54:20","date_gmt":"2017-01-03T08:54:20","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2472"},"modified":"2023-06-22T06:01:46","modified_gmt":"2023-06-22T13:01:46","slug":"couchbase-on-kubernetes","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-on-kubernetes\/","title":{"rendered":"Couchbase en Kubernetes"},"content":{"rendered":"<p>\u00a1Este blog es posible gracias a este tweet!<\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\">Tuve una gran <a href=\"https:\/\/twitter.com\/hashtag\/Couchbase?src=hash\">#Cbase t\u00e1ctil<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/Kubernetes?src=hash\">#Kubernetes<\/a> sesi\u00f3n de hacking con <a href=\"https:\/\/twitter.com\/saturnism\">@saturnism<\/a>, aprend\u00ed mucho, espero con inter\u00e9s algunos blogs agradables.<\/p>\n<p>- Arun Gupta (@arungupta) <a href=\"https:\/\/twitter.com\/arungupta\/status\/703378246432231424\">27 de febrero de 2016<\/a><\/p><\/blockquote>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-12277 alignleft\" src=\"\/wp-content\/original-assets\/kubernetes-logo.png\" alt=\"kubernetes-logo\" width=\"106\" height=\"94\" \/><\/p>\n<p>Kubernetes es un sistema de orquestaci\u00f3n de c\u00f3digo abierto de Google para contenedores Docker.  Gestiona aplicaciones en contenedores a trav\u00e9s de m\u00faltiples hosts y proporciona mecanismos b\u00e1sicos para el despliegue, mantenimiento y escalado de aplicaciones. Permite al usuario proporcionar primitivas declarativas para el estado deseado, por ejemplo \"necesito 5 servidores Couchbase\". Los mecanismos de autorreparaci\u00f3n de Kubernetes, como el reinicio autom\u00e1tico, la reprogramaci\u00f3n y la replicaci\u00f3n de contenedores, garantizan que se cumpla este estado. El usuario s\u00f3lo tiene que definir el estado y Kubernetes se asegura de que se cumpla en todo momento en el cl\u00faster. <a href=\"https:\/\/blog.arungupta.me\/key-concepts-kubernetes\/\">Conceptos clave de Kubernetes<\/a>\u00a0explica los conceptos clave de Kubernetes. Esta serie de blogs de varias partes mostrar\u00e1 c\u00f3mo ejecutar <a href=\"https:\/\/developer.couchbase.com\/server\">Couchbase<\/a>\u00a0en Kubernetes de m\u00faltiples maneras. La primera parte comienza con una configuraci\u00f3n sencilla utilizando Vagrant.<\/p>\n<h2>Introducci\u00f3n a Kubernetes<\/h2>\n<p>Hay m\u00faltiples maneras de ejecutar Kubernetes, pero he encontrado la forma m\u00e1s sencilla (no necesariamente predecible ;) es ejecutar utilizando Vagrant.<\/p>\n<ul>\n<li>Descargar la \u00faltima <a href=\"https:\/\/github.com\/kubernetes\/kubernetes\/releases\/latest\">Lanzamiento de Kubernetes<\/a>1.1.8 a partir de este momento, y ampliar el archivo.<\/li>\n<li>Inicie el cl\u00faster Kubernetes como:\n<pre class=\"lang:default decode:true\">cd kubernetes\r\n\r\nexport KUBERNETES_PROVIDER=vagrant\r\n.\/cluster\/kube-up.sh<\/pre>\n<p>Esto muestra la salida como:<\/p>\n<pre class=\"lang:default decode:true\">kubernetes-1.1.8 &gt; .\/kubernetes\/cluster\/kube-up.sh \r\n... Starting cluster using provider: vagrant\r\n... calling verify-prereqs\r\n... calling kube-up\r\nBringing machine 'master' up with 'virtualbox' provider...\r\nBringing machine 'minion-1' up with 'virtualbox' provider...\r\n==&gt; master: Importing base box 'kube-fedora21'...\r\n\r\n. . .\r\n\r\nValidate output:\r\nNAME                 STATUS    MESSAGE              ERROR\r\ncontroller-manager   Healthy   ok                   nil\r\nscheduler            Healthy   ok                   nil\r\netcd-0               Healthy   {\"health\": \"true\"}   nil\r\netcd-1               Healthy   {\"health\": \"true\"}   nil\r\nCluster validation succeeded\r\nDone, listing cluster services:\r\n\r\nKubernetes master is running at https:\/\/10.245.1.2\r\nHeapster is running at https:\/\/10.245.1.2\/api\/v1\/proxy\/namespaces\/kube-system\/services\/heapster\r\nKubeDNS is running at https:\/\/10.245.1.2\/api\/v1\/proxy\/namespaces\/kube-system\/services\/kube-dns\r\nKubeUI is running at https:\/\/10.245.1.2\/api\/v1\/proxy\/namespaces\/kube-system\/services\/kube-ui\r\nGrafana is running at https:\/\/10.245.1.2\/api\/v1\/proxy\/namespaces\/kube-system\/services\/monitoring-grafana\r\nInfluxDB is running at https:\/\/10.245.1.2\/api\/v1\/proxy\/namespaces\/kube-system\/services\/monitoring-influxdb<\/pre>\n<\/li>\n<\/ul>\n<h2>Ejecutar Couchbase en Kubernetes Cluster<\/h2>\n<p>La forma m\u00e1s sencilla de empezar a ejecutar un contenedor Docker en Kubernetes es utilizando el comando <code><a href=\"https:\/\/github.com\/kubernetes\/kubernetes\/blob\/release-1.1\/docs\/user-guide\/kubectl\/kubectl_run.md\">kubectl run<\/a><\/code> comando. El uso del comando es:<\/p>\n<pre class=\"lang:default decode:true\">kubectl run NAME --image=image [--env=\"key=value\"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [flags]<\/pre>\n<p>El comando ejecuta una imagen particular, posiblemente replicada. La replicaci\u00f3n de la imagen se realiza mediante la creaci\u00f3n de un controlador de replicaci\u00f3n para gestionar el contenedor o contenedores creados. La lista completa de opciones para ejecutar este comando se puede ver usando:<\/p>\n<pre class=\"lang:default decode:true\">.\/cluster\/kubectl.sh run --help<\/pre>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-docker-container\/\">Contenedor Docker Couchbase<\/a>\u00a0explica los diferentes contenedores Docker para Couchbase. Para este blog, usaremos <code>arungupta\/couchbase<\/code> ya que est\u00e1 preconfigurado.<\/p>\n<pre class=\"lang:default decode:true\">.\/cluster\/kubectl.sh run couchbase --image=arungupta\/couchbase<\/pre>\n<p>Esto muestra la salida:<\/p>\n<pre class=\"lang:default decode:true\">replicationcontroller \"couchbase\" created<\/pre>\n<p>La salida confirma que se ha creado un controlador de replicaci\u00f3n. Vamos a verificarlo:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh get rc\r\nCONTROLLER   CONTAINER(S)   IMAGE(S)              SELECTOR        REPLICAS   AGE\r\ncouchbase    couchbase      arungupta\/couchbase   run=couchbase   1          17s<\/pre>\n<p>Ahora, comprueba las vainas:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh get po\r\nNAME              READY     STATUS    RESTARTS   AGE\r\ncouchbase-tzdhl   0\/1       Pending   0          36s<\/pre>\n<p>Comprobemos el estado del pod:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh describe pod couchbase-tzdhl\r\nName:    couchbase-tzdhl\r\nNamespace:   default\r\nImage(s):   arungupta\/couchbase\r\nNode:    10.245.1.4\/10.245.1.4\r\nStart Time:   Fri, 26 Feb 2016 18:05:10 -0800\r\nLabels:    run=couchbase\r\nStatus:    Running\r\nReason:    \r\nMessage:   \r\nIP:    10.246.67.2\r\nReplication Controllers: couchbase (1\/1 replicas created)\r\nContainers:\r\n  couchbase:\r\n    Container ID: docker:\/\/56dddb66bf60a590e588b972d5cae997ec96149066a9fb8075548c982eb14961\r\n    Image:  arungupta\/couchbase\r\n    Image ID:  docker:\/\/080e2e96b3fc22964f3dec079713cdf314e15942d6eb135395134d629e965062\r\n    QoS Tier:\r\n      cpu: Burstable\r\n    Requests:\r\n      cpu:  100m\r\n    State:  Running\r\n      Started:  Fri, 26 Feb 2016 18:05:56 -0800\r\n    Ready:  True\r\n    Restart Count: 0\r\n    Environment Variables:\r\nConditions:\r\n  Type  Status\r\n  Ready  True \r\nVolumes:\r\n  default-token-clfeb:\r\n    Type: Secret (a secret that should populate this volume)\r\n    SecretName: default-token-clfeb\r\nEvents:\r\n  FirstSeen LastSeen Count From   SubobjectPath    Reason  Message\r\n  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500   \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500    \u2500\u2500\u2500\u2500\u2500\u2500  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n  1m  1m  1 {scheduler }       Scheduled Successfully assigned couchbase-tzdhl to 10.245.1.4\r\n  1m  1m  1 {kubelet 10.245.1.4} implicitly required container POD Pulling  Pulling image \"gcr.io\/google_containers\/pause:0.8.0\"\r\n  59s  59s  1 {kubelet 10.245.1.4} implicitly required container POD Created  Created with docker id 2dac5f81f4c2\r\n  59s  59s  1 {kubelet 10.245.1.4} spec.containers{couchbase}  Pulling  Pulling image \"arungupta\/couchbase\"\r\n  59s  59s  1 {kubelet 10.245.1.4} implicitly required container POD Started  Started with docker id 2dac5f81f4c2\r\n  59s  59s  1 {kubelet 10.245.1.4} implicitly required container POD Pulled  Successfully pulled image \"gcr.io\/google_containers\/pause:0.8.0\"\r\n  19s  19s  1 {kubelet 10.245.1.4} spec.containers{couchbase}  Pulled  Successfully pulled image \"arungupta\/couchbase\"\r\n  18s  18s  1 {kubelet 10.245.1.4} spec.containers{couchbase}  Created  Created with docker id 56dddb66bf60\r\n  18s  18s  1 {kubelet 10.245.1.4} spec.containers{couchbase}  Started  Started with docker id 56dddb66bf60<\/pre>\n<p>La quinta l\u00ednea de la salida dice que la IP del nodo es 10.245.1.4. Esta direcci\u00f3n se utilizar\u00e1 m\u00e1s tarde para acceder a la consola web. La \u00faltima l\u00ednea de esta salida muestra que el pod ya est\u00e1 listo. Compruebe de nuevo el estado del pod:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh get po\r\nNAME              READY     STATUS    RESTARTS   AGE\r\ncouchbase-tzdhl   1\/1       Running   0          2m<\/pre>\n<h2>Consola web de Couchbase en cl\u00faster Kubernetes<\/h2>\n<p>Ahora que su contenedor Couchbase se est\u00e1 ejecutando en el cl\u00faster Kubernetes, es posible que desee ver el archivo <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/admin\/ui-intro.html\">Consola web<\/a>. A cada pod se le asigna una direcci\u00f3n IP \u00fanica, pero esta direcci\u00f3n s\u00f3lo es accesible dentro del cluster. Se puede exponer utilizando el <code>kubectl exponer<\/code> comando. Este comando toma un Controlador de Replicaci\u00f3n, Servicio o Pod y lo expone como un nuevo Servicio Kubernetes. Esto se puede hacer dando el comando:<\/p>\n<pre class=\"lang:default decode:true\">.\/cluster\/kubectl.sh expose rc couchbase --target-port=8091 --port=8091 --external-ip=10.245.1.4\r\nservice \"couchbase\" exposed<\/pre>\n<p>En este comando:<\/p>\n<ul>\n<li><code>--target-port<\/code> es el nombre o n\u00famero del puerto del contenedor al que el servicio debe dirigir el tr\u00e1fico<\/li>\n<li><code>--port<\/code> es el puerto en el que debe servir el servicio<\/li>\n<li><code>--external-ip<\/code> es la direcci\u00f3n IP externa a establecer para el servicio. Nota, esta direcci\u00f3n IP se obtuvo con\u00a0<code>kubectl describe pod<\/code> antes.<\/li>\n<\/ul>\n<p>Ahora, puedes acceder a la Consola Web de Couchbase en https:\/\/10.245.1.4:8091 y su aspecto es el siguiente:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-13681\" src=\"\/wp-content\/original-assets\/february-2016\/couchbase-on-kubernetes\/couchbase-kubernetes-console-landing-page.png\" alt=\"Couchbase Web Console on Kubernetes\" width=\"715\" height=\"467\" \/><br \/>\nIntroduzca las credenciales de contrase\u00f1a como <code>Administrador<\/code>\/<code>contrase\u00f1a<\/code>.<\/p>\n<p><a href=\"\/wp-content\/original-assets\/february-2016\/couchbase-on-kubernetes\/couchbase-web-console-kubernetes-main-page-1024x445.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13682\" src=\"\/wp-content\/original-assets\/february-2016\/couchbase-on-kubernetes\/couchbase-web-console-kubernetes-main-page-1024x445.png\" alt=\"Couchbase Web Console in Kubernetes\" width=\"604\" height=\"262\" \/><\/a><br \/>\n\u00a1Voil\u00e0!<br \/>\nHable con nosotros en <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/couchbase\">StackOverflow<\/a> o <a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/\">Foros de Couchbase<\/a>. Tambi\u00e9n puede seguirnos en <a href=\"https:\/\/twitter.com\/couchbasedev\">@couchbasedev<\/a> y <a href=\"https:\/\/twitter.com\/couchbase\">@couchbase<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>This blog is possible because of this tweet! Had a great #Couchbase #Kubernetes hacking session with @saturnism, learned a lot, look forward to some nice blogs. \u2014 Arun Gupta (@arungupta) February 27, 2016 Kubernetes is an open source orchestration system [&hellip;]<\/p>","protected":false},"author":58,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[8933],"class_list":["post-2472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase on Kubernetes - The Couchbase Blog<\/title>\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\/es\/couchbase-on-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase on Kubernetes\" \/>\n<meta property=\"og:description\" content=\"This blog is possible because of this tweet! Had a great #Couchbase #Kubernetes hacking session with @saturnism, learned a lot, look forward to some nice blogs. \u2014 Arun Gupta (@arungupta) February 27, 2016 Kubernetes is an open source orchestration system [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-on-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-03T08:54:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-22T13:01:46+00:00\" \/>\n<meta name=\"author\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@arungupta\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Couchbase on Kubernetes\",\"datePublished\":\"2017-01-03T08:54:20+00:00\",\"dateModified\":\"2023-06-22T13:01:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/\"},\"wordCount\":506,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/\",\"name\":\"Couchbase on Kubernetes - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-03T08:54:20+00:00\",\"dateModified\":\"2023-06-22T13:01:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#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\/couchbase-on-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase on Kubernetes\"}]},{\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\/39d8caed0f536489b6aa6e8d31ee631f\",\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g\",\"caption\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\"},\"description\":\"Arun Gupta is the vice president of developer advocacy at Couchbase. He has built and led developer communities for 10+ years at Sun, Oracle, and Red Hat. He has deep expertise in leading cross-functional teams to develop and execute strategy, planning and execution of content, marketing campaigns, and programs. Prior to that he led engineering teams at Sun and is a founding member of the Java EE team. Gupta has authored more than 2,000 blog posts on technology. He has extensive speaking experience in more than 40 countries on myriad topics and is a JavaOne Rock Star for three years in a row. Gupta also founded the Devoxx4Kids chapter in the US and continues to promote technology education among children. An author of several books on technology, an avid runner, a globe trotter, a Java Champion, a JUG leader, NetBeans Dream Team member, and a Docker Captain, he is easily accessible at @arungupta.\",\"sameAs\":[\"https:\/\/x.com\/arungupta\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/arun-gupta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase on Kubernetes - The Couchbase Blog","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\/es\/couchbase-on-kubernetes\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase on Kubernetes","og_description":"This blog is possible because of this tweet! Had a great #Couchbase #Kubernetes hacking session with @saturnism, learned a lot, look forward to some nice blogs. \u2014 Arun Gupta (@arungupta) February 27, 2016 Kubernetes is an open source orchestration system [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-on-kubernetes\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-03T08:54:20+00:00","article_modified_time":"2023-06-22T13:01:46+00:00","author":"Arun Gupta, VP, Developer Advocacy, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@arungupta","twitter_misc":{"Written by":"Arun Gupta, VP, Developer Advocacy, Couchbase","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Couchbase on Kubernetes","datePublished":"2017-01-03T08:54:20+00:00","dateModified":"2023-06-22T13:01:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/"},"wordCount":506,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/","name":"Couchbase on Kubernetes - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-03T08:54:20+00:00","dateModified":"2023-06-22T13:01:46+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-kubernetes\/#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\/couchbase-on-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase on Kubernetes"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","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":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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\/39d8caed0f536489b6aa6e8d31ee631f","name":"Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/8900a75409c646948fe0bd80f6240337","url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","caption":"Arun Gupta, VP, Developer Advocacy, Couchbase"},"description":"Arun Gupta es vicepresidente de promoci\u00f3n de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante m\u00e1s de 10 a\u00f1os en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campa\u00f1as de marketing y programas. Anteriormente dirigi\u00f3 equipos de ingenier\u00eda en Sun y es miembro fundador del equipo Java EE. Gupta es autor de m\u00e1s de 2.000 entradas de blog sobre tecnolog\u00eda. Tiene una amplia experiencia como conferenciante en m\u00e1s de 40 pa\u00edses sobre innumerables temas y es una JavaOne Rock Star desde hace tres a\u00f1os consecutivos. Gupta tambi\u00e9n fund\u00f3 el cap\u00edtulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educaci\u00f3n tecnol\u00f3gica entre los ni\u00f1os. Autor de varios libros sobre tecnolog\u00eda, \u00e1vido corredor, trotamundos, campe\u00f3n de Java, l\u00edder de JUG, miembro del Dream Team de NetBeans y capit\u00e1n de Docker, es f\u00e1cilmente accesible en @arungupta.","sameAs":["https:\/\/x.com\/arungupta"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/arun-gupta\/"}]}},"authors":[{"term_id":8933,"user_id":58,"is_guest":0,"slug":"arun-gupta","display_name":"Arun Gupta, VP, Developer Advocacy, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f912e10b5f39748ee4f1a0b0da6f42747f0b3a94fe7acb511791468656f5e726?s=96&d=mm&r=g","author_category":"","last_name":"Gupta","first_name":"Arun","job_title":"","user_url":"","description":"Arun Gupta es vicepresidente de promoci\u00f3n de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante m\u00e1s de 10 a\u00f1os en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campa\u00f1as de marketing y programas. Anteriormente dirigi\u00f3 equipos de ingenier\u00eda en Sun y es miembro fundador del equipo Java EE.\r\n\r\nGupta es autor de m\u00e1s de 2.000 entradas de blog sobre tecnolog\u00eda. Tiene una amplia experiencia como conferenciante en m\u00e1s de 40 pa\u00edses sobre innumerables temas y es una JavaOne Rock Star desde hace tres a\u00f1os consecutivos. Gupta tambi\u00e9n fund\u00f3 el cap\u00edtulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educaci\u00f3n tecnol\u00f3gica entre los ni\u00f1os. Autor de varios libros sobre tecnolog\u00eda, \u00e1vido corredor, trotamundos, campe\u00f3n de Java, l\u00edder de JUG, miembro del Dream Team de NetBeans y capit\u00e1n de Docker, es f\u00e1cilmente accesible en @arungupta."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2472"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2472\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2472"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}