{"id":2052,"date":"2017-01-02T22:28:27","date_gmt":"2017-01-02T22:28:26","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2052"},"modified":"2023-08-14T00:05:21","modified_gmt":"2023-08-14T07:05:21","slug":"couchbase-on-openshift-3","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-3\/","title":{"rendered":"Couchbase no OpenShift 3"},"content":{"rendered":"<p class=\"p1\"><a href=\"https:\/\/www.openshift.com\/\">OpenShift<\/a> \u00e9 a plataforma PaaS de c\u00f3digo aberto da Red Hat. <a href=\"https:\/\/www.openshift.org\/\">OpenShift 3<\/a>\u00a0fornece uma experi\u00eancia hol\u00edstica de execu\u00e7\u00e3o de seus aplicativos usando o Docker e o Kubernetes. Em um estilo cl\u00e1ssico da Red Hat, todo o trabalho \u00e9 feito no c\u00f3digo aberto em <a href=\"https:\/\/github.com\/openshift\/origin\">Origem do OpenShift<\/a>. Isso tamb\u00e9m impulsiona a pr\u00f3xima vers\u00e3o principal do <a href=\"https:\/\/www.openshift.com\/products\/online\">OpenShift Online <\/a>e <a href=\"https:\/\/www.openshift.com\/products\/enterprise\">OpenShift Enterprise<\/a>.<\/p>\n<p class=\"p1\">O OpenShift 3, que usa o Docker e o Kubernetes para orquestra\u00e7\u00e3o de cont\u00eaineres, simplifica muito a execu\u00e7\u00e3o de qualquer produto que tenha uma imagem do Docker com o m\u00ednimo de esfor\u00e7o. Este blog explica como come\u00e7ar a usar o <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/developers\/\">Couchbase<\/a> no OpenShift 3.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"OpenShift-logo\" class=\"alignnone wp-image-11092\" height=\"130\" src=\"\/wp-content\/original-assets\/december-2015\/couchbase-on-openshift-3\/openshift-logo.png\" width=\"130\" \/><img loading=\"lazy\" decoding=\"async\" alt=\"Couchbase Logo\" class=\"alignnone wp-image-13243\" height=\"97\" src=\"\/wp-content\/original-assets\/december-2015\/couchbase-on-openshift-3\/couchbase-logo-1-e1450329453533.png\" width=\"371\" \/><\/p>\n<h2>Primeiros passos com o OpenShift 3<\/h2>\n<ul>\n<li>Fa\u00e7a o download da vers\u00e3o mais recente <a href=\"https:\/\/drive.google.com\/uc?export=download&amp;id=0Bzan56EkcOsxQmNWQ3hKd3haTFE\">Caixa Vagrant<\/a>\u00a0(1,1 no momento da reda\u00e7\u00e3o deste texto) e <a href=\"https:\/\/drive.google.com\/uc?export=download&amp;id=0Bzan56EkcOsxLUJQLUJmYllFRFk\">Vagrantfile<\/a> de: <a href=\"https:\/\/www.openshift.org\/vm\/\">openshift.org\/vm\/<\/a>. Copie-os no mesmo diret\u00f3rio.\n<p> O Vagrantfile est\u00e1 configurado para 2 GB de mem\u00f3ria e pode ser atualizado se voc\u00ea precisar executar mais cont\u00eaineres. O OpenShift Master, o Node, o Docker Registry e outros componentes s\u00e3o executados dentro da VM.<\/p>\n<p> Este blog foi escrito usando o Vagrant 1.7.4 e o VirtualBox 5.0.10r104061.<\/li>\n<li>Adicione a Vagrant Box:\n<pre class=\"lang:default decode:true\">\r\nvagrant box add --name openshift3 openshift-bootstrap-1.1.box \r\n==&gt; box: Box file was not detected as metadata. Adding it directly...\r\n==&gt; box: Adding box &apos;openshift3&apos; (v0) for provider: \r\n    box: Unpacking necessary files from: file:\/\/\/Users\/arungupta\/tools\/openshiftv3\/1.1\/openshift-bootstrap-1.1.box\r\n==&gt; box: Successfully added box &apos;openshift3&apos; (v0) for &apos;virtualbox&apos;!<\/pre>\n<\/li>\n<li>Inicie a m\u00e1quina virtual:\n<pre class=\"lang:default decode:true\">\r\nvagrant up\r\nBringing machine &apos;default&apos; up with &apos;virtualbox&apos; provider...\r\n==&gt; default: Setting the name of the VM: openshift3\r\n==&gt; default: Clearing any previously set network interfaces...\r\n==&gt; default: Preparing network interfaces based on configuration...\r\n    default: Adapter 1: nat\r\n==&gt; default: Forwarding ports...\r\n    default: 80 =&gt; 1080 (adapter 1)\r\n    default: 443 =&gt; 1443 (adapter 1)\r\n    default: 5000 =&gt; 5000 (adapter 1)\r\n    default: 8080 =&gt; 8080 (adapter 1)\r\n    default: 8443 =&gt; 8443 (adapter 1)\r\n    default: 22 =&gt; 2222 (adapter 1)\r\n==&gt; default: Running &apos;pre-boot&apos; VM customizations...\r\n==&gt; default: Booting VM...\r\n==&gt; default: Waiting for machine to boot. This may take a few minutes...\r\n    default: SSH address: 127.0.0.1:2222\r\n    default: SSH username: vagrant\r\n    default: SSH auth method: private key\r\n    default: Warning: Connection timeout. Retrying...\r\n==&gt; default: Machine booted and ready!\r\n==&gt; default: Checking for guest additions in VM...\r\n    default: The guest additions on this VM do not match the installed version of\r\n    default: VirtualBox! In most cases this is fine, but in rare cases it can\r\n    default: prevent things such as shared folders from working properly. If you see\r\n    default: shared folder errors, please make sure the guest additions within the\r\n    default: virtual machine match the version of VirtualBox you have installed on\r\n    default: your host and reload your VM.\r\n    default: \r\n    default: Guest Additions Version: 4.3.20\r\n    default: VirtualBox Version: 5.0<\/pre>\n<\/li>\n<\/ul>\n<h2>Download e configura\u00e7\u00e3o do cliente OpenShift 3<\/h2>\n<ul>\n<li>Baixar <a href=\"https:\/\/drive.google.com\/uc?export=download&amp;id=0Bzan56EkcOsxWkRwZzdScmJBVVE\">Ferramentas de cliente Mac de 64 bits<\/a> (`gem install rhc` is for v2 only) from <a href=\"https:\/\/www.openshift.org\/vm\/\">openshift.org\/vm\/<\/a> e extra\u00ed-los em um diret\u00f3rio. A listagem tem a seguinte apar\u00eancia:\n<pre class=\"lang:default decode:true\">\r\ntar xzvf ~\/Downloads\/openshift-origin-v1.1-ac7a99a-darwin-amd64.tar.gz \r\nx .\/\r\nx .\/oadm\r\nx .\/kube-scheduler\r\nx .\/kubelet\r\nx .\/kube-apiserver\r\nx .\/openshift\r\nx .\/kube-controller-manager\r\nx .\/kube-proxy\r\nx .\/oc\r\nx .\/kubectl<\/pre>\n<\/li>\n<li>Verifique a vers\u00e3o do cliente:\n<pre class=\"lang:default decode:true\">\r\n.\/oc version\r\noc v1.1\r\nkubernetes v1.1.0-origin-1107-g4c8e6f4<\/pre>\n<\/li>\n<li>Remove `~\/.kube\/config`or rename to something else.<\/li>\n<li>Fa\u00e7a login no OpenShift:\n<pre class=\"lang:default decode:true\">\r\n.\/oc login\r\nServer [https:\/\/localhost:8443]: \r\nThe server uses a certificate signed by an unknown authority.\r\nYou can bypass the certificate check, but any data you send to the server could be intercepted by others.\r\nUse insecure connections? (y\/n): y\r\n\r\nAuthentication required for https:\/\/localhost:8443 (openshift)\r\nUsername: admin\r\nPassword: \r\nLogin successful.\r\n\r\nYou have access to the following projects and can switch between them with &apos;oc project &apos;:\r\n\r\n  * default (current)\r\n  * openshift\r\n  * turbo\r\n\r\nUsing project \"default\".\r\nWelcome! See &apos;oc help&apos; to get started.<\/pre>\n<\/li>\n<\/ul>\n<h2>Criar um aplicativo Couchbase no OpenShift 3<\/h2>\n<ul>\n<li>Crie uma nova inst\u00e2ncia do Couchbase:\n<pre class=\"lang:default decode:true\">\r\n.\/oc new-app arungupta\/couchbase\r\n--&gt; Found Docker image 9131c5a (2 days old) from Docker Hub for \"arungupta\/couchbase\"\r\n    * An image stream will be created as \"couchbase:latest\" that will track this image\r\n    * This image will be deployed in deployment config \"couchbase\"\r\n    * Ports 11207\/tcp, 11210\/tcp, 11211\/tcp, 18091\/tcp, 18092\/tcp, 8091\/tcp, 8092\/tcp, 8093\/tcp will be load balanced by service \"couchbase\"\r\n--&gt; Creating resources with label app=couchbase ...\r\n    ImageStream \"couchbase\" created\r\n    DeploymentConfig \"couchbase\" created\r\n    Service \"couchbase\" created\r\n--&gt; Success\r\n    Run &apos;oc status&apos; to view your app.<\/pre>\n<p> <code>arungupta\/couchbase<\/code> \u00e9 usado porque usa <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.0\/rest-api\/rest-endpoints-all.html\">API REST do Couchbase<\/a> para pr\u00e9-configurar o servidor Couchbase:<\/p>\n<ul>\n<li>Cota de mem\u00f3ria e \u00edndice<\/li>\n<li>Servi\u00e7o de consulta, dados e \u00edndice<\/li>\n<li>Credenciais de nome de usu\u00e1rio e senha<\/li>\n<li>Install `travel-sample` bucket<\/li>\n<\/ul>\n<p> Esse bucket de amostra ser\u00e1 usado posteriormente para consulta de dados.<\/li>\n<li>Verifique o status da implanta\u00e7\u00e3o:\n<pre class=\"lang:default decode:true\">\r\n.\/oc status\r\nIn project default on server https:\/\/localhost:8443\r\n\r\nsvc\/couchbase - 172.30.84.134 ports 8091, 8092, 8093, 11207, 11210, 11211, 18091, 18092\r\n  dc\/couchbase deploys imagestreamtag\/couchbase:latest \r\n    #1 deployed about a minute ago - 1 pod\r\n\r\nsvc\/docker-registry - 172.30.236.154:5000\r\n  dc\/docker-registry deploys docker.io\/openshift\/origin-docker-registry:v1.1 \r\n    #1 deployed 4 weeks ago - 1 pod\r\n\r\nsvc\/kubernetes - 172.30.0.1 ports 443, 53, 53\r\n\r\nsvc\/router - 172.30.233.69:80\r\n  dc\/router deploys docker.io\/openshift\/origin-haproxy-router:v1.1 \r\n    #1 deployed 4 weeks ago - 1 pod\r\n\r\nWarnings:\r\n  * container \"registry\" in pod\/docker-registry-1-imxqp has restarted 5 times\r\n  * container \"openshift-registry-proxy-1\" in pod\/openshift-registry-proxy has restarted 3 times\r\n  * container \"router\" in pod\/router-1-5grim has restarted 5 times\r\n\r\nTo see more, use &apos;oc describe \/&apos;.\r\nYou can use &apos;oc get all&apos; to see a list of other objects.<\/pre>\n<\/li>\n<li>Encontre a lista de Pods:\n<pre class=\"lang:default decode:true\">\r\nclient &gt; .\/oc get po\r\nNAME                       READY     STATUS    RESTARTS   AGE\r\ncouchbase-1-5zhju          1\/1       Running   0          1d\r\ndocker-registry-1-imxqp    1\/1       Running   5          32d\r\nopenshift-registry-proxy   1\/1       Running   3          32d\r\nrouter-1-5grim             1\/1       Running   5          32d<\/pre>\n<\/li>\n<li>Obtenha mais detalhes sobre o pod do Couchbase:\n<pre class=\"lang:default decode:true\">\r\n.\/oc describe po couchbase-1-5zhju\r\nName:    couchbase-1-5zhju\r\nNamespace:   default\r\nImage(s):   arungupta\/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f\r\nNode:    localhost.localdomain\/10.0.2.15\r\nStart Time:   Sat, 19 Dec 2015 08:19:31 -0800\r\nLabels:    app=couchbase,deployment=couchbase-1,deploymentconfig=couchbase\r\nStatus:    Running\r\nReason:    \r\nMessage:   \r\nIP:    172.17.0.7\r\nReplication Controllers: couchbase-1 (1\/1 replicas created)\r\nContainers:\r\n  couchbase:\r\n    Container ID: docker:\/\/bd51f655c2a54f92f4634b84f455ca91642a88b925be39126f07df43ce883a33\r\n    Image:  arungupta\/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f\r\n    Image ID:  docker:\/\/c9d204bb75427500ef94263f8f53e8b78f2e56efd37543e620aebb1bc1bd7de1\r\n    QoS Tier:\r\n      cpu:  BestEffort\r\n      memory:  BestEffort\r\n    State:  Running\r\n      Started:  Sat, 19 Dec 2015 08:20:21 -0800\r\n    Ready:  True\r\n    Restart Count: 0\r\n    Environment Variables:\r\nConditions:\r\n  Type  Status\r\n  Ready  True \r\nVolumes:\r\n  couchbase-volume-1:\r\n    Type: EmptyDir (a temporary directory that shares a pod&apos;s lifetime)\r\n    Medium: \r\n  default-token-cycb6:\r\n    Type: Secret (a secret that should populate this volume)\r\n    SecretName: default-token-cycb6\r\nNo events.<\/pre>\n<\/li>\n<\/ul>\n<h2>Consultar o Couchbase Sample Bucket<\/h2>\n<ul>\n<li>Fa\u00e7a login na caixa do Vagrant:\n<pre class=\"lang:default decode:true\">\r\nvagrant ssh\r\nLast login: Wed Nov 18 18:04:32 2015 from 10.0.2.2\r\n[vagrant@localhost ~]$<\/pre>\n<\/li>\n<li>Encontre uma lista de todos os cont\u00eaineres em execu\u00e7\u00e3o:\n<pre class=\"lang:default decode:true\">\r\n[vagrant@localhost ~]$ docker ps\r\nCONTAINER ID        IMAGE                                                                                                                  COMMAND                  CREATED             STATUS              PORTS                    NAMES\r\nbd51f655c2a5        arungupta\/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f                            \"\/entrypoint.sh \/opt\/\"   7 minutes ago       Up 7 minutes                                 k8s_couchbase.f96da262_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_31dbcfec\r\n8e5ef3e54d4e        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   8 minutes ago       Up 8 minutes                                 k8s_POD.d7dfee57_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_b1bcd72d\r\n0f7807f389d9        openshift\/mysql-55-centos7:latest                                                                                      \"container-entrypoint\"   15 minutes ago      Up 15 minutes                                k8s_ruby-helloworld-database.448eeefe_database-1-w51ix_turbo_91adac2f-8d66-11e5-bf15-080027c5bfa9_74ecdc59\r\n077a078e00a3        172.30.236.154:5000\/turbo\/origin-ruby-sample@sha256:c4ed12ec9817fca1fb41a5eb0c66f2edccf2e7375128fd6d64f7180207262193   \"container-entrypoint\"   16 minutes ago      Up 16 minutes                                k8s_ruby-helloworld.88353f9f_frontend-2-1lm99_turbo_42a6dd40-8d67-11e5-bf15-080027c5bfa9_d5110e41\r\ne2105f2f4ab6        openshift\/origin-haproxy-router:v1.1                                                                                   \"\/usr\/bin\/openshift-r\"   16 minutes ago      Up 16 minutes                                k8s_router.c3a638e8_router-1-5grim_default_cac8c2d2-8d63-11e5-b835-080027c5bfa9_9d49a633\r\nb98052109d08        172.30.236.154:5000\/turbo\/origin-ruby-sample@sha256:c4ed12ec9817fca1fb41a5eb0c66f2edccf2e7375128fd6d64f7180207262193   \"container-entrypoint\"   16 minutes ago      Up 16 minutes                                k8s_ruby-helloworld.88353f9f_frontend-2-hdz43_turbo_46657993-8d67-11e5-bf15-080027c5bfa9_f6394539\r\n646dcce91f59        openshift\/origin-docker-registry:v1.1                                                                                  \"\/bin\/sh -c &apos;REGISTRY\"   16 minutes ago      Up 16 minutes                                k8s_registry.35eb136e_docker-registry-1-imxqp_default_cb3dde6e-8d63-11e5-b835-080027c5bfa9_71586c07\r\nd02c8c07f690        openshift\/origin-registry-proxy                                                                                        \"sh -cx &apos;\/bin\/tcppm -\"   16 minutes ago      Up 16 minutes                                k8s_openshift-registry-proxy-1.a0457375_openshift-registry-proxy_default_767fcb12-8d64-11e5-bf15-080027c5bfa9_4c413a10\r\n23267082944f        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   17 minutes ago      Up 16 minutes                                k8s_POD.d982fd5f_database-1-w51ix_turbo_91adac2f-8d66-11e5-bf15-080027c5bfa9_8fc2969f\r\nbd7f82a88cb1        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   17 minutes ago      Up 16 minutes                                k8s_POD.e127fd63_frontend-2-1lm99_turbo_42a6dd40-8d67-11e5-bf15-080027c5bfa9_3f73ddf8\r\nd2ca01d75a0c        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   17 minutes ago      Up 16 minutes                                k8s_POD.4d0ddc3f_router-1-5grim_default_cac8c2d2-8d63-11e5-b835-080027c5bfa9_036343da\r\n5e25f5ba5c4c        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   17 minutes ago      Up 16 minutes                                k8s_POD.e127fd63_frontend-2-hdz43_turbo_46657993-8d67-11e5-bf15-080027c5bfa9_122e502e\r\n7c4b2b9e6c39        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   17 minutes ago      Up 16 minutes                                k8s_POD.cc3ffd58_docker-registry-1-imxqp_default_cb3dde6e-8d63-11e5-b835-080027c5bfa9_0ae24ed7\r\n85c4cf8d0808        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   17 minutes ago      Up 16 minutes       0.0.0.0:5000-&gt;5000\/tcp   k8s_POD.c686fded_openshift-registry-proxy_default_767fcb12-8d64-11e5-bf15-080027c5bfa9_04225f94<\/pre>\n<p> Procure o cont\u00eainer do Couchbase:<\/p>\n<pre class=\"lang:default decode:true\">\r\n[vagrant@localhost ~]$ docker ps | grep couchbase\r\nCONTAINER ID        IMAGE                                                                                                                  COMMAND                  CREATED             STATUS              PORTS                    NAMES\r\nbd51f655c2a5        arungupta\/couchbase@sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f                            \"\/entrypoint.sh \/opt\/\"   7 minutes ago       Up 7 minutes                                 k8s_couchbase.f96da262_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_31dbcfec\r\n8e5ef3e54d4e        openshift\/origin-pod:v1.1                                                                                              \"\/pod\"                   8 minutes ago       Up 8 minutes                                 k8s_POD.d7dfee57_couchbase-1-5zhju_default_48e953db-a66c-11e5-8a75-080027c5bfa9_b1bcd72d\r\n0f7807f389d9        openshift\/mysql-55-centos7:latest                                                                                      \"container-entrypoint\"   15 minutes ago      Up 15 minutes<\/pre>\n<p> Obtenha o ID do nosso cont\u00eainer:<\/p>\n<pre class=\"lang:default decode:true\">\r\ndocker ps | grep arungupta\/couchbase | awk &apos;{ print $1}&apos;\r\nbd51f655c2a5<\/pre>\n<\/li>\n<li>Obtenha o endere\u00e7o IP do pod em que o servidor Couchbase est\u00e1 sendo executado:\n<pre class=\"lang:default decode:true\">\r\n[vagrant@localhost ~]$ docker inspect --format &apos;{{ index .Config.Env 6 }}&apos; `docker ps | grep arungupta\/couchbase | awk &apos;{ print $1}&apos;`\r\nCOUCHBASE_SERVICE_HOST=172.30.84.134<\/pre>\n<\/li>\n<li>Use o endere\u00e7o IP mostrado acima para iniciar a CLI do Couchbase Query:\n<pre class=\"lang:default decode:true\">\r\n[vagrant@localhost ~]$ docker run -it arungupta\/couchbase \/opt\/couchbase\/bin\/cbq -engine=https:\/\/172.30.84.134:8093\r\nUnable to find image &apos;arungupta\/couchbase:latest&apos; locally\r\nTrying to pull repository docker.io\/arungupta\/couchbase ... latest: Pulling from arungupta\/couchbase\r\n62baed0d0de5: Already exists \r\n39387babd60f: Already exists \r\n6a2bc8404be0: Already exists \r\nbad926a6fb50: Already exists \r\n1a86c4c907e0: Already exists \r\n32132a7c82e9: Already exists \r\n646c3d5ebb71: Already exists \r\n864cbabd77ad: Already exists \r\n8c327c6d4e43: Already exists \r\n8592c697ab61: Already exists \r\n7734f4a832d4: Already exists \r\n35edb38ebc17: Already exists \r\n99f3eb6fb46f: Already exists \r\n91e5fad693c2: Already exists \r\n0cb81f5cc79b: Already exists \r\nec58df60a109: Already exists \r\nc9d204bb7542: Already exists \r\nDigest: sha256:9131c5a283d79e11b6556c94b0b0f8ceba7daf5ba5982bac850100099019959f\r\nStatus: Downloaded newer image for docker.io\/arungupta\/couchbase:latest\r\n\r\nCouchbase query shell connected to https:\/\/172.30.84.134:8093\/ . Type Ctrl-D to exit.\r\ncbq&gt;<\/pre>\n<\/li>\n<li>Consultar o bucket de amostra:\n<pre class=\"lang:default decode:true\">\r\ncbq&gt; select * from `travel-sample` limit 1;\r\n{\r\n    \"requestID\": \"a7bd414a-c571-4b22-8c81-30512b87730d\",\r\n    \"signature\": {\r\n        \"*\": \"*\"\r\n    },\r\n    \"results\": [\r\n        {\r\n            \"travel-sample\": {\r\n                \"callsign\": \"MILE-AIR\",\r\n                \"country\": \"United States\",\r\n                \"iata\": \"Q5\",\r\n                \"icao\": \"MLA\",\r\n                \"id\": 10,\r\n                \"name\": \"40-Mile Air\",\r\n                \"type\": \"airline\"\r\n            }\r\n        }\r\n    ],\r\n    \"status\": \"success\",\r\n    \"metrics\": {\r\n        \"elapsedTime\": \"123.799956ms\",\r\n        \"executionTime\": \"116.882044ms\",\r\n        \"resultCount\": 1,\r\n        \"resultSize\": 300\r\n    }\r\n}<\/pre>\n<\/li>\n<\/ul>\n<p>Aproveite! Este blog mostra os princ\u00edpios b\u00e1sicos para come\u00e7ar a usar o Couchbase no OpenShift 3. Blogs futuros mostrar\u00e3o:<\/p>\n<ul>\n<li>Como implantar um aplicativo no OpenShift e usar o Couchbase<\/li>\n<li>Como tornar esse aplicativo acess\u00edvel fora do OpenShift<\/li>\n<li>Como dimensionar o Couchbase no OpenShift<\/li>\n<li>Possivelmente outros itens interessantes que venham a surgir<\/li>\n<\/ul>\n<p>Voc\u00ea tem alguma sugest\u00e3o sobre o que gostaria de ver? \u00a0<\/p>\n<p>Leia mais sobre o Couchbase 4.1:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.1\/introduction\/whats-new.html\">O que h\u00e1 de novo no Couchbase Server 4.1<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/download\/\">Baixar o Couchbase Server 4.1<\/a><\/li>\n<li><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.1\/introduction\/intro.html\">Documenta\u00e7\u00e3o do Couchbase Server<\/a><\/li>\n<li>Entre em contato conosco pelo <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/\">F\u00f3runs do Couchbase<\/a><\/li>\n<li>Seguir <a href=\"https:\/\/twitter.com\/couchbasedev\/\">@couchbasedev<\/a> ou <a href=\"https:\/\/twitter.com\/couchbase\/\">@couchbase<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>OpenShift is Red Hat\u2019s open source PaaS platform. OpenShift 3\u00a0provides a holistic experience of running your applications\u00a0using Docker and Kubernetes. In a classic Red Hat way, all the work is done in\u00a0the open source at OpenShift Origin. This also drives [&hellip;]<\/p>","protected":false},"author":58,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[8933],"class_list":["post-2052","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase on OpenShift 3 - 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\/pt\/couchbase-on-openshift-3\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase on OpenShift 3\" \/>\n<meta property=\"og:description\" content=\"OpenShift is Red Hat\u2019s open source PaaS platform. OpenShift 3\u00a0provides a holistic experience of running your applications\u00a0using Docker and Kubernetes. In a classic Red Hat way, all the work is done in\u00a0the open source at OpenShift Origin. This also drives [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-3\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-02T22:28:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-14T07:05:21+00:00\" \/>\n<meta name=\"author\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@arungupta\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arun Gupta, VP, Developer Advocacy, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/\"},\"author\":{\"name\":\"Arun Gupta, VP, Developer Advocacy, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f\"},\"headline\":\"Couchbase on OpenShift 3\",\"datePublished\":\"2017-01-02T22:28:26+00:00\",\"dateModified\":\"2023-08-14T07:05:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/\"},\"wordCount\":420,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/\",\"name\":\"Couchbase on OpenShift 3 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-02T22:28:26+00:00\",\"dateModified\":\"2023-08-14T07:05:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase on OpenShift 3\"}]},{\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@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\/pt\/author\/arun-gupta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase on OpenShift 3 - 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\/pt\/couchbase-on-openshift-3\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase on OpenShift 3","og_description":"OpenShift is Red Hat\u2019s open source PaaS platform. OpenShift 3\u00a0provides a holistic experience of running your applications\u00a0using Docker and Kubernetes. In a classic Red Hat way, all the work is done in\u00a0the open source at OpenShift Origin. This also drives [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-on-openshift-3\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-02T22:28:26+00:00","article_modified_time":"2023-08-14T07:05:21+00:00","author":"Arun Gupta, VP, Developer Advocacy, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@arungupta","twitter_misc":{"Written by":"Arun Gupta, VP, Developer Advocacy, Couchbase","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/"},"author":{"name":"Arun Gupta, VP, Developer Advocacy, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/39d8caed0f536489b6aa6e8d31ee631f"},"headline":"Couchbase on OpenShift 3","datePublished":"2017-01-02T22:28:26+00:00","dateModified":"2023-08-14T07:05:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/"},"wordCount":420,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/","name":"Couchbase on OpenShift 3 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-02T22:28:26+00:00","dateModified":"2023-08-14T07:05:21+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-on-openshift-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase on OpenShift 3"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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, vice-presidente de defesa do desenvolvedor, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@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 \u00e9 o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experi\u00eancia na lideran\u00e7a de equipes multifuncionais para desenvolver e executar estrat\u00e9gias, planejamento e execu\u00e7\u00e3o de conte\u00fado, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e \u00e9 membro fundador da equipe Java EE. Gupta \u00e9 autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experi\u00eancia em palestras em mais de 40 pa\u00edses sobre uma infinidade de t\u00f3picos e \u00e9 um JavaOne Rock Star h\u00e1 tr\u00eas anos consecutivos. Gupta tamb\u00e9m fundou o cap\u00edtulo Devoxx4Kids nos EUA e continua a promover a educa\u00e7\u00e3o tecnol\u00f3gica entre as crian\u00e7as. Autor de v\u00e1rios livros sobre tecnologia, corredor \u00e1vido, viajante do mundo inteiro, campe\u00e3o de Java, l\u00edder de JUG, membro do NetBeans Dream Team e capit\u00e3o do Docker, ele pode ser facilmente acessado em @arungupta.","sameAs":["https:\/\/x.com\/arungupta"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/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 \u00e9 o vice-presidente de defesa do desenvolvedor na Couchbase. Ele criou e liderou comunidades de desenvolvedores por mais de 10 anos na Sun, Oracle e Red Hat. Ele tem grande experi\u00eancia na lideran\u00e7a de equipes multifuncionais para desenvolver e executar estrat\u00e9gias, planejamento e execu\u00e7\u00e3o de conte\u00fado, campanhas de marketing e programas. Antes disso, liderou equipes de engenharia na Sun e \u00e9 membro fundador da equipe Java EE.\r\n\r\nGupta \u00e9 autor de mais de 2.000 postagens em blogs sobre tecnologia. Ele tem uma vasta experi\u00eancia em palestras em mais de 40 pa\u00edses sobre diversos t\u00f3picos e \u00e9 um JavaOne Rock Star h\u00e1 tr\u00eas anos consecutivos. Gupta tamb\u00e9m fundou o cap\u00edtulo Devoxx4Kids nos EUA e continua a promover a educa\u00e7\u00e3o tecnol\u00f3gica entre as crian\u00e7as. Autor de v\u00e1rios livros sobre tecnologia, corredor \u00e1vido, viajante do mundo inteiro, campe\u00e3o de Java, l\u00edder de JUG, membro do NetBeans Dream Team e capit\u00e3o do Docker, ele pode ser facilmente acessado em @arungupta."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2052"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2052\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2052"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}