{"id":2185,"date":"2017-01-03T19:36:36","date_gmt":"2017-01-03T19:36:36","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2185"},"modified":"2019-05-08T08:51:49","modified_gmt":"2019-05-08T15:51:49","slug":"kubernetes-cluster-google-cloud-expose-service","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/kubernetes-cluster-google-cloud-expose-service\/","title":{"rendered":"Cl\u00faster Kubernetes en Google Cloud y exponer el servicio Couchbase"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-12277\" src=\"\/wp-content\/original-assets\/kubernetes-logo.png\" alt=\"kubernetes-logo\" width=\"154\" height=\"136\" \/><\/p>\n<p>Este blog es parte de una serie de blogs de varias partes que muestra c\u00f3mo ejecutar sus aplicaciones en Kubernetes. Se utilizar\u00e1 el\u00a0<a href=\"https:\/\/developer.couchbase.com\/server\">Couchbase<\/a>una base de datos documental distribuida NoSQL de c\u00f3digo abierto, como contenedor Docker.<\/p>\n<p>La primera parte (<a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-on-kubernetes\/\">Couchbase en Kubernetes<\/a>) se explica c\u00f3mo iniciar el cl\u00faster Kubernetes utilizando Vagrant. La segunda parte (<a href=\"https:\/\/www.couchbase.com\/blog\/es\/kubernetes-cluster-amazon-expose-service\/\">Kubernetes en Amazon<\/a>) explic\u00f3 c\u00f3mo ejecutar esa configuraci\u00f3n en Amazon Web Services.<\/p>\n<p>Esta tercera parte lo demostrar\u00e1:<\/p>\n<ul>\n<li>C\u00f3mo configurar e iniciar el cl\u00faster Kubernetes en Google Cloud<\/li>\n<li>Ejecutar el contenedor Docker en el cl\u00faster Kubernetes<\/li>\n<li>Exponer Pod en Kubernetes como Servicio<\/li>\n<li>Apagar el cl\u00faster<\/li>\n<\/ul>\n<p>He aqu\u00ed un breve resumen:<\/p>\n<p><a href=\"\/wp-content\/original-assets\/march-2016\/kubernetes-cluster-on-google-cloud-and-expose-couchbase-service\/kubernetes-cluster-google-cloud-couchbase-1024x600.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13718\" src=\"\/wp-content\/original-assets\/march-2016\/kubernetes-cluster-on-google-cloud-and-expose-couchbase-service\/kubernetes-cluster-google-cloud-couchbase-1024x600.png\" alt=\"Kubernetes Cluster on Google Cloud\" width=\"604\" height=\"354\" \/><\/a><\/p>\n<p>Entremos en detalles.<\/p>\n<p><a href=\"https:\/\/kubernetes.io\/v1.1\/docs\/getting-started-guides\/gce.html\">Introducci\u00f3n a Google Compute Engine<\/a>\u00a0proporcionan instrucciones detalladas sobre c\u00f3mo configurar Kubernetes en Google Cloud.<\/p>\n<h2>Descargar y configurar Google Cloud SDK<\/h2>\n<p>Hay un poco de configuraci\u00f3n necesaria si nunca has accedido a Google Cloud en su m\u00e1quina. Esto fue un poco abrumador y deseo se puede simplificar.<\/p>\n<ul>\n<li>Crear una cuenta facturable en <a href=\"https:\/\/cloud.google.com\/\">Nube de Google<\/a><\/li>\n<li>Instale <a href=\"https:\/\/cloud.google.com\/sdk\/\">SDK de Google Cloud<\/a><\/li>\n<li>Configurar credenciales: gcloud auth login<\/li>\n<li>Crea un nuevo proyecto de Google Cloud y n\u00f3mbralo <code>couchbase-on-kubernetes<\/code><\/li>\n<li>Fija el proyecto: <code>gcloud config set project couchbase-on-kubernetes<\/code><\/li>\n<li>Establecer zona por defecto:\u00a0<code>gcloud config set compute\/zone us-central1-a<\/code><\/li>\n<li>Crea una instancia:\u00a0<code>gcloud compute instances create example-instance --machine-type n1-standard-1 --image debian-8<\/code><\/li>\n<li>SSH en la instancia:\u00a0<code>gcloud compute ssh ejemplo-instancia<\/code><\/li>\n<li>Elimina la instancia: <code>gcloud compute instances delete ejemplo-instancia<\/code><\/li>\n<\/ul>\n<h2>Configuraci\u00f3n del cl\u00faster Kubernetes en Google Cloud<\/h2>\n<p>El cl\u00faster Kubernetes se puede crear en Google Cloud como:<\/p>\n<pre class=\"lang:default decode:true\">set KUBERNETES_PROVIDER=gce\r\n.\/cluster\/kube-up.sh<\/pre>\n<p>Aseg\u00farese de que <code>KUBERNETES_PROVIDER<\/code> se establece en <code>gce<\/code> o no establecerlo en absoluto. Por defecto, esto aprovisiona un cl\u00faster Kubernetes de 4 nodos con un maestro. Esto significa que se crean 5 m\u00e1quinas virtuales.<\/p>\n<p>Si ha descargado Kubernetes desde <a href=\"https:\/\/github.com\/kubernetes\/kubernetes\/releases\">github.com\/kubernetes\/kubernetes\/releases<\/a>todos los valores pueden modificarse en\u00a0<code>cluster\/aws\/config-default.sh<\/code>.<\/p>\n<p>Iniciar Kubernetes en Google Cloud muestra el siguiente registro. Google Cloud SDK se comportaba un poco raro, pero tomando los valores predeterminados parecen funcionar:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kube-up.sh\r\n... Iniciando cluster usando proveedor: gce\r\n... llamando a verify-prereqs\r\nHa especificado componentes individuales para actualizar.  Si est\u00e1 intentando\r\n instalar nuevos componentes, utilice:\r\n  $ gcloud components install alpha\r\n\r\n\u00bfDesea ejecutar install en su lugar (s\u00ed\/no)?  \r\n\r\n\r\n\r\nSu versi\u00f3n actual de Cloud SDK es: 99.0.0\r\nInstalaci\u00f3n de componentes de la versi\u00f3n: 99.0.0\r\n\r\n\u250c\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\u2510\r\n\u2502 Se instalar\u00e1n estos componentes.      \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 Nombre \u2502 Versi\u00f3n \u2502 Tama\u00f1o \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 gcloud Alpha Comandos \u2502 2016.01.12 \u2502 &lt; 1 MiB \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n\r\nPara las \u00faltimas notas de la versi\u00f3n completa, por favor visite:\r\n  https:\/\/cloud.google.com\/sdk\/release_notes\r\n\r\n\u00bfDesea continuar (s\u00ed\/no)?  \r\n\r\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\r\n\u2560\u2550 Creaci\u00f3n del \u00e1rea de preparaci\u00f3n de actualizaciones \u2550\u2563\r\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\r\n\r\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\r\n\u2560\u2550 Creaci\u00f3n de copia de seguridad y activaci\u00f3n de nueva instalaci\u00f3n \u2550\u2563\r\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\r\n\r\nRealizando pasos de postprocesado...hecho.\r\n\r\n\u00a1Actualizaci\u00f3n realizada!\r\n\r\nHa especificado los componentes individuales que desea actualizar.  Si est\u00e1 intentando\r\n instalar nuevos componentes, utilice:\r\n  $ gcloud components install beta\r\n\r\n\u00bfDesea ejecutar install en su lugar (s\u00ed\/no)?  \r\n\r\n\r\n\r\nSu versi\u00f3n actual de Cloud SDK es: 99.0.0\r\nInstalaci\u00f3n de componentes de la versi\u00f3n: 99.0.0\r\n\r\n\u250c\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\u2510\r\n\u2502 Se instalar\u00e1n estos componentes.     \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 Nombre \u2502 Versi\u00f3n \u2502 Tama\u00f1o \u2502\r\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\r\n\u2502 gcloud Beta Comandos \u2502 2016.01.12 \u2502 &lt; 1 MiB \u2502\r\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\r\n\r\nPara las \u00faltimas notas de la versi\u00f3n completa, por favor visite:\r\n  https:\/\/cloud.google.com\/sdk\/release_notes\r\n\r\n\u00bfDesea continuar (s\u00ed\/no)?  \r\n\r\n\u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557\r\n\u2560\u2550 Creaci\u00f3n del \u00e1rea de preparaci\u00f3n de actualizaciones \u2550\u2563\r\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\r\n\u2560\u2550 Instalando: comandos beta de gcloud \u2550\u2563.\r\n\u2560\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2563\r\n\u2560\u2550 Creaci\u00f3n de copia de seguridad y activaci\u00f3n de nueva instalaci\u00f3n \u2550\u2563\r\n\u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255d\r\n\r\nRealizando pasos de postprocesado...hecho.\r\n\r\n\u00a1Actualizaci\u00f3n realizada!\r\n\r\n\r\nTodos los componentes est\u00e1n actualizados.\r\n... llamando a kube-up\r\nTu configuraci\u00f3n activa es: [default]\r\n\r\nProyecto: couchbase-on-kubernetes\r\nZona: us-central1-b\r\nCreando gs:\/\/kubernetes-staging-9479406781\r\nCreando gs:\/\/kubernetes-staging-9479406781\/...\r\n+++ tars del servidor de staging a Google Storage: gs:\/\/kubernetes-staging-9479406781\/devel\r\n+++ kubernetes-server-linux-amd64.tar.gz cargado (sha1 = 1ff42f7c31837851d919a66fc07f34b9dbdacf28)\r\n+++ kubernetes-salt.tar.gz cargado (sha1 = f307380ad6af7dabcf881b132146fa775c18dca8)\r\nBuscando recursos ya existentes\r\nIniciando master y configurando cortafuegos\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/zones\/us-central1-b\/disks\/kubernetes-master-pd].\r\nNAME ZONE SIZE_GB TYPE STATUS\r\nkubernetes-master-pd us-central1-b 20 pd-ssd READY\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/regions\/us-central1\/addresses\/kubernetes-master-ip].\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/firewalls\/default-default-ssh].\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/firewalls\/kubernetes-master-https].\r\nNOMBRE RED SRC_RANGES REGLAS SRC_TAGS TARGET_TAGS\r\ndefault-default-ssh default 0.0.0.0\/0 tcp:22\r\nNAME NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS\r\nkubernetes-master-https default 0.0.0.0\/0 tcp:443 kubernetes-master\r\n+++ Registro mediante Fluentd a gcp\r\n.\/kubernetes\/cluster\/..\/cluster\/..\/cluster\/gce\/util.sh: l\u00ednea 434: @: unbound variable\r\n.\/kubernetes\/cluster\/..\/cluster\/..\/cluster\/gce\/util.sh: l\u00ednea 434: @: unbound variable\r\n.\/kubernetes\/cluster\/..\/cluster\/..\/cluster\/gce\/util.sh: l\u00ednea 434: @: unbound variable\r\n.\/kubernetes\/cluster\/..\/cluster\/..\/cluster\/gce\/util.sh: l\u00ednea 434: @: unbound variable\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/firewalls\/default-default-internal].\r\nNAME NETWORK SRC_RANGES RULES SRC_TAGS TARGET_TAGS\r\ndefault-default-internal default 10.0.0.0\/8 tcp:1-65535,udp:1-65535,icmp\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/firewalls\/kubernetes-minion-all].\r\nNOMBRE RED SRC_RANGES REGLAS SRC_TAGS TARGET_TAGS\r\nkubernetes-minion-all default 10.244.0.0\/16 tcp,udp,icmp,esp,ah,sctp kubernetes-minion\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/zones\/us-central1-b\/instances\/kubernetes-master].\r\nNAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS\r\nkubernetes-master us-central1-b n1-standard-1 10.128.0.2 104.197.213.249 RUNNING\r\nCreando minions.\r\n.\/kubernetes\/cluster\/..\/cluster\/..\/cluster\/gce\/util.sh: l\u00ednea 434: @: unbound variable\r\n.\/kubernetes\/cluster\/..\/cluster\/..\/cluster\/gce\/util.sh: l\u00ednea 434: @: unbound variable\r\nIntento 1 para crear kubernetes-minion-template\r\nADVERTENCIA: Ha seleccionado un tama\u00f1o de disco inferior a [200GB]. Esto puede resultar en un bajo rendimiento de E\/S. Para obtener m\u00e1s informaci\u00f3n, consulte: https:\/\/developers.google.com\/compute\/docs\/disks\/persistent-disks#pdperformance.\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/instanceTemplates\/kubernetes-minion-template].\r\nNAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP\r\nkubernetes-minion-template n1-standard-1 2016-03-03T14:01:14.322-08:00\r\nCreado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/zones\/us-central1-b\/instanceGroupManagers\/kubernetes-minion-group].\r\nNAME ZONE BASE_INSTANCE_NAME SIZE TARGET_SIZE INSTANCE_TEMPLATE AUTOSCALED\r\nkubernetes-minion-group us-central1-b kubernetes-minion 4 kubernetes-minion-template\r\nEsperando a que el grupo se estabilice, operaciones actuales: creando: 4\r\nEsperando a que el grupo se estabilice, operaciones en curso: creaci\u00f3n: 4\r\nEsperando a que el grupo se estabilice, operaciones en curso: creaci\u00f3n: 4\r\nA la espera de que el grupo se estabilice, operaciones en curso: creaci\u00f3n: 4\r\nA la espera de que el grupo se estabilice, operaciones en curso: creaci\u00f3n: 4\r\nA la espera de que el grupo se estabilice, operaciones en curso: creaci\u00f3n: 4\r\nA la espera de que el grupo se estabilice, operaciones en curso: creaci\u00f3n: 3\r\nGrupo estable\r\nMINION_NAMES=kubernetes-minion-1hmm kubernetes-minion-3x1d kubernetes-minion-h1ov kubernetes-minion-nshn\r\nUsando master: kubernetes-master (IP externa: 104.197.213.249)\r\nEsperando la inicializaci\u00f3n del cluster.\r\n\r\n  Esto comprobar\u00e1 continuamente si la API para kubernetes es accesible.\r\n  Esto podr\u00eda bucle para siempre si hubo alg\u00fan error uncaught durante el arranque.\r\n  inicio.\r\n\r\nCluster Kubernetes creado.\r\ncluster &quot;couchbase-on-kubernetes_kubernetes&quot; establecido.\r\nuser &quot;couchbase-on-kubernetes_kubernetes&quot; set.\r\ncontexto &quot;couchbase-on-kubernetes_kubernetes&quot; establecido.\r\ncambio al contexto &quot;couchbase-on-kubernetes_kubernetes&quot;.\r\nusuario &quot;couchbase-on-kubernetes_kubernetes-basic-auth&quot; establecido.\r\nWrote config for couchbase-on-kubernetes_kubernetes to \/Users\/arungupta\/.kube\/config\r\n\r\nEl cl\u00faster Kubernetes se est\u00e1 ejecutando.  El maestro se est\u00e1 ejecutando en:\r\n\r\n  https:\/\/104.197.213.249\r\n\r\nEl nombre de usuario y contrase\u00f1a a utilizar se encuentra en \/Users\/arungupta\/.kube\/config.\r\n\r\n... llamando a validar-cluster\r\nEsperando 4 nodos listos. 0 nodos listos, 0 registrados. Reintentando.\r\nEsperando 4 nodos listos. 0 nodos listos, 2 registrados. Reintentando.\r\nEsperando 4 nodos listos. 0 nodos listos, 3 registrados. Reintentando.\r\nEsperando 4 nodos listos. 0 nodos listos, 4 registrados. Reintentando.\r\nEsperando 4 nodos listos. 3 nodos listos, 4 registrados. Reintentando.\r\nEsperando 4 nodos listos. 3 nodos listos, 4 registrados. Reintentando.\r\nEncontrado 4 nodo(s).\r\nNOMBRE ETIQUETAS ESTADO EDAD\r\nkubernetes-minion-1hmm kubernetes.io\/hostname=kubernetes-minion-1hmm Listo 1m\r\nkubernetes-minion-3x1d kubernetes.io\/hostname=kubernetes-minion-3x1d Listo 52s\r\nkubernetes-minion-h1ov kubernetes.io\/hostname=kubernetes-minion-h1ov Listo 1m\r\nkubernetes-minion-nshn kubernetes.io\/hostname=kubernetes-minion-nshn Listo 1m\r\nValidar salida:\r\nNOMBRE ESTADO MENSAJE ERROR\r\ncontroller-manager Sano ok nulo\r\nscheduler Sano ok nulo\r\netcd-0 Sano {&quot;health&quot;: &quot;true&quot;} nil\r\netcd-1 Sano {&quot;health&quot;: &quot;true&quot;} nil\r\nValidaci\u00f3n de cl\u00faster correcta\r\nListo, listado de servicios de cluster:\r\n\r\nEl maestro Kubernetes se ejecuta en https:\/\/104.197.213.249\r\nGLBCDefaultBackend se ejecuta en https:\/\/104.197.213.249\/api\/v1\/proxy\/namespaces\/kube-system\/services\/default-http-backend\r\nHeapster se ejecuta en https:\/\/104.197.213.249\/api\/v1\/proxy\/namespaces\/kube-system\/services\/heapster\r\nKubeDNS se ejecuta en https:\/\/104.197.213.249\/api\/v1\/proxy\/namespaces\/kube-system\/services\/kube-dns\r\nKubeUI est\u00e1 funcionando en https:\/\/104.197.213.249\/api\/v1\/proxy\/namespaces\/kube-system\/services\/kube-ui\r\nGrafana est\u00e1 funcionando en https:\/\/104.197.213.249\/api\/v1\/proxy\/namespaces\/kube-system\/services\/monitoring-grafana\r\nInfluxDB est\u00e1 funcionando en https:\/\/104.197.213.249\/api\/v1\/proxy\/namespaces\/kube-system\/services\/monitoring-influxdb<\/pre>\n<p>Hay un par de variables no vinculadas y un mensaje de ADVERTENCIA, pero eso no parece romper el script. Google Cloud Console muestra: <a href=\"\/wp-content\/original-assets\/march-2016\/kubernetes-cluster-on-google-cloud-and-expose-couchbase-service\/google-cloud-compute-instances-kubernetes-cluster-1024x166.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13715\" src=\"\/wp-content\/original-assets\/march-2016\/kubernetes-cluster-on-google-cloud-and-expose-couchbase-service\/google-cloud-compute-instances-kubernetes-cluster-1024x166.png\" alt=\"Google Cloud Compute Instances On Kubernetes Cluster\" width=\"604\" height=\"98\" \/><\/a><\/p>\n<p>Se crean cinco instancias como se muestra - una para el nodo maestro y cuatro para los nodos trabajadores.<\/p>\n<h2>Ejecutar un contenedor Docker en un cl\u00faster Kubernetes en Google Cloud<\/h2>\n<p>Ahora que el cl\u00faster est\u00e1 en marcha, obtenga una lista de todos los nodos:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh get no\r\nNOMBRE ETIQUETAS ESTADO EDAD\r\nkubernetes-minion-1hmm kubernetes.io\/hostname=kubernetes-minion-1hmm Listo 47m\r\nkubernetes-minion-3x1d kubernetes.io\/hostname=kubernetes-minion-3x1d Listo 46m\r\nkubernetes-minion-h1ov kubernetes.io\/hostname=kubernetes-minion-h1ov Listo 47m\r\nkubernetes-minion-nshn kubernetes.io\/hostname=kubernetes-minion-nshn Listo 47m<\/pre>\n<p>Muestra cuatro nodos trabajadores. Crea un pod de Couchbase:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh run couchbase --image=arungupta\/couchbase\r\nreplicationcontroller \"couchbase\" creado<\/pre>\n<p>Observe que el nombre de la imagen puede especificarse en la CLI. Este comando crea un controlador de replicaci\u00f3n con un \u00fanico pod. El pod utiliza <a href=\"https:\/\/github.com\/arun-gupta\/docker-images\/tree\/master\/couchbase\">arungupta\/couchbase<\/a> Imagen Docker que proporciona un servidor Couchbase preconfigurado. Aqu\u00ed se puede especificar cualquier imagen Docker.<\/p>\n<p>Consigue todos los recursos de RC:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh get rc\r\nCONTROLADOR CONTENEDOR(ES) IMAGEN(ES) SELECTOR R\u00c9PLICAS EDAD\r\ncouchbase couchbase arungupta\/couchbase run=couchbase 1 48s<\/pre>\n<p>Esto muestra el Controlador de Replicaci\u00f3n que se crea para usted.<\/p>\n<p>Consigue todos los Pods:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh get po\r\nNAME READY STATUS RESTARTS AGE\r\ncouchbase-s8v9r 1\/1 En ejecuci\u00f3n 0 1m<\/pre>\n<p>La salida muestra el Pod que se crea como parte del Replication Controller.<\/p>\n<p>M\u00e1s informaci\u00f3n sobre el Pod:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh describe po couchbase-s8v9r\r\nNombre: couchbase-s8v9r\r\nEspacio de nombres: default\r\nImagen(es): arungupta\/couchbase\r\nNode: kubernetes-minion-3x1d\/10.128.0.3\r\nHora de inicio: jue, 03 mar 2016 14:53:36 -0800\r\nEtiquetas: run=couchbase\r\nEstado:    En ejecuci\u00f3n\r\nRaz\u00f3n:\r\nMensaje:   \r\nIP: 10.244.3.3\r\nControladores de replicaci\u00f3n: couchbase (1\/1 r\u00e9plicas creadas)\r\nContenedores:\r\n  couchbase:\r\n    Container ID: docker:\/\/601ee2e4c822814c3969a241e37c97bf4d0d209f952f24707ab308192d289098\r\n    Imagen: arungupta\/couchbase\r\n    Image ID: docker:\/\/298618e67e495c2535abd17b60241565e456a4c9ee96c923ecf844a9dbcccced\r\n    Nivel QoS:\r\n      cpu: Burstable\r\n    Peticiones:\r\n      cpu: 100m\r\n    Estado:  En ejecuci\u00f3n\r\n      Iniciado:  Thu, 03 Mar 2016 14:54:46 -0800\r\n    Listo:  True\r\n    Recuento de reinicios: 0\r\n    Variables de entorno:\r\nCondiciones:\r\n  Tipo Estado\r\n  Listo Verdadero\r\nVol\u00famenes:\r\n  default-token-frsd7:\r\n    Tipo Secret (un secreto que debe rellenar este volumen)\r\n    SecretName: default-token-frsd7\r\nEventos:\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 {kubelet kubernetes-minion-3x1d} implicitly required container POD Pulled Container image \"gcr.io\/google_containers\/pause:0.8.0\" already present on machine\r\n  1m 1m 1 {scheduler }         Scheduled Successfully assigned couchbase-s8v9r to kubernetes-minion-3x1d\r\n  1m 1m 1 {kubelet kubernetes-minion-3x1d} implicitly required container POD Created Creado con docker id c1de9da87f1e\r\n  1m 1m 1 {kubelet kubernetes-minion-3x1d} spec.containers{couchbase}  Pulling Pulling image \"arungupta\/couchbase\"\r\n  1m 1m 1 {kubelet kubernetes-minion-3x1d} implicitly required container POD Started Started with docker id c1de9da87f1e\r\n  29s 29s 1 {kubelet kubernetes-minion-3x1d} spec.containers{couchbase}  Pulled Successfully pulled image \"arungupta\/couchbase\"\r\n  29s 29s 1 {kubelet kubernetes-minion-3x1d} spec.containers{couchbase}  Created Creado con docker id 601ee2e4c822\r\n  29s 29s 1 {kubelet kubernetes-minion-3x1d} spec.containers{couchbase}  Iniciado Iniciado con docker id 601ee2e4c822<\/pre>\n<h2>Exponer Pod en Kubernetes como Servicio<\/h2>\n<p>Ahora que nuestro pod est\u00e1 funcionando, \u00bfc\u00f3mo accedo al servidor Couchbase? Necesitas exponerlo fuera del cluster Kubernetes. El <code>kubectl exponer<\/code> toma un pod, servicio o controlador de replicaci\u00f3n y lo expone como un Servicio Kubernetes.<\/p>\n<p>Vamos a exponer el controlador de replicaci\u00f3n creado anteriormente y exponerlo:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh expose rc couchbase --target-port=8091 --port=8091 --type=LoadBalancer\r\nservicio \"couchbase\" expuesto<\/pre>\n<p>M\u00e1s informaci\u00f3n sobre el Servicio:<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kubectl.sh describe svc couchbase\r\nNombre: couchbase\r\nEspacio de nombres: default\r\nEtiquetas: run=couchbase\r\nSelector: run=couchbase\r\nTipo:   LoadBalancer\r\nIP: 10.0.37.150\r\nEntrada del LoadBalancer: 104.197.118.35\r\nPuerto: 8091\/TCP\r\nPuertoNodo: 30808\/TCP\r\nPuntos finales:  10.244.3.3:8091\r\nAfinidad de sesi\u00f3n: Ninguna\r\nEventos:\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  2m 2m 1 {service-controller }   CreatingLoadBalancer Creando balanceador de carga\r\n  1m 1m 1 {service-controller }   CreatedLoadBalancer Equilibrador de carga creado<\/pre>\n<p>En <code>Entrada del Loadbalancer<\/code> le proporciona la direcci\u00f3n IP del equilibrador de carga que ahora es de acceso p\u00fablico. Espera 3 minutos para que el equilibrador de carga se asiente. Accede a \u00e9l usando el puerto 8091 y aparecer\u00e1 la p\u00e1gina de inicio de sesi\u00f3n de la Consola Web de Couchbase: <a href=\"\/wp-content\/original-assets\/march-2016\/kubernetes-cluster-on-google-cloud-and-expose-couchbase-service\/google-cloud-kubernetes-couchbase-login-1024x718.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13717\" src=\"\/wp-content\/original-assets\/march-2016\/kubernetes-cluster-on-google-cloud-and-expose-couchbase-service\/google-cloud-kubernetes-couchbase-login-1024x718.png\" alt=\"Google Cloud Kubernetes Couchbase Login Page\" width=\"604\" height=\"424\" \/><\/a><\/p>\n<p>Introduzca las credenciales como \"Administrador\" y \"contrase\u00f1a\" para ver la Consola Web: <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-13716\" src=\"\/wp-content\/original-assets\/march-2016\/kubernetes-cluster-on-google-cloud-and-expose-couchbase-service\/google-cloud-kubernetes-couchbase-admin-console-1024x734.png\" alt=\"Google Cloud Kubernetes Couchbase Web Console\" width=\"604\" height=\"433\" \/><\/p>\n<p>Y as\u00ed acabas de acceder a tu pod fuera del cl\u00faster Kubernetes.<\/p>\n<h2>Apagar el cl\u00faster Kubernetes<\/h2>\n<p>Por \u00faltimo, apague el cl\u00faster mediante <code>cluster\/kube-down.sh<\/code> gui\u00f3n.<\/p>\n<pre class=\"lang:default decode:true\">.\/kubernetes\/cluster\/kube-down.sh\r\nDesactivaci\u00f3n del cl\u00faster utilizando el proveedor: gce\r\nHa especificado componentes individuales para actualizar.  Si est\u00e1 intentando\r\n instalar nuevos componentes, utilice:\r\n  $ gcloud components install alpha\r\n\r\n\u00bfDesea ejecutar install en su lugar (s\u00ed\/no)?  \r\n\r\n\r\nTodos los componentes est\u00e1n actualizados.\r\nHa especificado componentes individuales para actualizar.  Si est\u00e1 intentando\r\n instalar nuevos componentes, utilice:\r\n  $ gcloud components install beta\r\n\r\n\u00bfDesea ejecutar install en su lugar (s\u00ed\/no)?  \r\n\r\n\r\nTodos los componentes est\u00e1n actualizados.\r\n\r\nTodos los componentes est\u00e1n actualizados.\r\nSu configuraci\u00f3n activa es: [por defecto]\r\n\r\nProyecto: couchbase-on-kubernetes\r\nZona: us-central1-b\r\nBaja del cl\u00faster\r\nEliminado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/zones\/us-central1-b\/instanceGroupManagers\/kubernetes-minion-group].\r\nSuprimido [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/instanceTemplates\/kubernetes-minion-template].\r\nActualizado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/zones\/us-central1-b\/instances\/kubernetes-master].\r\nSuprimido [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/zones\/us-central1-b\/instances\/kubernetes-master].\r\nSuprimido [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/firewalls\/kubernetes-master-https].\r\nSuprimido [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/firewalls\/kubernetes-minion-all].\r\nDeleting routes kubernetes-ad3beb92-e18b-11e5-8e71-42010a800002\r\nEliminado [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/global\/routes\/kubernetes-ad3beb92-e18b-11e5-8e71-42010a800002].\r\nSuprimido [https:\/\/www.googleapis.com\/compute\/v1\/projects\/couchbase-on-kubernetes\/regions\/us-central1\/addresses\/kubernetes-master-ip].\r\npropiedad \"clusters.couchbase-on-kubernetes_kubernetes\" unset.\r\npropiedad \"users.couchbase-on-kubernetes_kubernetes\" unset.\r\nunset property \"users.couchbase-on-kubernetes_kubernetes-basic-auth\".\r\nproperty \"contexts.couchbase-on-kubernetes_kubernetes\" unset.\r\nproperty \"current-context\" unset.\r\nSe ha borrado la configuraci\u00f3n de couchbase-on-kubernetes_kubernetes de \/Users\/arungupta\/.kube\/config.\r\nHecho<\/pre>\n<p>\u00a1Que aproveche!<\/p>","protected":false},"excerpt":{"rendered":"<p>This blog is part of a multi-part\u00a0blog series that shows how to run your applications\u00a0on Kubernetes. It will use the\u00a0Couchbase, an open source NoSQL distributed document database, as the\u00a0\u00a0Docker container. The first part (Couchbase on Kubernetes)\u00a0explained\u00a0how to start the\u00a0Kubernetes cluster [&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":[1558,1545],"ppma_author":[8933],"class_list":["post-2185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","tag-google","tag-kubernetes"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kubernetes Cluster on Google Cloud and Expose Couchbase Service - 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\/kubernetes-cluster-google-cloud-expose-service\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kubernetes Cluster on Google Cloud and Expose Couchbase Service\" \/>\n<meta property=\"og:description\" content=\"This blog is part of a multi-part\u00a0blog series that shows how to run your applications\u00a0on Kubernetes. It will use the\u00a0Couchbase, an open source NoSQL distributed document database, as the\u00a0\u00a0Docker container. The first part (Couchbase on Kubernetes)\u00a0explained\u00a0how to start the\u00a0Kubernetes cluster [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/kubernetes-cluster-google-cloud-expose-service\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-03T19:36:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-08T15:51:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"11 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Kubernetes Cluster on Google Cloud and Expose Couchbase Service\",\"datePublished\":\"2017-01-03T19:36:36+00:00\",\"dateModified\":\"2019-05-08T15:51:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/\"},\"wordCount\":576,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"google\",\"kubernetes\"],\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/\",\"name\":\"Kubernetes Cluster on Google Cloud and Expose Couchbase Service - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-03T19:36:36+00:00\",\"dateModified\":\"2019-05-08T15:51:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#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\/kubernetes-cluster-google-cloud-expose-service\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kubernetes Cluster on Google Cloud and Expose Couchbase Service\"}]},{\"@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":"Kubernetes Cluster on Google Cloud and Expose Couchbase Service - 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\/kubernetes-cluster-google-cloud-expose-service\/","og_locale":"es_MX","og_type":"article","og_title":"Kubernetes Cluster on Google Cloud and Expose Couchbase Service","og_description":"This blog is part of a multi-part\u00a0blog series that shows how to run your applications\u00a0on Kubernetes. It will use the\u00a0Couchbase, an open source NoSQL distributed document database, as the\u00a0\u00a0Docker container. The first part (Couchbase on Kubernetes)\u00a0explained\u00a0how to start the\u00a0Kubernetes cluster [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/kubernetes-cluster-google-cloud-expose-service\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-03T19:36:36+00:00","article_modified_time":"2019-05-08T15:51:49+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"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":"11 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Kubernetes Cluster on Google Cloud and Expose Couchbase Service","datePublished":"2017-01-03T19:36:36+00:00","dateModified":"2019-05-08T15:51:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/"},"wordCount":576,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["google","kubernetes"],"articleSection":["Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/","url":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/","name":"Kubernetes Cluster on Google Cloud and Expose Couchbase Service - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-03T19:36:36+00:00","dateModified":"2019-05-08T15:51:49+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/kubernetes-cluster-google-cloud-expose-service\/#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\/kubernetes-cluster-google-cloud-expose-service\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kubernetes Cluster on Google Cloud and Expose Couchbase Service"}]},{"@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\/2185","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=2185"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2185\/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=2185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2185"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}