{"id":5093,"date":"2018-05-08T06:00:56","date_gmt":"2018-05-08T13:00:56","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5093"},"modified":"2024-09-12T01:27:29","modified_gmt":"2024-09-12T08:27:29","slug":"certification-of-the-couchbase-autonomous-operator","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/certification-of-the-couchbase-autonomous-operator\/","title":{"rendered":"Certificaci\u00f3n del Operador Aut\u00f3nomo Couchbase"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Couchbase Autonomous Operator te permite ejecutar despliegues de Couchbase de forma nativa en Open Source Kubernetes o Enterprise Red Hat OpenShift Container Platform. Me complace anunciar la disponibilidad de Couchbase Autonomous Operator 0.8 Beta Refresh.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ejecutar y gestionar un cl\u00faster de Couchbase es ahora mucho m\u00e1s f\u00e1cil con la introducci\u00f3n de la aplicaci\u00f3n <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/introducing-couchbase-operator\/\"><span style=\"font-weight: 400;\">Operador aut\u00f3nomo de Couchbase para Kubernetes<\/span><\/a><span style=\"font-weight: 400;\">. Ahora los usuarios pueden desplegar Couchbase sobre Kubernetes y hacer que Couchbase Autonomous Operator se encargue de gran parte de la gesti\u00f3n del cl\u00faster, como la recuperaci\u00f3n de fallos y el escalado multidimensional. Sin embargo, los usuarios pueden sentirse un poco inc\u00f3modos simplemente sent\u00e1ndose y viendo como Couchbase Autonomous Operator hace lo suyo. Para aliviar algunas de sus preocupaciones, esta serie de blog de tres partes recorrer\u00e1 las diferentes formas en que el equipo de Ingenier\u00eda de Calidad aqu\u00ed en Couchbase da a nuestros clientes la paz de la mente cuando se ejecuta Couchbase en Kubernetes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Esta serie de blogs destacar\u00e1 tres tipos de pruebas que hacemos para Couchbase en Kubernetes. El primer post de la serie se centrar\u00e1 en las pruebas manuales. El segundo post tratar\u00e1 sobre c\u00f3mo probar el Operador Aut\u00f3nomo de Couchbase. Y el tercer post mostrar\u00e1 a nuestros usuarios c\u00f3mo probar las instancias de Couchbase ellos mismos con testrunner, nuestra suite de pruebas funcionales.<\/span><\/p>\n<h4><b>Fase 1: <\/b><b>Certificaci\u00f3n manual del operador aut\u00f3nomo Couchbase<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Las pruebas manuales son a menudo aburridas en comparaci\u00f3n con la emoci\u00f3n de las pruebas automatizadas, pero con Kubernetes en realidad puede ser muy divertido. En este post vamos a caminar a trav\u00e9s de la configuraci\u00f3n de la <\/span><a href=\"https:\/\/github.com\/couchbaselabs\/try-cb-python\"><span style=\"font-weight: 400;\">Aplicaci\u00f3n de ejemplo de viajes Couchbase<\/span><\/a><span style=\"font-weight: 400;\"> con un cl\u00faster Couchbase gestionado por el operador como almac\u00e9n de datos, todo en Kubernetes. Una vez que la aplicaci\u00f3n y el cl\u00faster est\u00e9n configurados en Kubernetes, probaremos algunos escenarios de escalado y fallos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En las siguientes secciones trataremos:<\/span><\/p>\n<p>0: <span style=\"font-weight: 400;\">Requisitos previos y configuraci\u00f3n<\/span><\/p>\n<p><span style=\"font-weight: 400;\">1: Despliegue del cl\u00faster<\/span><\/p>\n<p><span style=\"font-weight: 400;\">2: Configuraci\u00f3n del cl\u00faster<\/span><\/p>\n<p><span style=\"font-weight: 400;\">3: Despliegue de aplicaciones<\/span><\/p>\n<p><span style=\"font-weight: 400;\">4: Verificaci\u00f3n<\/span><\/p>\n<h5><b>Requisitos previos y configuraci\u00f3n:<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">Para configurar esa aplicaci\u00f3n de ejemplo de viaje usando Couchbase en Kubernetes, usaremos minikube. Las instrucciones para configurar minikube se pueden encontrar aqu\u00ed: <\/span><a href=\"https:\/\/kubernetes.io\/docs\/getting-started-guides\/minikube\/\"><span style=\"font-weight: 400;\">https:\/\/kubernetes.io\/docs\/getting-started-guides\/minikube\/<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Una vez que minikube est\u00e1 configurado, es posible que desee aumentar el recuento de memoria y CPU. Usted tendr\u00e1 que traer el tablero de instrumentos Kubernetes para supervisar el cl\u00faster utilizando:<\/span><em><span style=\"font-weight: 400;\"> salpicadero minikube<\/span><\/em><\/p>\n<h5><b>Despliegue de cl\u00fasteres:<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">Despu\u00e9s de configurar minikube, necesitaremos inicializar el Couchbase Autonomous Operator y el cluster Couchbase que el operador gestionar\u00e1. El siguiente archivo YAML le dir\u00e1 al maestro de Kubernetes que cree un despliegue de Couchbase Autonomous Operator:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<pre class=\"lang:yaml decode:true\">deployment.yaml\r\n---\r\napiVersion: extensions\/v1beta1\r\nkind: Deployment\r\nmetadata:\r\n \u00a0name: couchbase-operator\r\nspec:\r\n \u00a0replicas: 1\r\n \u00a0template:\r\n \u00a0\u00a0\u00a0metadata:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0labels:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0name: couchbase-operator\r\n \u00a0\u00a0\u00a0spec:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0containers:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0- name: couchbase-operator\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0image: couchbase\/k8s-operator:0.8.0-beta\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0env:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- name: MY_POD_NAMESPACE\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0valueFrom:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fieldRef:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fieldPath: metadata.namespace\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- name: MY_POD_NAME\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0valueFrom:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fieldRef:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0fieldPath: metadata.name\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ports:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- name: readiness-port\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0containerPort: 8080\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0readinessProbe:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0httpGet:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0path: \/readyz\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0port: readiness-port\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0initialDelaySeconds: 3\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0periodSeconds: 3\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0failureThreshold: 19<\/pre>\n<p><span style=\"font-weight: 400;\">Cree un archivo llamado <em>despliegue.yaml<\/em> y enviar este YAML a Kubernetes con: <em>kubectl create -f ruta\/a\/deployment.yaml<\/em>. Tras un par de segundos, el despliegue del operador deber\u00eda aparecer en el panel de control de Kubernetes.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5097\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-1-1024x416.png\" alt=\"\" width=\"583\" height=\"237\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-1-1024x416.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-1-300x122.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-1-768x312.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-1-1536x624.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-1-2048x831.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-1-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-1-1320x536.png 1320w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/p>\n<p><em><span style=\"font-weight: 400;\">Figura 1: Estado del cl\u00faster Kubernetes tras desplegar el Operador Aut\u00f3nomo Couchbase.<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n, se debe proporcionar un secreto a Kubernetes para que el Operador Aut\u00f3nomo Couchbase pueda gestionar los nodos Couchbase.<\/span><\/p>\n<pre class=\"lang:yaml decode:true\">secret.yaml\r\n---\r\napiVersion: v1\r\nkind: Secret\r\nmetadata:\r\n \u00a0name: cb-example-auth\r\ntype: Opaque\r\ndata:\r\n \u00a0username: QWRtaW5pc3RyYXRvcg==\r\n \u00a0password: cGFzc3dvcmQ=\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Cree un archivo llamado secret.yaml y env\u00ede el secreto a Kubernetes con lo siguiente: <em>kubectl create -f ruta\/a\/secreto.yaml.<\/em><\/span><\/p>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n, vamos a crear un cl\u00faster de 2 nodos Couchbase. El siguiente YAML especifica un cluster con dos nodos, dos buckets (default y travel-sample), y todos los servicios habilitados:<\/span><\/p>\n<pre class=\"lang:yaml decode:true\">cb-cluster.yaml\r\n---\r\napiVersion: couchbase.database.couchbase.com\/v1beta1\r\nkind: CouchbaseCluster\r\nmetadata:\r\n \u00a0name: cb-example\r\nspec:\r\n \u00a0baseImage: couchbase\/server\r\n \u00a0version: enterprise-5.0.1\r\n \u00a0authSecret: cb-example-auth\r\n \u00a0exposeAdminConsole: true\r\n \u00a0paused: false\r\n \u00a0cluster:\r\n \u00a0\u00a0\u00a0dataServiceMemoryQuota: 256\r\n \u00a0\u00a0\u00a0indexServiceMemoryQuota: 256\r\n \u00a0\u00a0\u00a0searchServiceMemoryQuota: 256\r\n \u00a0\u00a0\u00a0indexStorageSetting: memory_optimized\r\n \u00a0\u00a0\u00a0autoFailoverTimeout: 10\r\n \u00a0buckets:\r\n \u00a0\u00a0\u00a0- name: default\r\n \u00a0\u00a0\u00a0\u00a0\u00a0type: couchbase\r\n \u00a0\u00a0\u00a0\u00a0\u00a0memoryQuota: 128\r\n \u00a0\u00a0\u00a0\u00a0\u00a0replicas: 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0ioPriority: high\r\n \u00a0\u00a0\u00a0\u00a0\u00a0evictionPolicy: fullEviction\r\n \u00a0\u00a0\u00a0\u00a0\u00a0conflictResolution: seqno\r\n \u00a0\u00a0\u00a0\u00a0\u00a0enableFlush: true\r\n \u00a0\u00a0\u00a0\u00a0\u00a0enableIndexReplica: false\r\n \u00a0\u00a0\u00a0- name: travel-sample\r\n \u00a0\u00a0\u00a0\u00a0\u00a0type: couchbase\r\n \u00a0\u00a0\u00a0\u00a0\u00a0memoryQuota: 128\r\n \u00a0\u00a0\u00a0\u00a0\u00a0replicas: 1\r\n \u00a0\u00a0\u00a0\u00a0\u00a0ioPriority: high\r\n \u00a0\u00a0\u00a0\u00a0\u00a0evictionPolicy: fullEviction\r\n \u00a0\u00a0\u00a0\u00a0\u00a0conflictResolution: seqno\r\n \u00a0\u00a0\u00a0\u00a0\u00a0enableFlush: true\r\n \u00a0\u00a0\u00a0\u00a0\u00a0enableIndexReplica: false\r\n \u00a0servers:\r\n \u00a0\u00a0\u00a0- size: 2\r\n \u00a0\u00a0\u00a0\u00a0\u00a0name: all_services\r\n \u00a0\u00a0\u00a0\u00a0\u00a0services:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- data\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- index\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- query\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0- search\r\n \u00a0\u00a0\u00a0\u00a0\u00a0dataPath: \/opt\/couchbase\/var\/lib\/couchbase\/data\r\n \u00a0\u00a0\u00a0\u00a0\u00a0indexPath: \/opt\/couchbase\/var\/lib\/couchbase\/data<\/pre>\n<p><span style=\"font-weight: 400;\">Enviar la configuraci\u00f3n del cl\u00faster con: <em>kubectl create -f ruta\/a\/cb-cluster.yaml<\/em>.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5098\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-2-1024x912.png\" alt=\"\" width=\"468\" height=\"417\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-2-1024x912.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-2-300x267.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-2-768x684.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-2-1536x1368.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-2-2048x1824.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-2-20x18.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-2-1320x1176.png 1320w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/p>\n<p><em><span style=\"font-weight: 400;\">Figura 2: Estado del cl\u00faster Kubernetes tras escalar a 2 nodos Couchbase.<\/span><\/em><\/p>\n<h5><b>Configuraci\u00f3n del cl\u00faster:<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">Ahora que tenemos un cl\u00faster de dos nodos gestionado por el Operador Aut\u00f3nomo de Couchbase, las actualizaciones de la configuraci\u00f3n del cl\u00faster deben realizarse en el archivo cb-cluster.yaml y reenviarse a Kubernetes. Si se realizan cambios manualmente a trav\u00e9s de la interfaz de usuario de Couchbase, el operador tomar\u00e1 medidas para realinear el cl\u00faster con la configuraci\u00f3n especificada en cb-cluster.yaml. Para realizar cambios en el cl\u00faster, primero realice los cambios en cb-cluster.yaml y, a continuaci\u00f3n, actualice Kubernetes con: <em>kubectl apply -f ruta\/a\/cb-cluster.yaml<\/em><\/span><\/p>\n<p><span style=\"font-weight: 400;\">El siguiente paso es cargar los datos de la muestra de viaje y las definiciones de \u00edndice en el bucket de muestra de viaje del cl\u00faster. El siguiente comando llamar\u00e1 a cbimport en el pod cb-example-0000: <em>kubectl exec pod cb-example-0000 -ti \/opt\/couchbase\/bin\/cbimport json -c 127.0.0.1:8091 -u Administrador -p contrase\u00f1a -b viaje-muestra -f muestra -d \/opt\/couchbase\/muestras\/viaje-muestra.zip \u00a0<\/em><\/span><\/p>\n<h5><b>Despliegue de aplicaciones:<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">El cl\u00faster ya est\u00e1 configurado, pero la aplicaci\u00f3n travel-sample no. Ahora, tenemos que construir una imagen docker que Kubernetes utilizar\u00e1 para la aplicaci\u00f3n. El dockerfile a continuaci\u00f3n bajar\u00e1 la aplicaci\u00f3n travel-sample de mi fork en github, https:\/\/github.com\/korry8911\/try-cb-python, e instalar\u00e1 todas las dependencias. El archivo travel.py ha sido modificado para esta entrada de blog para utilizar el cliente python de Kubernetes para obtener las IPs de los nodos Couchbase en ejecuci\u00f3n en el mismo espacio de nombres de Kubernetes. <\/span><\/p>\n<pre class=\"lang:python decode:true\">#travel.py (modified)\r\n#https:\/\/github.com\/korry8911\/try-cb-python\/blob\/master\/travel.py#L20\r\n\r\nconfig.load_incluster_config()\r\nv1 = client.CoreV1Api()\r\nprint(\"Finding Couchbase Nodes:\")\r\nret = v1.list_pod_for_all_namespaces(watch=False)\r\ncbip = []\r\nfor i in ret.items:\r\n \u00a0\u00a0\u00a0print(\"%s\\t%s\\t%s\" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))\r\n \u00a0\u00a0\u00a0if 'cb-example' in i.metadata.name:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0cbip.append(i.status.pod_ip)<\/pre>\n<pre class=\"lang:sh decode:true\">#Dockerfile\r\nFROM ubuntu:14.04\r\nRUN apt-get update\r\nRUN apt-get install -y gcc g++ make cmake git-core libevent-dev libev-dev libssl-dev libffi-dev psmisc iptables zip unzip python-dev python-pip vim curl\r\n\r\n# build libcouchbase\r\nRUN git clone git:\/\/github.com\/couchbase\/libcouchbase.git &amp;&amp; \\\r\n \u00a0\u00a0\u00a0mkdir libcouchbase\/build\r\n\r\nWORKDIR libcouchbase\/build\r\nRUN ..\/cmake\/configure --prefix=\/usr &amp;&amp; \\\r\n \u00a0\u00a0\u00a0\u00a0\u00a0make &amp;&amp; \\\r\n \u00a0\u00a0\u00a0\u00a0\u00a0make install\r\n\r\nWORKDIR \/\r\nRUN git clone https:\/\/github.com\/korry8911\/try-cb-python.git\r\n\r\nWORKDIR try-cb-python\r\nARG BRANCH=5.0\r\nRUN git checkout $BRANCH\r\nRUN cat travel.py\r\n\r\n# install python deps\r\nRUN pip2 install --upgrade packaging appdirs\r\nRUN pip install -U pip setuptools\r\nRUN pip install paramiko &amp;&amp;\\\r\n \u00a0\u00a0\u00a0pip install gevent &amp;&amp;\\\r\n \u00a0\u00a0\u00a0pip install boto &amp;&amp;\\\r\n \u00a0\u00a0\u00a0pip install httplib2 &amp;&amp;\\\r\n \u00a0\u00a0\u00a0pip install pyyaml &amp;&amp;\\\r\n \u00a0\u00a0\u00a0pip install couchbase\r\n\r\nRUN pip install -r requirements.txt\r\nCOPY entrypoint.sh entrypoint.sh\r\nRUN chmod +x .\/entrypoint.sh\r\nENTRYPOINT [\"sh\", \"entrypoint.sh\"]<\/pre>\n<pre class=\"lang:sh decode:true\">#entrypoint.sh\r\n#!\/bin\/bash\r\npython travel.py\r\nwhile true; do sleep 1000; done<\/pre>\n<p><span style=\"font-weight: 400;\">Construye la imagen docker de la aplicaci\u00f3n travel-sample con: <em>docker build -t your-dockerhub-handle\/travel-sample:latest<\/em>.\u00a0<\/span><span style=\"font-weight: 400;\">La imagen docker necesita ser cargada en el nodo trabajador Kubernetes. La forma m\u00e1s f\u00e1cil de hacerlo es tirando de la imagen desde dockerhub. Empuje la imagen travel-sample con:\u00a0<\/span><em><span style=\"font-weight: 400;\">docker push your-dockerhub-handle\/travel-sample:latest.<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400;\">La configuraci\u00f3n de la aplicaci\u00f3n travel-sample se define en el siguiente archivo. Aseg\u00farate de a\u00f1adir tu docker handle.<\/span><\/p>\n<pre class=\"lang:yaml decode:true\">travel-sample.yaml \r\n---\r\napiVersion: extensions\/v1beta1\r\nkind: Deployment\r\nmetadata:\r\n \u00a0name: travel-sample\r\nspec:\r\n \u00a0replicas: 1\r\n \u00a0template:\r\n \u00a0\u00a0\u00a0metadata:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0labels:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0name: travel-sample\r\n \u00a0\u00a0\u00a0spec:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0containers:\r\n \u00a0\u00a0\u00a0\u00a0\u00a0- name: travel-sample\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0image: your-dockerhub-handle\/travel-sample:latest<\/pre>\n<p><span style=\"font-weight: 400;\">Carga la aplicaci\u00f3n de muestra de viaje con: <em>kubectl create -f ruta\/para\/viajar-muestra.yaml.<\/em><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5099\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-3-1024x912.png\" alt=\"\" width=\"453\" height=\"404\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-3-1024x912.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-3-300x267.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-3-768x684.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-3-1536x1368.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-3-2048x1824.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-3-20x18.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-3-1320x1176.png 1320w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/p>\n<p><em><span style=\"font-weight: 400;\">Figura 3: Estado del cl\u00faster Kubernetes tras desplegar la aplicaci\u00f3n de ejemplo de viaje.<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400;\">Kubernetes, por defecto, no permite el acceso a los pods desde fuera del cl\u00faster. Por lo tanto, para llegar a la aplicaci\u00f3n de muestra de viaje, se debe crear un servicio de nodo-puerto para representar el puerto en el que la aplicaci\u00f3n de muestra de viaje escucha las solicitudes entrantes.<\/span><\/p>\n<pre class=\"lang:yaml decode:true\">nodeport.yaml\r\n---\r\nkind: Service\r\napiVersion: v1\r\nmetadata:\r\n \u00a0name: travelsample\r\nspec:\r\n \u00a0type: NodePort\r\n  \u00a0ports:\r\n \u00a0\u00a0\u00a0- port: 8080\r\n \u00a0\u00a0\u00a0\u00a0\u00a0nodePort: 32000\r\n \u00a0selector:\r\n \u00a0\u00a0\u00a0name: travelsample<\/pre>\n<p><span style=\"font-weight: 400;\">Crear el servicio de nodo-puerto para el viaje-muestra con: <em>kubectl create -f ruta\/a\/nodeport.yaml.<\/em><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5100\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-4-1024x912.png\" alt=\"\" width=\"459\" height=\"409\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-4-1024x912.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-4-300x267.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-4-768x684.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-4-1536x1368.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-4-2048x1824.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-4-20x18.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-4-1320x1176.png 1320w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/p>\n<p><em><span style=\"font-weight: 400;\">Figura 4: Estado del cl\u00faster Kubernetes tras a\u00f1adir un servicio nodo-puerto.<\/span><\/em><\/p>\n<p><span style=\"font-weight: 400;\">Dado que estamos ejecutando la aplicaci\u00f3n en minikube, debemos acceder a la aplicaci\u00f3n de ejemplo de viaje ejecutando: <em>servicio minikube travelsample.<\/em><\/span><\/p>\n<h5><b>Verificaci\u00f3n:<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">Ahora que hemos jugado con la aplicaci\u00f3n travel-sample, vamos a escalar el cl\u00faster Couchbase en un nodo. Para ello, cambie el par\u00e1metro de tama\u00f1o en la secci\u00f3n del servidor del archivo cb-cluster.yaml de 2 a 3. A continuaci\u00f3n, env\u00ede los cambios a Kubernetes con: <em>kubectl apply -f ruta\/a\/cb-cluster.yaml.<\/em><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5101\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-5-1024x912.png\" alt=\"\" width=\"480\" height=\"427\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-5-1024x912.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-5-300x267.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-5-768x684.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-5-1536x1368.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-5-2048x1824.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-5-20x18.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-5-1320x1176.png 1320w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Figura 5: Estado del cl\u00faster Kubernetes tras escalar a 3 nodos Couchbase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">El cluster de Couchbase tiene ahora 3 nodos, que son suficientes para probar la caracter\u00edstica de autofailover de los Operadores Aut\u00f3nomos de Couchbase. Vamos a matar un nodo de Couchbase para simular un escenario de fallo y ver c\u00f3mo el Operador Aut\u00f3nomo de Couchbase reequilibra autom\u00e1ticamente un nuevo nodo en el cl\u00faster. Elimine un pod de Couchbase accediendo a Pods en el panel de control de Kubernetes y eliminando el pod cb-example-0002.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Despu\u00e9s del per\u00edodo de tiempo de espera de autofailover de 10 segundos, el Operador Aut\u00f3nomo de Couchbase expulsar\u00e1 el nodo fallido del cl\u00faster, inicializar\u00e1 un nuevo nodo, y reequilibrar\u00e1 el nodo en el cl\u00faster. Durante este proceso, los usuarios pueden jugar con la aplicaci\u00f3n de ejemplo de viaje sin ninguna interrupci\u00f3n del servicio.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5102\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-6-1024x912.png\" alt=\"\" width=\"494\" height=\"440\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-6-1024x912.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-6-300x267.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-6-768x684.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-6-1536x1368.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-6-2048x1824.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-6-20x18.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/diagram1-6-1320x1176.png 1320w\" sizes=\"auto, (max-width: 494px) 100vw, 494px\" \/><\/p>\n<p><em><span style=\"font-weight: 400;\">Figura 6: Estado del cl\u00faster Kubernetes tras la recuperaci\u00f3n de un fallo en un nodo Couchbase.<\/span><\/em><\/p>\n<h5><b>Conclusi\u00f3n:<\/b><\/h5>\n<p><span style=\"font-weight: 400;\">El Operador Aut\u00f3nomo Couchbase elimina muchas de las molestias de ejecutar un cl\u00faster Couchbase en <\/span><span style=\"font-weight: 400;\">Open Source Kubernetes y\/o Enterprise Red Hat OpenShift Container Platform. El estado deseado del cl\u00faster se mantiene autom\u00e1ticamente incluso ante el fallo de un nodo. La certificaci\u00f3n manual de la funci\u00f3n de recuperaci\u00f3n de nodos es divertida pero se requieren m\u00e1s pruebas. En el pr\u00f3ximo post profundizaremos en nuestro enfoque de pruebas funcionales para otras caracter\u00edsticas del Operador Aut\u00f3nomo Couchbase.<\/span><\/p>\n<h2>\u00bfListo para comprobar la Beta?<\/h2>\n<ul>\n<li>Es f\u00e1cil conseguir la versi\u00f3n beta siguiendo los siguientes pasos\u00a0<a href=\"https:\/\/docs.couchbase.com\/prerelease\/couchbase-operator\/beta\/prerequisiteAndSetup.html\">Requisitos previos y configuraci\u00f3n<\/a>\u00a0para desplegar Couchbase Operator en la plataforma Kubernetes u OpenShift.<\/li>\n<li>Enlace a Dockerfile\n<ul>\n<li>Servidor Couchbase -\u00a0<a href=\"https:\/\/hub.docker.com\/_\/couchbase\/\">https:\/\/hub.docker.com\/_\/couchbase\/\u00a0<\/a><\/li>\n<li>Operador Couchbase -\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>Si tiene alguna pregunta, comentario u opini\u00f3n adicional, deje un comentario a continuaci\u00f3n o publ\u00edquelo en\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/\">https:\/\/www.couchbase.com\/forums\/<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>The Couchbase Autonomous Operator enables you to run Couchbase deployments natively on Open Source Kubernetes or Enterprise Red Hat OpenShift Container Platform. I&#8217;m excited to announce the availability of the Couchbase Autonomous Operator 0.8 Beta Refresh today! Running and managing [&hellip;]<\/p>","protected":false},"author":13828,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1821,1816],"tags":[],"ppma_author":[9069],"class_list":["post-5093","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Certification of the Couchbase Autonomous Operator<\/title>\n<meta name=\"description\" content=\"The post focuses on the availability of the Couchbase Autonomous Operator 0.8 Beta enables running Couchbase deployments natively on Open Source Kubernetes.\" \/>\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\/certification-of-the-couchbase-autonomous-operator\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Certification of the Couchbase Autonomous Operator\" \/>\n<meta property=\"og:description\" content=\"The post focuses on the availability of the Couchbase Autonomous Operator 0.8 Beta enables running Couchbase deployments natively on Open Source Kubernetes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/certification-of-the-couchbase-autonomous-operator\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-08T13:00:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-12T08:27:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-1-1024x416.png\" \/>\n<meta name=\"author\" content=\"Korrigan Clark\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Korrigan Clark\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/\"},\"author\":{\"name\":\"Korrigan Clark\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7c204a2d8fcb7858db7ab30e0a02fee8\"},\"headline\":\"Certification of the Couchbase Autonomous Operator\",\"datePublished\":\"2018-05-08T13:00:56+00:00\",\"dateModified\":\"2024-09-12T08:27:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/\"},\"wordCount\":1261,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/\",\"name\":\"Certification of the Couchbase Autonomous Operator\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-05-08T13:00:56+00:00\",\"dateModified\":\"2024-09-12T08:27:29+00:00\",\"description\":\"The post focuses on the availability of the Couchbase Autonomous Operator 0.8 Beta enables running Couchbase deployments natively on Open Source Kubernetes.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-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\/certification-of-the-couchbase-autonomous-operator\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Certification of the Couchbase Autonomous Operator\"}]},{\"@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\/7c204a2d8fcb7858db7ab30e0a02fee8\",\"name\":\"Korrigan Clark\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/0ebfb10631fa5355ed00af2eb7ca5911\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/17fb5623a0f44f54900424157335e2135c62a342f12a14cabe152a9d6034fd4d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/17fb5623a0f44f54900424157335e2135c62a342f12a14cabe152a9d6034fd4d?s=96&d=mm&r=g\",\"caption\":\"Korrigan Clark\"},\"description\":\"Korrigan Clark is a Software Engineer in Test at Couchbase.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/korrigan-clark\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Certificaci\u00f3n del Operador Aut\u00f3nomo Couchbase","description":"El post se centra en la disponibilidad de Couchbase Autonomous Operator 0.8 Beta que permite ejecutar despliegues de Couchbase de forma nativa en Open Source Kubernetes.","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\/certification-of-the-couchbase-autonomous-operator\/","og_locale":"es_MX","og_type":"article","og_title":"Certification of the Couchbase Autonomous Operator","og_description":"The post focuses on the availability of the Couchbase Autonomous Operator 0.8 Beta enables running Couchbase deployments natively on Open Source Kubernetes.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/certification-of-the-couchbase-autonomous-operator\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-05-08T13:00:56+00:00","article_modified_time":"2024-09-12T08:27:29+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/diagram1-1-1024x416.png","type":"","width":"","height":""}],"author":"Korrigan Clark","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Korrigan Clark","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/"},"author":{"name":"Korrigan Clark","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7c204a2d8fcb7858db7ab30e0a02fee8"},"headline":"Certification of the Couchbase Autonomous Operator","datePublished":"2018-05-08T13:00:56+00:00","dateModified":"2024-09-12T08:27:29+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/"},"wordCount":1261,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Best Practices and Tutorials","Couchbase Architecture","Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/","url":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/","name":"Certificaci\u00f3n del Operador Aut\u00f3nomo Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-05-08T13:00:56+00:00","dateModified":"2024-09-12T08:27:29+00:00","description":"El post se centra en la disponibilidad de Couchbase Autonomous Operator 0.8 Beta que permite ejecutar despliegues de Couchbase de forma nativa en Open Source Kubernetes.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-operator\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/certification-of-the-couchbase-autonomous-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\/certification-of-the-couchbase-autonomous-operator\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Certification of the Couchbase Autonomous Operator"}]},{"@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\/7c204a2d8fcb7858db7ab30e0a02fee8","name":"Korrigan Clark","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/0ebfb10631fa5355ed00af2eb7ca5911","url":"https:\/\/secure.gravatar.com\/avatar\/17fb5623a0f44f54900424157335e2135c62a342f12a14cabe152a9d6034fd4d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/17fb5623a0f44f54900424157335e2135c62a342f12a14cabe152a9d6034fd4d?s=96&d=mm&r=g","caption":"Korrigan Clark"},"description":"Korrigan Clark es Ingeniero de Software en Pruebas en Couchbase.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/korrigan-clark\/"}]}},"authors":[{"term_id":9069,"user_id":13828,"is_guest":0,"slug":"korrigan-clark","display_name":"Korrigan Clark","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/17fb5623a0f44f54900424157335e2135c62a342f12a14cabe152a9d6034fd4d?s=96&d=mm&r=g","author_category":"","last_name":"Clark","first_name":"Korrigan","job_title":"","user_url":"","description":"Korrigan Clark es Ingeniero de Software en Pruebas en Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/5093","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\/13828"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=5093"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/5093\/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=5093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=5093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=5093"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=5093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}